available translations. They tell how people wanting to contribute and
work on translations can contact the appropriate team.
- When reporting bugs in the `intl/' directory or bugs which may be
-related to internationalization, you should tell about the version of
-`gettext' which is used. The information can be found in the
-`intl/VERSION' file, in internationalized packages.
-
-1.1 Quick configuration advice
-==============================
-
-If you want to exploit the full power of internationalization, you
-should configure it using
-
- ./configure --with-included-gettext
-
-to force usage of internationalizing routines provided within this
-package, despite the existence of internationalizing capabilities in the
-operating system where this package is being installed. So far, only
-the `gettext' implementation in the GNU C library version 2 provides as
-many features (such as locale alias, message inheritance, automatic
-charset conversion or plural form handling) as the implementation here.
-It is also not possible to offer this additional functionality on top
-of a `catgets' implementation. Future versions of GNU `gettext' will
-very likely convey even more functionality. So it might be a good idea
-to change to GNU `gettext' as soon as possible.
-
- So you need _not_ provide this option if you are using GNU libc 2 or
-you have installed a recent copy of the GNU gettext package with the
-included `libintl'.
-
-1.2 INSTALL Matters
+1.1 INSTALL Matters
===================
Some packages are "localizable" when properly installed; the programs
By default, this package will be installed to allow translation of
messages. It will automatically detect whether the system already
-provides the GNU `gettext' functions. If not, the included GNU
-`gettext' library will be used. This library is wholly contained
-within this package, usually in the `intl/' subdirectory, so prior
-installation of the GNU `gettext' package is _not_ required.
-Installers may use special options at configuration time for changing
-the default behaviour. The commands:
+provides the GNU `gettext' functions. Installers may use special
+options at configuration time for changing the default behaviour. The
+command:
- ./configure --with-included-gettext
./configure --disable-nls
-will, respectively, bypass any pre-existing `gettext' to use the
-internationalizing routines provided within this package, or else,
-_totally_ disable translation of messages.
+will _totally_ disable translation of messages.
When you already have GNU `gettext' installed on your system and run
configure without an option for your new package, `configure' will
-probably detect the previously built and installed `libintl.a' file and
-will decide to use this. This might not be desirable. You should use
-the more recent version of the GNU `gettext' library. I.e. if the file
-`intl/VERSION' shows that the library which comes with this package is
-more recent, you should use
-
- ./configure --with-included-gettext
-
-to prevent auto-detection.
-
- The configuration process will not test for the `catgets' function
-and therefore it will not be used. The reason is that even an
-emulation of `gettext' on top of `catgets' could not provide all the
-extensions of the GNU `gettext' library.
+probably detect the previously built and installed `libintl' library
+and will decide to use it. If not, you may have to to use the
+`--with-libintl-prefix' option to tell `configure' where to look for it.
Internationalized packages usually have many `po/LL.po' files, where
LL gives an ISO 639 two-letter code identifying the language. Unless
`LINGUAS' should then contain a space separated list of two-letter
codes, stating which languages are allowed.
-1.3 Using This Package
+1.2 Using This Package
======================
As a user, if your language has been installed for this package, you
only have to set the `LANG' environment variable to the appropriate
-`LL_CC' combination. Here `LL' is an ISO 639 two-letter language code,
-and `CC' is an ISO 3166 two-letter country code. For example, let's
+`LL_CC' combination. If you happen to have the `LC_ALL' or some other
+`LC_xxx' environment variables set, you should unset them before
+setting `LANG', otherwise the setting of `LANG' will not have the
+desired effect. Here `LL' is an ISO 639 two-letter language code, and
+`CC' is an ISO 3166 two-letter country code. For example, let's
suppose that you speak German and live in Germany. At the shell
prompt, merely execute `setenv LANG de_DE' (in `csh'),
`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash').
to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
(Portuguese as spoken in Portugal) in this context.
-1.4 Translating Teams
+1.3 Translating Teams
=====================
For the Free Translation Project to be a success, we need interested
able to synergize with other translators speaking the same language.
Each translation team has its own mailing list. The up-to-date list of
teams can be found at the Free Translation Project's homepage,
-`http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams"
-area.
+`http://translationproject.org/', in the "Teams" area.
If you'd like to volunteer to _work_ at translating messages, you
should become a member of the translating team for your own language.
_actively_ in translations, or at solving translational difficulties,
rather than merely lurking around. If your team does not exist yet and
you want to start one, or if you are unsure about what to do or how to
-get started, please write to `translation@iro.umontreal.ca' to reach the
-coordinator for all translator teams.
+get started, please write to `coordinator@translationproject.org' to
+reach the coordinator for all translator teams.
The English team is special. It works at improving and uniformizing
the terminology in use. Proven linguistic skills are praised more than
programming skills, here.
-1.5 Available Packages
+1.4 Available Packages
======================
Languages are not equally supported in all packages. The following
-matrix shows the current state of internationalization, as of October
-2006. The matrix shows, in regard of each package, for which languages
+matrix shows the current state of internationalization, as of June
+2010. The matrix shows, in regard of each package, for which languages
PO files have been submitted to translation coordination, with a
translation percentage of at least 50%.
- Ready PO files af am ar az be bg bs ca cs cy da de el en en_GB eo
- +----------------------------------------------------+
- GNUnet | [] |
- a2ps | [] [] [] [] [] |
- aegis | () |
- ant-phone | () |
- anubis | [] |
- ap-utils | |
- aspell | [] [] [] [] [] |
- bash | [] [] [] |
- batchelor | [] |
- bfd | |
- bibshelf | [] |
- binutils | [] |
- bison | [] [] |
- bison-runtime | |
- bluez-pin | [] [] [] [] [] |
- cflow | [] |
- clisp | [] [] |
- console-tools | [] [] |
- coreutils | [] [] [] |
- cpio | |
- cpplib | [] [] [] |
- cryptonit | [] |
- darkstat | [] () [] |
- dialog | [] [] [] [] [] [] |
- diffutils | [] [] [] [] [] [] |
- doodle | [] |
- e2fsprogs | [] [] |
- enscript | [] [] [] [] |
- error | [] [] [] [] |
- fetchmail | [] [] () [] |
- fileutils | [] [] |
- findutils | [] [] [] |
- flex | [] [] [] |
- fslint | [] |
- gas | |
- gawk | [] [] [] |
- gbiff | [] |
- gcal | [] |
- gcc | [] |
- gettext-examples | [] [] [] [] [] |
- gettext-runtime | [] [] [] [] [] |
- gettext-tools | [] [] |
- gimp-print | [] [] [] [] |
- gip | [] |
- gliv | [] |
- glunarclock | [] |
- gmult | [] [] |
- gnubiff | () |
- gnucash | () () [] |
- gnucash-glossary | [] () |
- gnuedu | |
- gnulib | [] [] [] [] [] [] |
- gnunet-gtk | |
- gnutls | |
- gpe-aerial | [] [] |
- gpe-beam | [] [] |
- gpe-calendar | |
- gpe-clock | [] [] |
- gpe-conf | [] [] |
- gpe-contacts | |
- gpe-edit | [] |
- gpe-filemanager | |
- gpe-go | [] |
- gpe-login | [] [] |
- gpe-ownerinfo | [] [] |
- gpe-package | |
- gpe-sketchbook | [] [] |
- gpe-su | [] [] |
- gpe-taskmanager | [] [] |
- gpe-timesheet | [] |
- gpe-today | [] [] |
- gpe-todo | |
- gphoto2 | [] [] [] [] |
- gprof | [] [] |
- gpsdrive | () () |
- gramadoir | [] [] |
- grep | [] [] [] [] [] [] |
- gretl | |
- gsasl | |
- gss | |
- gst-plugins | [] [] [] [] |
- gst-plugins-base | [] [] [] |
- gst-plugins-good | [] [] [] [] [] [] [] |
- gstreamer | [] [] [] [] [] [] [] |
- gtick | () |
- gtkam | [] [] [] |
- gtkorphan | [] [] |
- gtkspell | [] [] [] [] |
- gutenprint | [] |
- hello | [] [] [] [] [] |
- id-utils | [] [] |
- impost | |
- indent | [] [] [] |
- iso_3166 | [] [] |
- iso_3166_2 | |
- iso_4217 | [] |
- iso_639 | [] [] |
- jpilot | [] |
- jtag | |
- jwhois | |
- kbd | [] [] [] [] |
- keytouch | |
- keytouch-editor | |
- keytouch-keyboa... | |
- latrine | () |
- ld | [] |
- leafpad | [] [] [] [] [] |
- libc | [] [] [] [] [] |
- libexif | [] |
- libextractor | [] |
- libgpewidget | [] [] [] |
- libgpg-error | [] |
- libgphoto2 | [] [] |
- libgphoto2_port | [] [] |
- libgsasl | |
- libiconv | [] [] |
- libidn | [] [] |
- lifelines | [] () |
- lilypond | [] |
- lingoteach | |
- lynx | [] [] [] [] |
- m4 | [] [] [] [] |
- mailutils | [] |
- make | [] [] |
- man-db | [] () [] [] |
- minicom | [] [] [] |
- mysecretdiary | [] [] |
- nano | [] [] [] |
- nano_1_0 | [] () [] [] |
- opcodes | [] |
- parted | |
- pilot-qof | [] |
- psmisc | [] |
- pwdutils | |
- python | |
- qof | |
- radius | [] |
- recode | [] [] [] [] [] [] |
- rpm | [] [] |
- screem | |
- scrollkeeper | [] [] [] [] [] [] [] [] |
- sed | [] [] [] |
- sh-utils | [] [] |
- shared-mime-info | [] [] [] [] |
- sharutils | [] [] [] [] [] [] |
- shishi | |
- silky | |
- skencil | [] () |
- sketch | [] () |
- solfege | |
- soundtracker | [] [] |
- sp | [] |
- stardict | [] |
- system-tools-ba... | [] [] [] [] [] [] [] [] [] |
- tar | [] |
- texinfo | [] [] [] |
- textutils | [] [] [] |
- tin | () () |
- tp-robot | [] |
- tuxpaint | [] [] [] [] [] |
- unicode-han-tra... | |
- unicode-transla... | |
- util-linux | [] [] [] [] |
- vorbis-tools | [] [] [] [] |
- wastesedge | () |
- wdiff | [] [] [] [] |
- wget | [] [] |
- xchat | [] [] [] [] [] [] |
- xkeyboard-config | |
- xpad | [] [] |
- +----------------------------------------------------+
- af am ar az be bg bs ca cs cy da de el en en_GB eo
- 10 0 1 2 9 22 1 42 41 2 60 95 16 1 17 16
-
- es et eu fa fi fr ga gl gu he hi hr hu id is it
+ Ready PO files af am an ar as ast az be be@latin bg bn_IN bs ca
+--------------------------------------------------+
- GNUnet | |
- a2ps | [] [] [] () |
+ a2ps | [] [] |
aegis | |
- ant-phone | [] |
- anubis | [] |
- ap-utils | [] [] |
- aspell | [] [] [] |
- bash | [] [] [] |
- batchelor | [] [] |
- bfd | [] |
- bibshelf | [] [] [] |
- binutils | [] [] [] |
- bison | [] [] [] [] [] [] |
- bison-runtime | [] [] [] [] [] |
- bluez-pin | [] [] [] [] [] |
- cflow | [] |
- clisp | [] [] |
- console-tools | |
- coreutils | [] [] [] [] [] [] |
- cpio | [] [] [] |
- cpplib | [] [] |
- cryptonit | [] |
- darkstat | [] () [] [] [] |
- dialog | [] [] [] [] [] [] [] [] |
- diffutils | [] [] [] [] [] [] [] [] [] |
- doodle | [] [] |
- e2fsprogs | [] [] [] |
- enscript | [] [] [] |
- error | [] [] [] [] [] |
- fetchmail | [] |
- fileutils | [] [] [] [] [] [] |
- findutils | [] [] [] [] |
- flex | [] [] [] |
- fslint | [] |
- gas | [] [] |
- gawk | [] [] [] [] |
- gbiff | [] |
- gcal | [] [] |
- gcc | [] |
- gettext-examples | [] [] [] [] [] [] |
- gettext-runtime | [] [] [] [] [] [] |
- gettext-tools | [] [] [] |
- gimp-print | [] [] |
- gip | [] [] [] |
- gliv | () |
- glunarclock | [] [] [] |
- gmult | [] [] [] |
- gnubiff | () () |
- gnucash | () () () |
- gnucash-glossary | [] [] |
- gnuedu | [] |
- gnulib | [] [] [] [] [] [] [] [] |
+ ant-phone | |
+ anubis | |
+ aspell | [] [] |
+ bash | |
+ bfd | |
+ bibshelf | [] |
+ binutils | |
+ bison | |
+ bison-runtime | [] |
+ bluez-pin | [] [] |
+ bombono-dvd | |
+ buzztard | |
+ cflow | |
+ clisp | |
+ coreutils | [] [] |
+ cpio | |
+ cppi | |
+ cpplib | [] |
+ cryptsetup | |
+ dfarc | |
+ dialog | [] [] |
+ dico | |
+ diffutils | [] |
+ dink | |
+ doodle | |
+ e2fsprogs | [] |
+ enscript | [] |
+ exif | |
+ fetchmail | [] |
+ findutils | [] |
+ flex | [] |
+ freedink | |
+ gas | |
+ gawk | [] [] |
+ gcal | [] |
+ gcc | |
+ gettext-examples | [] [] [] [] |
+ gettext-runtime | [] [] |
+ gettext-tools | [] [] |
+ gip | [] |
+ gjay | |
+ gliv | [] |
+ glunarclock | [] [] |
+ gnubiff | |
+ gnucash | [] |
+ gnuedu | |
+ gnulib | |
+ gnunet | |
gnunet-gtk | |
gnutls | |
- gpe-aerial | [] [] |
- gpe-beam | [] [] |
+ gold | |
+ gpe-aerial | |
+ gpe-beam | |
+ gpe-bluetooth | |
gpe-calendar | |
- gpe-clock | [] [] [] [] |
- gpe-conf | [] |
- gpe-contacts | [] [] |
- gpe-edit | [] [] [] [] |
- gpe-filemanager | [] |
- gpe-go | [] [] [] |
- gpe-login | [] [] [] |
- gpe-ownerinfo | [] [] [] [] [] |
- gpe-package | [] |
- gpe-sketchbook | [] [] |
- gpe-su | [] [] [] [] |
- gpe-taskmanager | [] [] [] |
- gpe-timesheet | [] [] [] [] |
- gpe-today | [] [] [] [] |
- gpe-todo | [] |
- gphoto2 | [] [] [] [] [] |
- gprof | [] [] [] [] |
- gpsdrive | () () [] () |
- gramadoir | [] [] |
- grep | [] [] [] [] [] [] [] [] [] [] [] [] |
- gretl | [] [] [] |
- gsasl | [] [] |
- gss | [] |
- gst-plugins | [] [] [] |
- gst-plugins-base | [] [] |
- gst-plugins-good | [] [] [] |
- gstreamer | [] [] [] |
- gtick | [] |
- gtkam | [] [] [] [] |
- gtkorphan | [] [] |
- gtkspell | [] [] [] [] [] [] |
- gutenprint | [] |
- hello | [] [] [] [] [] [] [] [] [] [] [] [] [] |
- id-utils | [] [] [] [] [] |
- impost | [] [] |
- indent | [] [] [] [] [] [] [] [] [] [] |
- iso_3166 | [] [] [] |
- iso_3166_2 | [] |
- iso_4217 | [] [] [] [] |
- iso_639 | [] [] [] [] [] |
- jpilot | [] [] |
- jtag | [] |
- jwhois | [] [] [] [] [] |
- kbd | [] [] |
- keytouch | [] |
- keytouch-editor | [] |
- keytouch-keyboa... | [] |
- latrine | [] [] [] |
- ld | [] [] |
- leafpad | [] [] [] [] [] [] |
- libc | [] [] [] [] [] |
- libexif | [] |
- libextractor | [] |
- libgpewidget | [] [] [] [] [] |
+ gpe-clock | [] |
+ gpe-conf | |
+ gpe-contacts | |
+ gpe-edit | |
+ gpe-filemanager | |
+ gpe-go | |
+ gpe-login | |
+ gpe-ownerinfo | [] |
+ gpe-package | |
+ gpe-sketchbook | |
+ gpe-su | [] |
+ gpe-taskmanager | [] |
+ gpe-timesheet | [] |
+ gpe-today | [] |
+ gpe-todo | |
+ gphoto2 | |
+ gprof | [] |
+ gpsdrive | |
+ gramadoir | |
+ grep | |
+ grub | [] [] |
+ gsasl | |
+ gss | |
+ gst-plugins-bad | [] |
+ gst-plugins-base | [] |
+ gst-plugins-good | [] |
+ gst-plugins-ugly | [] |
+ gstreamer | [] [] [] |
+ gtick | |
+ gtkam | [] |
+ gtkorphan | [] |
+ gtkspell | [] [] [] |
+ gutenprint | |
+ hello | [] |
+ help2man | |
+ hylafax | |
+ idutils | |
+ indent | [] [] |
+ iso_15924 | |
+ iso_3166 | [] [] [] [] [] [] [] |
+ iso_3166_2 | |
+ iso_4217 | |
+ iso_639 | [] [] [] [] |
+ iso_639_3 | |
+ jwhois | |
+ kbd | |
+ keytouch | [] |
+ keytouch-editor | |
+ keytouch-keyboa... | [] |
+ klavaro | [] |
+ latrine | |
+ ld | [] |
+ leafpad | [] [] |
+ libc | [] [] |
+ libexif | () |
+ libextractor | |
+ libgnutls | |
+ libgpewidget | |
libgpg-error | |
- libgphoto2 | [] [] [] |
- libgphoto2_port | [] [] |
- libgsasl | [] [] |
- libiconv | [] [] |
- libidn | [] [] |
- lifelines | () |
- lilypond | [] |
- lingoteach | [] [] [] |
- lynx | [] [] [] |
- m4 | [] [] [] [] |
- mailutils | [] [] |
- make | [] [] [] [] [] [] [] [] |
- man-db | () |
- minicom | [] [] [] [] |
- mysecretdiary | [] [] [] |
- nano | [] [] [] [] [] [] |
- nano_1_0 | [] [] [] [] [] |
- opcodes | [] [] [] [] |
- parted | [] [] [] [] |
- pilot-qof | |
- psmisc | [] [] [] |
+ libgphoto2 | |
+ libgphoto2_port | |
+ libgsasl | |
+ libiconv | [] |
+ libidn | |
+ lifelines | |
+ liferea | [] [] |
+ lilypond | |
+ linkdr | [] |
+ lordsawar | |
+ lprng | |
+ lynx | [] |
+ m4 | |
+ mailfromd | |
+ mailutils | |
+ make | |
+ man-db | |
+ man-db-manpages | |
+ minicom | |
+ mkisofs | |
+ myserver | |
+ nano | [] [] |
+ opcodes | |
+ parted | |
+ pies | |
+ popt | |
+ psmisc | |
+ pspp | [] |
pwdutils | |
- python | |
- qof | [] |
- radius | [] [] |
- recode | [] [] [] [] [] [] [] [] |
- rpm | [] [] |
+ radius | [] |
+ recode | [] [] |
+ rosegarden | |
+ rpm | |
+ rush | |
+ sarg | |
screem | |
- scrollkeeper | [] [] [] |
- sed | [] [] [] [] [] |
- sh-utils | [] [] [] [] [] [] [] |
- shared-mime-info | [] [] [] [] [] [] |
- sharutils | [] [] [] [] [] [] [] [] |
+ scrollkeeper | [] [] [] |
+ sed | [] [] |
+ sharutils | [] [] |
shishi | |
- silky | [] |
- skencil | [] [] |
- sketch | [] [] |
- solfege | [] |
- soundtracker | [] [] [] |
- sp | [] |
- stardict | [] |
- system-tools-ba... | [] [] [] [] [] [] [] [] |
- tar | [] [] [] [] [] [] [] |
- texinfo | [] [] |
- textutils | [] [] [] [] [] |
- tin | [] () |
- tp-robot | [] [] [] [] |
- tuxpaint | [] [] |
+ skencil | |
+ solfege | |
+ solfege-manual | |
+ soundtracker | |
+ sp | |
+ sysstat | |
+ tar | [] |
+ texinfo | |
+ tin | |
unicode-han-tra... | |
- unicode-transla... | [] [] |
- util-linux | [] [] [] [] [] [] [] |
- vorbis-tools | [] [] |
- wastesedge | () |
- wdiff | [] [] [] [] [] [] [] [] |
- wget | [] [] [] [] [] [] [] [] |
- xchat | [] [] [] [] [] [] [] [] |
- xkeyboard-config | [] [] [] [] |
- xpad | [] [] [] |
+ unicode-transla... | |
+ util-linux-ng | [] |
+ vice | |
+ vmm | |
+ vorbis-tools | |
+ wastesedge | |
+ wdiff | |
+ wget | [] [] |
+ wyslij-po | |
+ xchat | [] [] [] [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] |
+--------------------------------------------------+
- es et eu fa fi fr ga gl gu he hi hr hu id is it
- 88 22 14 2 40 115 61 14 1 8 1 6 59 31 0 52
+ af am an ar as ast az be be@latin bg bn_IN bs ca
+ 6 0 1 2 3 19 1 10 3 28 3 1 38
- ja ko ku ky lg lt lv mk mn ms mt nb ne nl nn no
+ crh cs da de el en en_GB en_ZA eo es et eu fa
+-------------------------------------------------+
- GNUnet | |
- a2ps | () [] [] () |
- aegis | () |
- ant-phone | [] |
- anubis | [] [] [] |
- ap-utils | [] |
- aspell | [] [] |
- bash | [] |
- batchelor | [] [] |
- bfd | |
- bibshelf | [] |
- binutils | |
- bison | [] [] [] |
- bison-runtime | [] [] [] |
- bluez-pin | [] [] [] |
- cflow | |
- clisp | [] |
- console-tools | |
- coreutils | [] |
+ a2ps | [] [] [] [] [] [] [] |
+ aegis | [] [] [] |
+ ant-phone | [] () |
+ anubis | [] [] |
+ aspell | [] [] [] [] [] |
+ bash | [] [] [] |
+ bfd | [] |
+ bibshelf | [] [] [] |
+ binutils | [] |
+ bison | [] [] |
+ bison-runtime | [] [] [] [] |
+ bluez-pin | [] [] [] [] [] [] |
+ bombono-dvd | [] |
+ buzztard | [] [] [] |
+ cflow | [] [] |
+ clisp | [] [] [] [] |
+ coreutils | [] [] [] [] |
cpio | |
- cpplib | [] |
- cryptonit | [] |
- darkstat | [] [] |
- dialog | [] [] |
- diffutils | [] [] [] |
- doodle | |
- e2fsprogs | [] |
- enscript | [] |
- error | [] |
- fetchmail | [] [] |
- fileutils | [] [] |
- findutils | [] |
- flex | [] [] |
- fslint | [] [] |
- gas | |
- gawk | [] [] |
- gbiff | [] |
- gcal | |
- gcc | |
- gettext-examples | [] [] |
- gettext-runtime | [] [] [] |
- gettext-tools | [] [] |
- gimp-print | [] [] |
- gip | [] [] |
- gliv | [] |
- glunarclock | [] [] |
- gmult | [] [] |
- gnubiff | |
- gnucash | () () |
- gnucash-glossary | [] |
- gnuedu | |
- gnulib | [] [] [] [] |
- gnunet-gtk | |
- gnutls | |
- gpe-aerial | [] |
- gpe-beam | [] |
- gpe-calendar | [] |
- gpe-clock | [] [] [] |
- gpe-conf | [] [] |
- gpe-contacts | [] |
- gpe-edit | [] [] [] |
- gpe-filemanager | [] [] |
- gpe-go | [] [] [] |
- gpe-login | [] [] [] |
- gpe-ownerinfo | [] [] |
- gpe-package | [] [] |
- gpe-sketchbook | [] [] |
- gpe-su | [] [] [] |
- gpe-taskmanager | [] [] [] [] |
- gpe-timesheet | [] |
- gpe-today | [] [] |
- gpe-todo | [] |
- gphoto2 | [] [] |
- gprof | |
- gpsdrive | () () () |
- gramadoir | () |
- grep | [] [] [] [] |
- gretl | |
- gsasl | [] |
+ cppi | |
+ cpplib | [] [] [] |
+ cryptsetup | [] |
+ dfarc | [] [] [] |
+ dialog | [] [] [] [] [] |
+ dico | |
+ diffutils | [] [] [] [] [] [] |
+ dink | [] [] [] |
+ doodle | [] |
+ e2fsprogs | [] [] [] |
+ enscript | [] [] [] |
+ exif | () [] [] |
+ fetchmail | [] [] () [] [] [] |
+ findutils | [] [] [] |
+ flex | [] [] |
+ freedink | [] [] [] |
+ gas | [] |
+ gawk | [] [] [] |
+ gcal | [] |
+ gcc | [] [] |
+ gettext-examples | [] [] [] [] |
+ gettext-runtime | [] [] [] [] |
+ gettext-tools | [] [] [] |
+ gip | [] [] [] [] |
+ gjay | [] |
+ gliv | [] [] [] |
+ glunarclock | [] [] |
+ gnubiff | () |
+ gnucash | [] () () () () |
+ gnuedu | [] [] |
+ gnulib | [] [] |
+ gnunet | |
+ gnunet-gtk | [] |
+ gnutls | [] [] |
+ gold | [] |
+ gpe-aerial | [] [] [] [] |
+ gpe-beam | [] [] [] [] |
+ gpe-bluetooth | [] [] |
+ gpe-calendar | [] |
+ gpe-clock | [] [] [] [] |
+ gpe-conf | [] [] [] |
+ gpe-contacts | [] [] [] |
+ gpe-edit | [] [] |
+ gpe-filemanager | [] [] [] |
+ gpe-go | [] [] [] [] |
+ gpe-login | [] [] |
+ gpe-ownerinfo | [] [] [] [] |
+ gpe-package | [] [] [] |
+ gpe-sketchbook | [] [] [] [] |
+ gpe-su | [] [] [] [] |
+ gpe-taskmanager | [] [] [] [] |
+ gpe-timesheet | [] [] [] [] |
+ gpe-today | [] [] [] [] |
+ gpe-todo | [] [] [] |
+ gphoto2 | [] [] () [] [] [] |
+ gprof | [] [] [] |
+ gpsdrive | [] [] [] |
+ gramadoir | [] [] [] |
+ grep | [] |
+ grub | [] [] |
+ gsasl | [] |
gss | |
- gst-plugins | [] |
- gst-plugins-base | |
- gst-plugins-good | [] |
- gstreamer | [] |
- gtick | |
- gtkam | [] |
- gtkorphan | [] |
- gtkspell | [] [] |
- gutenprint | |
- hello | [] [] [] [] [] [] |
- id-utils | [] |
- impost | |
- indent | [] [] |
- iso_3166 | [] |
- iso_3166_2 | [] |
- iso_4217 | [] [] [] |
- iso_639 | [] [] |
- jpilot | () () () |
- jtag | |
- jwhois | [] |
- kbd | [] |
- keytouch | [] |
- keytouch-editor | |
- keytouch-keyboa... | |
- latrine | [] |
- ld | |
- leafpad | [] [] |
- libc | [] [] [] [] [] |
- libexif | |
+ gst-plugins-bad | [] [] [] [] [] |
+ gst-plugins-base | [] [] [] [] [] |
+ gst-plugins-good | [] [] [] [] [] [] |
+ gst-plugins-ugly | [] [] [] [] [] [] |
+ gstreamer | [] [] [] [] [] |
+ gtick | [] () [] |
+ gtkam | [] [] () [] [] |
+ gtkorphan | [] [] [] [] |
+ gtkspell | [] [] [] [] [] [] [] |
+ gutenprint | [] [] [] |
+ hello | [] [] [] [] |
+ help2man | [] |
+ hylafax | [] [] |
+ idutils | [] [] |
+ indent | [] [] [] [] [] [] [] |
+ iso_15924 | [] () [] [] |
+ iso_3166 | [] [] [] [] () [] [] [] () |
+ iso_3166_2 | () |
+ iso_4217 | [] [] [] () [] [] |
+ iso_639 | [] [] [] [] () [] [] |
+ iso_639_3 | [] |
+ jwhois | [] |
+ kbd | [] [] [] [] [] |
+ keytouch | [] [] |
+ keytouch-editor | [] [] |
+ keytouch-keyboa... | [] |
+ klavaro | [] [] [] [] |
+ latrine | [] () |
+ ld | [] [] |
+ leafpad | [] [] [] [] [] [] |
+ libc | [] [] [] [] |
+ libexif | [] [] () |
libextractor | |
- libgpewidget | [] |
- libgpg-error | |
- libgphoto2 | [] |
- libgphoto2_port | [] |
- libgsasl | [] |
- libiconv | |
- libidn | [] [] |
- lifelines | [] |
- lilypond | |
- lingoteach | [] |
- lynx | [] [] |
- m4 | [] [] |
- mailutils | |
- make | [] [] [] |
- man-db | () |
- minicom | [] |
- mysecretdiary | [] |
- nano | [] [] [] |
- nano_1_0 | [] [] [] |
- opcodes | [] |
- parted | [] [] |
- pilot-qof | |
- psmisc | [] [] [] |
- pwdutils | |
- python | |
- qof | |
- radius | |
- recode | [] |
- rpm | [] [] |
- screem | [] |
- scrollkeeper | [] [] [] [] |
- sed | [] [] |
- sh-utils | [] [] |
- shared-mime-info | [] [] [] [] [] |
- sharutils | [] [] |
+ libgnutls | [] |
+ libgpewidget | [] [] |
+ libgpg-error | [] [] |
+ libgphoto2 | [] () |
+ libgphoto2_port | [] () [] |
+ libgsasl | |
+ libiconv | [] [] [] [] [] |
+ libidn | [] [] [] |
+ lifelines | [] () |
+ liferea | [] [] [] [] [] |
+ lilypond | [] [] [] |
+ linkdr | [] [] [] |
+ lordsawar | [] |
+ lprng | |
+ lynx | [] [] [] [] |
+ m4 | [] [] [] [] |
+ mailfromd | |
+ mailutils | [] |
+ make | [] [] [] |
+ man-db | |
+ man-db-manpages | |
+ minicom | [] [] [] [] |
+ mkisofs | |
+ myserver | |
+ nano | [] [] [] |
+ opcodes | [] [] |
+ parted | [] [] |
+ pies | |
+ popt | [] [] [] [] [] |
+ psmisc | [] [] [] |
+ pspp | [] |
+ pwdutils | [] |
+ radius | [] |
+ recode | [] [] [] [] [] [] |
+ rosegarden | () () () |
+ rpm | [] [] [] |
+ rush | |
+ sarg | |
+ screem | |
+ scrollkeeper | [] [] [] [] [] |
+ sed | [] [] [] [] [] [] |
+ sharutils | [] [] [] [] |
shishi | |
- silky | [] |
- skencil | |
- sketch | |
- solfege | |
- soundtracker | |
- sp | () |
- stardict | [] [] |
- system-tools-ba... | [] [] [] [] |
- tar | [] [] [] |
- texinfo | [] [] [] |
- textutils | [] [] [] |
- tin | |
- tp-robot | [] |
- tuxpaint | [] |
+ skencil | [] () [] |
+ solfege | [] [] [] |
+ solfege-manual | [] [] |
+ soundtracker | [] [] [] |
+ sp | [] |
+ sysstat | [] [] [] |
+ tar | [] [] [] [] |
+ texinfo | [] [] [] |
+ tin | [] [] |
unicode-han-tra... | |
unicode-transla... | |
- util-linux | [] [] |
- vorbis-tools | [] |
- wastesedge | [] |
- wdiff | [] [] |
- wget | [] [] |
- xchat | [] [] [] [] |
- xkeyboard-config | [] |
- xpad | [] [] [] |
+ util-linux-ng | [] [] [] [] |
+ vice | () () |
+ vmm | [] |
+ vorbis-tools | [] [] |
+ wastesedge | [] |
+ wdiff | [] [] |
+ wget | [] [] [] |
+ wyslij-po | |
+ xchat | [] [] [] [] [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] [] [] [] |
+-------------------------------------------------+
- ja ko ku ky lg lt lv mk mn ms mt nb ne nl nn no
- 52 24 2 2 1 3 0 2 3 21 0 15 1 97 5 1
+ crh cs da de el en en_GB en_ZA eo es et eu fa
+ 5 64 105 117 18 1 8 0 28 89 18 19 0
+
+ fi fr ga gl gu he hi hr hu hy id is it ja ka kn
+ +----------------------------------------------------+
+ a2ps | [] [] [] [] |
+ aegis | [] [] |
+ ant-phone | [] [] |
+ anubis | [] [] [] [] |
+ aspell | [] [] [] [] |
+ bash | [] [] [] [] |
+ bfd | [] [] [] |
+ bibshelf | [] [] [] [] [] |
+ binutils | [] [] [] |
+ bison | [] [] [] [] |
+ bison-runtime | [] [] [] [] [] [] |
+ bluez-pin | [] [] [] [] [] [] [] [] |
+ bombono-dvd | [] |
+ buzztard | [] |
+ cflow | [] [] [] |
+ clisp | [] |
+ coreutils | [] [] [] [] [] |
+ cpio | [] [] [] [] |
+ cppi | [] [] |
+ cpplib | [] [] [] |
+ cryptsetup | [] [] [] |
+ dfarc | [] [] [] |
+ dialog | [] [] [] [] [] [] [] |
+ dico | |
+ diffutils | [] [] [] [] [] [] [] [] [] |
+ dink | [] |
+ doodle | [] [] |
+ e2fsprogs | [] [] |
+ enscript | [] [] [] [] |
+ exif | [] [] [] [] [] [] |
+ fetchmail | [] [] [] [] |
+ findutils | [] [] [] [] [] [] |
+ flex | [] [] [] |
+ freedink | [] [] [] |
+ gas | [] [] |
+ gawk | [] [] [] [] () [] |
+ gcal | [] |
+ gcc | [] |
+ gettext-examples | [] [] [] [] [] [] [] |
+ gettext-runtime | [] [] [] [] [] [] |
+ gettext-tools | [] [] [] [] |
+ gip | [] [] [] [] [] [] |
+ gjay | [] |
+ gliv | [] () |
+ glunarclock | [] [] [] [] |
+ gnubiff | () [] () |
+ gnucash | () () () () () [] |
+ gnuedu | [] [] |
+ gnulib | [] [] [] [] [] [] |
+ gnunet | |
+ gnunet-gtk | [] |
+ gnutls | [] [] |
+ gold | [] [] |
+ gpe-aerial | [] [] [] |
+ gpe-beam | [] [] [] [] |
+ gpe-bluetooth | [] [] [] [] |
+ gpe-calendar | [] [] |
+ gpe-clock | [] [] [] [] [] |
+ gpe-conf | [] [] [] [] |
+ gpe-contacts | [] [] [] [] |
+ gpe-edit | [] [] [] |
+ gpe-filemanager | [] [] [] [] |
+ gpe-go | [] [] [] [] [] |
+ gpe-login | [] [] [] |
+ gpe-ownerinfo | [] [] [] [] [] |
+ gpe-package | [] [] [] |
+ gpe-sketchbook | [] [] [] [] |
+ gpe-su | [] [] [] [] [] [] |
+ gpe-taskmanager | [] [] [] [] [] |
+ gpe-timesheet | [] [] [] [] [] |
+ gpe-today | [] [] [] [] [] [] [] |
+ gpe-todo | [] [] [] |
+ gphoto2 | [] [] [] [] [] [] |
+ gprof | [] [] [] [] |
+ gpsdrive | [] [] [] |
+ gramadoir | [] [] [] |
+ grep | [] [] |
+ grub | [] [] [] [] |
+ gsasl | [] [] [] [] [] |
+ gss | [] [] [] [] [] |
+ gst-plugins-bad | [] [] [] [] [] [] |
+ gst-plugins-base | [] [] [] [] [] [] |
+ gst-plugins-good | [] [] [] [] [] [] |
+ gst-plugins-ugly | [] [] [] [] [] [] |
+ gstreamer | [] [] [] [] [] |
+ gtick | [] [] [] [] [] |
+ gtkam | [] [] [] [] [] |
+ gtkorphan | [] [] [] |
+ gtkspell | [] [] [] [] [] [] [] [] [] |
+ gutenprint | [] [] [] [] |
+ hello | [] [] [] |
+ help2man | [] [] |
+ hylafax | [] |
+ idutils | [] [] [] [] [] [] |
+ indent | [] [] [] [] [] [] [] [] |
+ iso_15924 | [] () [] [] |
+ iso_3166 | [] () [] [] [] [] [] [] [] [] [] [] |
+ iso_3166_2 | () [] [] [] |
+ iso_4217 | [] () [] [] [] [] |
+ iso_639 | [] () [] [] [] [] [] [] [] |
+ iso_639_3 | () [] [] |
+ jwhois | [] [] [] [] [] |
+ kbd | [] [] |
+ keytouch | [] [] [] [] [] [] |
+ keytouch-editor | [] [] [] [] [] |
+ keytouch-keyboa... | [] [] [] [] [] |
+ klavaro | [] [] |
+ latrine | [] [] [] |
+ ld | [] [] [] [] |
+ leafpad | [] [] [] [] [] [] [] () |
+ libc | [] [] [] [] [] |
+ libexif | [] |
+ libextractor | |
+ libgnutls | [] [] |
+ libgpewidget | [] [] [] [] |
+ libgpg-error | [] [] |
+ libgphoto2 | [] [] [] |
+ libgphoto2_port | [] [] [] |
+ libgsasl | [] [] [] [] [] |
+ libiconv | [] [] [] [] [] [] |
+ libidn | [] [] [] [] |
+ lifelines | () |
+ liferea | [] [] [] [] |
+ lilypond | [] [] |
+ linkdr | [] [] [] [] [] |
+ lordsawar | |
+ lprng | [] |
+ lynx | [] [] [] [] [] |
+ m4 | [] [] [] [] [] [] |
+ mailfromd | |
+ mailutils | [] [] |
+ make | [] [] [] [] [] [] [] [] [] |
+ man-db | [] [] |
+ man-db-manpages | [] |
+ minicom | [] [] [] [] [] |
+ mkisofs | [] [] [] [] |
+ myserver | |
+ nano | [] [] [] [] [] [] |
+ opcodes | [] [] [] [] |
+ parted | [] [] [] [] |
+ pies | |
+ popt | [] [] [] [] [] [] [] [] [] |
+ psmisc | [] [] [] |
+ pspp | |
+ pwdutils | [] [] |
+ radius | [] [] |
+ recode | [] [] [] [] [] [] [] [] |
+ rosegarden | () () () () () |
+ rpm | [] [] |
+ rush | |
+ sarg | [] |
+ screem | [] [] |
+ scrollkeeper | [] [] [] [] |
+ sed | [] [] [] [] [] [] [] [] |
+ sharutils | [] [] [] [] [] [] [] |
+ shishi | [] |
+ skencil | [] |
+ solfege | [] [] [] [] |
+ solfege-manual | [] [] |
+ soundtracker | [] [] |
+ sp | [] () |
+ sysstat | [] [] [] [] [] |
+ tar | [] [] [] [] [] [] [] |
+ texinfo | [] [] [] [] |
+ tin | [] |
+ unicode-han-tra... | |
+ unicode-transla... | [] [] |
+ util-linux-ng | [] [] [] [] [] [] |
+ vice | () () () |
+ vmm | [] |
+ vorbis-tools | [] |
+ wastesedge | () () |
+ wdiff | [] |
+ wget | [] [] [] [] [] [] [] [] |
+ wyslij-po | [] [] [] |
+ xchat | [] [] [] [] [] [] [] [] [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] [] [] |
+ +----------------------------------------------------+
+ fi fr ga gl gu he hi hr hu hy id is it ja ka kn
+ 105 121 53 20 4 8 3 5 53 2 120 5 84 67 0 4
+
+ ko ku ky lg lt lv mk ml mn mr ms mt nb nds ne
+ +-----------------------------------------------+
+ a2ps | [] |
+ aegis | |
+ ant-phone | |
+ anubis | [] [] |
+ aspell | [] |
+ bash | |
+ bfd | |
+ bibshelf | [] [] |
+ binutils | |
+ bison | [] |
+ bison-runtime | [] [] [] [] [] |
+ bluez-pin | [] [] [] [] [] |
+ bombono-dvd | |
+ buzztard | |
+ cflow | |
+ clisp | |
+ coreutils | [] |
+ cpio | |
+ cppi | |
+ cpplib | |
+ cryptsetup | |
+ dfarc | [] |
+ dialog | [] [] [] [] [] |
+ dico | |
+ diffutils | [] [] |
+ dink | |
+ doodle | |
+ e2fsprogs | |
+ enscript | |
+ exif | [] |
+ fetchmail | |
+ findutils | |
+ flex | |
+ freedink | [] |
+ gas | |
+ gawk | |
+ gcal | |
+ gcc | |
+ gettext-examples | [] [] [] [] |
+ gettext-runtime | [] |
+ gettext-tools | [] |
+ gip | [] [] |
+ gjay | |
+ gliv | |
+ glunarclock | [] |
+ gnubiff | |
+ gnucash | () () () () |
+ gnuedu | |
+ gnulib | |
+ gnunet | |
+ gnunet-gtk | |
+ gnutls | [] |
+ gold | |
+ gpe-aerial | [] |
+ gpe-beam | [] |
+ gpe-bluetooth | [] [] |
+ gpe-calendar | [] |
+ gpe-clock | [] [] [] [] [] |
+ gpe-conf | [] [] |
+ gpe-contacts | [] [] |
+ gpe-edit | [] |
+ gpe-filemanager | [] [] |
+ gpe-go | [] [] [] |
+ gpe-login | [] |
+ gpe-ownerinfo | [] [] |
+ gpe-package | [] [] |
+ gpe-sketchbook | [] [] |
+ gpe-su | [] [] [] [] [] [] |
+ gpe-taskmanager | [] [] [] [] [] [] |
+ gpe-timesheet | [] [] |
+ gpe-today | [] [] [] [] |
+ gpe-todo | [] [] |
+ gphoto2 | |
+ gprof | [] |
+ gpsdrive | |
+ gramadoir | |
+ grep | |
+ grub | |
+ gsasl | |
+ gss | |
+ gst-plugins-bad | [] [] [] [] |
+ gst-plugins-base | [] [] |
+ gst-plugins-good | [] [] |
+ gst-plugins-ugly | [] [] [] [] [] |
+ gstreamer | |
+ gtick | |
+ gtkam | [] |
+ gtkorphan | [] [] |
+ gtkspell | [] [] [] [] [] [] [] |
+ gutenprint | |
+ hello | [] [] [] |
+ help2man | |
+ hylafax | |
+ idutils | |
+ indent | |
+ iso_15924 | [] [] |
+ iso_3166 | [] [] () [] [] [] [] [] |
+ iso_3166_2 | |
+ iso_4217 | [] [] |
+ iso_639 | [] [] |
+ iso_639_3 | [] |
+ jwhois | [] |
+ kbd | |
+ keytouch | [] |
+ keytouch-editor | [] |
+ keytouch-keyboa... | [] |
+ klavaro | [] |
+ latrine | [] |
+ ld | |
+ leafpad | [] [] [] |
+ libc | [] |
+ libexif | |
+ libextractor | |
+ libgnutls | [] |
+ libgpewidget | [] [] |
+ libgpg-error | |
+ libgphoto2 | |
+ libgphoto2_port | |
+ libgsasl | |
+ libiconv | |
+ libidn | |
+ lifelines | |
+ liferea | |
+ lilypond | |
+ linkdr | |
+ lordsawar | |
+ lprng | |
+ lynx | |
+ m4 | |
+ mailfromd | |
+ mailutils | |
+ make | [] |
+ man-db | |
+ man-db-manpages | |
+ minicom | [] |
+ mkisofs | |
+ myserver | |
+ nano | [] [] |
+ opcodes | |
+ parted | |
+ pies | |
+ popt | [] [] [] |
+ psmisc | |
+ pspp | |
+ pwdutils | |
+ radius | |
+ recode | |
+ rosegarden | |
+ rpm | |
+ rush | |
+ sarg | |
+ screem | |
+ scrollkeeper | [] [] |
+ sed | |
+ sharutils | |
+ shishi | |
+ skencil | |
+ solfege | [] |
+ solfege-manual | |
+ soundtracker | |
+ sp | |
+ sysstat | [] |
+ tar | [] |
+ texinfo | [] |
+ tin | |
+ unicode-han-tra... | |
+ unicode-transla... | |
+ util-linux-ng | |
+ vice | |
+ vmm | |
+ vorbis-tools | |
+ wastesedge | |
+ wdiff | |
+ wget | [] |
+ wyslij-po | |
+ xchat | [] [] [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] |
+ +-----------------------------------------------+
+ ko ku ky lg lt lv mk ml mn mr ms mt nb nds ne
+ 20 5 10 1 13 48 4 2 2 4 24 10 20 3 1
- nso or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta
- +------------------------------------------------------+
- GNUnet | |
- a2ps | () [] [] [] [] [] [] |
- aegis | () () |
- ant-phone | [] [] |
- anubis | [] [] [] |
- ap-utils | () |
- aspell | [] [] |
- bash | [] [] [] |
- batchelor | [] [] |
- bfd | |
- bibshelf | [] |
- binutils | [] [] |
- bison | [] [] [] [] [] |
- bison-runtime | [] [] [] [] |
- bluez-pin | [] [] [] [] [] [] [] [] [] |
- cflow | [] |
- clisp | [] |
- console-tools | [] |
- coreutils | [] [] [] [] |
- cpio | [] [] [] |
- cpplib | [] |
- cryptonit | [] [] |
- darkstat | [] [] [] [] [] [] |
- dialog | [] [] [] [] [] [] [] [] [] |
- diffutils | [] [] [] [] [] [] |
- doodle | [] [] |
- e2fsprogs | [] [] |
- enscript | [] [] [] [] [] |
- error | [] [] [] [] |
- fetchmail | [] [] [] |
- fileutils | [] [] [] [] [] |
- findutils | [] [] [] [] [] [] |
- flex | [] [] [] [] [] |
- fslint | [] [] [] [] |
- gas | |
- gawk | [] [] [] [] |
- gbiff | [] |
- gcal | [] |
- gcc | [] |
- gettext-examples | [] [] [] [] [] [] [] [] |
- gettext-runtime | [] [] [] [] [] [] [] [] |
- gettext-tools | [] [] [] [] [] [] [] |
- gimp-print | [] [] |
- gip | [] [] [] [] |
- gliv | [] [] [] [] |
- glunarclock | [] [] [] [] [] [] |
- gmult | [] [] [] [] |
- gnubiff | () |
- gnucash | () [] |
- gnucash-glossary | [] [] [] |
- gnuedu | |
- gnulib | [] [] [] [] [] |
- gnunet-gtk | [] |
- gnutls | [] [] |
- gpe-aerial | [] [] [] [] [] [] [] |
- gpe-beam | [] [] [] [] [] [] [] |
- gpe-calendar | [] |
- gpe-clock | [] [] [] [] [] [] [] [] |
- gpe-conf | [] [] [] [] [] [] [] |
- gpe-contacts | [] [] [] [] [] |
- gpe-edit | [] [] [] [] [] [] [] [] |
- gpe-filemanager | [] [] |
- gpe-go | [] [] [] [] [] [] |
- gpe-login | [] [] [] [] [] [] [] [] |
- gpe-ownerinfo | [] [] [] [] [] [] [] [] |
- gpe-package | [] [] |
- gpe-sketchbook | [] [] [] [] [] [] [] [] |
- gpe-su | [] [] [] [] [] [] [] [] |
- gpe-taskmanager | [] [] [] [] [] [] [] [] |
- gpe-timesheet | [] [] [] [] [] [] [] [] |
- gpe-today | [] [] [] [] [] [] [] [] |
- gpe-todo | [] [] [] [] |
- gphoto2 | [] [] [] [] [] |
- gprof | [] [] [] |
- gpsdrive | [] [] [] |
- gramadoir | [] [] |
- grep | [] [] [] [] [] [] [] [] |
- gretl | [] |
- gsasl | [] [] [] |
- gss | [] [] [] |
- gst-plugins | [] [] [] [] |
- gst-plugins-base | [] |
- gst-plugins-good | [] [] [] [] |
- gstreamer | [] [] [] |
- gtick | [] |
- gtkam | [] [] [] [] |
- gtkorphan | [] |
- gtkspell | [] [] [] [] [] [] [] [] |
- gutenprint | [] |
- hello | [] [] [] [] [] [] [] [] |
- id-utils | [] [] [] [] |
- impost | [] |
- indent | [] [] [] [] [] [] |
- iso_3166 | [] [] [] [] [] [] |
- iso_3166_2 | |
- iso_4217 | [] [] [] [] |
- iso_639 | [] [] [] [] |
- jpilot | |
- jtag | [] |
- jwhois | [] [] [] [] |
- kbd | [] [] [] |
- keytouch | [] |
- keytouch-editor | [] |
- keytouch-keyboa... | [] |
- latrine | [] [] |
- ld | [] |
- leafpad | [] [] [] [] [] [] |
- libc | [] [] [] [] [] |
- libexif | [] |
- libextractor | [] [] |
- libgpewidget | [] [] [] [] [] [] [] |
- libgpg-error | [] [] |
- libgphoto2 | [] |
- libgphoto2_port | [] [] [] |
- libgsasl | [] [] [] [] |
- libiconv | [] [] |
- libidn | [] [] () |
- lifelines | [] [] |
- lilypond | |
- lingoteach | [] |
- lynx | [] [] [] |
- m4 | [] [] [] [] [] |
- mailutils | [] [] [] [] |
- make | [] [] [] [] |
- man-db | [] [] |
- minicom | [] [] [] [] [] |
- mysecretdiary | [] [] [] [] |
- nano | [] [] [] |
- nano_1_0 | [] [] [] [] |
- opcodes | [] [] |
- parted | [] |
- pilot-qof | [] |
- psmisc | [] [] |
- pwdutils | [] [] |
- python | |
- qof | [] [] |
- radius | [] [] |
- recode | [] [] [] [] [] [] [] |
- rpm | [] [] [] [] |
- screem | |
- scrollkeeper | [] [] [] [] [] [] [] |
- sed | [] [] [] [] [] [] [] [] [] |
- sh-utils | [] [] [] |
- shared-mime-info | [] [] [] [] [] |
- sharutils | [] [] [] [] |
- shishi | [] |
- silky | [] |
- skencil | [] [] [] |
- sketch | [] [] [] |
- solfege | [] |
- soundtracker | [] [] |
- sp | |
- stardict | [] [] [] |
- system-tools-ba... | [] [] [] [] [] [] [] [] [] |
- tar | [] [] [] [] [] |
- texinfo | [] [] [] [] |
- textutils | [] [] [] |
- tin | () |
- tp-robot | [] |
- tuxpaint | [] [] [] [] [] |
- unicode-han-tra... | |
- unicode-transla... | |
- util-linux | [] [] [] [] |
- vorbis-tools | [] [] |
- wastesedge | |
- wdiff | [] [] [] [] [] [] |
- wget | [] [] [] [] |
- xchat | [] [] [] [] [] [] [] |
- xkeyboard-config | [] [] |
- xpad | [] [] [] |
- +------------------------------------------------------+
- nso or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta
- 0 2 3 58 30 54 5 73 72 4 40 46 11 50 128 2
+ nl nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr
+ +---------------------------------------------------+
+ a2ps | [] [] [] [] [] [] [] [] |
+ aegis | [] [] [] |
+ ant-phone | [] [] |
+ anubis | [] [] [] |
+ aspell | [] [] [] [] [] |
+ bash | [] [] |
+ bfd | [] |
+ bibshelf | [] [] |
+ binutils | [] [] |
+ bison | [] [] [] |
+ bison-runtime | [] [] [] [] [] [] [] |
+ bluez-pin | [] [] [] [] [] [] [] [] |
+ bombono-dvd | [] () |
+ buzztard | [] [] |
+ cflow | [] |
+ clisp | [] [] |
+ coreutils | [] [] [] [] [] [] |
+ cpio | [] [] [] |
+ cppi | [] |
+ cpplib | [] |
+ cryptsetup | [] |
+ dfarc | [] |
+ dialog | [] [] [] [] |
+ dico | [] |
+ diffutils | [] [] [] [] [] [] |
+ dink | () |
+ doodle | [] [] |
+ e2fsprogs | [] [] |
+ enscript | [] [] [] [] [] |
+ exif | [] [] [] () [] |
+ fetchmail | [] [] [] [] |
+ findutils | [] [] [] [] [] |
+ flex | [] [] [] [] [] |
+ freedink | [] [] |
+ gas | |
+ gawk | [] [] [] [] |
+ gcal | |
+ gcc | [] |
+ gettext-examples | [] [] [] [] [] [] [] [] |
+ gettext-runtime | [] [] [] [] [] [] [] [] [] |
+ gettext-tools | [] [] [] [] [] [] |
+ gip | [] [] [] [] [] |
+ gjay | |
+ gliv | [] [] [] [] [] [] |
+ glunarclock | [] [] [] [] [] |
+ gnubiff | [] () |
+ gnucash | [] () () () |
+ gnuedu | [] |
+ gnulib | [] [] [] [] |
+ gnunet | |
+ gnunet-gtk | |
+ gnutls | [] [] |
+ gold | |
+ gpe-aerial | [] [] [] [] [] [] [] |
+ gpe-beam | [] [] [] [] [] [] [] |
+ gpe-bluetooth | [] [] |
+ gpe-calendar | [] [] [] [] |
+ gpe-clock | [] [] [] [] [] [] [] [] |
+ gpe-conf | [] [] [] [] [] [] [] |
+ gpe-contacts | [] [] [] [] [] |
+ gpe-edit | [] [] [] |
+ gpe-filemanager | [] [] [] |
+ gpe-go | [] [] [] [] [] [] [] [] |
+ gpe-login | [] [] |
+ gpe-ownerinfo | [] [] [] [] [] [] [] [] |
+ gpe-package | [] [] |
+ gpe-sketchbook | [] [] [] [] [] [] [] |
+ gpe-su | [] [] [] [] [] [] [] [] |
+ gpe-taskmanager | [] [] [] [] [] [] [] [] |
+ gpe-timesheet | [] [] [] [] [] [] [] [] |
+ gpe-today | [] [] [] [] [] [] [] [] |
+ gpe-todo | [] [] [] [] [] |
+ gphoto2 | [] [] [] [] [] [] [] [] |
+ gprof | [] [] [] |
+ gpsdrive | [] [] |
+ gramadoir | [] [] |
+ grep | [] [] [] [] |
+ grub | [] [] [] |
+ gsasl | [] [] [] [] |
+ gss | [] [] [] |
+ gst-plugins-bad | [] [] [] [] [] [] |
+ gst-plugins-base | [] [] [] [] [] |
+ gst-plugins-good | [] [] [] [] [] |
+ gst-plugins-ugly | [] [] [] [] [] [] |
+ gstreamer | [] [] [] [] [] |
+ gtick | [] [] [] |
+ gtkam | [] [] [] [] [] [] |
+ gtkorphan | [] |
+ gtkspell | [] [] [] [] [] [] [] [] [] [] |
+ gutenprint | [] [] |
+ hello | [] [] [] [] |
+ help2man | [] [] |
+ hylafax | [] |
+ idutils | [] [] [] [] [] |
+ indent | [] [] [] [] [] [] [] |
+ iso_15924 | [] [] [] [] |
+ iso_3166 | [] [] [] [] [] () [] [] [] [] [] [] [] [] |
+ iso_3166_2 | [] [] [] |
+ iso_4217 | [] [] [] [] [] [] [] [] |
+ iso_639 | [] [] [] [] [] [] [] [] [] |
+ iso_639_3 | [] [] |
+ jwhois | [] [] [] [] |
+ kbd | [] [] [] |
+ keytouch | [] [] [] |
+ keytouch-editor | [] [] [] |
+ keytouch-keyboa... | [] [] [] |
+ klavaro | [] [] |
+ latrine | [] [] |
+ ld | |
+ leafpad | [] [] [] [] [] [] [] [] [] |
+ libc | [] [] [] [] |
+ libexif | [] [] () [] |
+ libextractor | |
+ libgnutls | [] [] |
+ libgpewidget | [] [] [] |
+ libgpg-error | [] [] |
+ libgphoto2 | [] [] |
+ libgphoto2_port | [] [] [] [] [] |
+ libgsasl | [] [] [] [] [] |
+ libiconv | [] [] [] [] [] |
+ libidn | [] [] |
+ lifelines | [] [] |
+ liferea | [] [] [] [] [] () () [] |
+ lilypond | [] |
+ linkdr | [] [] [] |
+ lordsawar | |
+ lprng | [] |
+ lynx | [] [] [] |
+ m4 | [] [] [] [] [] |
+ mailfromd | [] |
+ mailutils | [] |
+ make | [] [] [] [] |
+ man-db | [] [] [] |
+ man-db-manpages | [] [] [] |
+ minicom | [] [] [] [] |
+ mkisofs | [] [] [] |
+ myserver | |
+ nano | [] [] [] [] |
+ opcodes | [] [] |
+ parted | [] [] [] [] |
+ pies | [] |
+ popt | [] [] [] [] |
+ psmisc | [] [] [] |
+ pspp | [] [] |
+ pwdutils | [] |
+ radius | [] [] [] |
+ recode | [] [] [] [] [] [] [] [] |
+ rosegarden | () () |
+ rpm | [] [] [] |
+ rush | [] [] |
+ sarg | |
+ screem | |
+ scrollkeeper | [] [] [] [] [] [] [] [] |
+ sed | [] [] [] [] [] [] [] [] [] |
+ sharutils | [] [] [] [] |
+ shishi | [] |
+ skencil | [] [] |
+ solfege | [] [] [] [] |
+ solfege-manual | [] [] [] |
+ soundtracker | [] |
+ sp | |
+ sysstat | [] [] [] [] |
+ tar | [] [] [] [] |
+ texinfo | [] [] [] [] |
+ tin | [] |
+ unicode-han-tra... | |
+ unicode-transla... | |
+ util-linux-ng | [] [] [] [] [] |
+ vice | [] |
+ vmm | [] |
+ vorbis-tools | [] [] |
+ wastesedge | [] |
+ wdiff | [] [] |
+ wget | [] [] [] [] [] [] [] |
+ wyslij-po | [] [] [] |
+ xchat | [] [] [] [] [] [] [] [] [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] |
+ +---------------------------------------------------+
+ nl nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr
+ 135 10 4 7 105 1 29 62 47 91 3 54 46 9 37
- tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu
+ sv sw ta te tg th tr uk vi wa zh_CN zh_HK zh_TW
+---------------------------------------------------+
- GNUnet | [] | 2
- a2ps | [] [] [] | 19
- aegis | | 0
- ant-phone | [] [] | 6
- anubis | [] [] [] | 11
- ap-utils | () [] | 4
- aspell | [] [] [] | 15
- bash | [] | 11
- batchelor | [] [] | 9
- bfd | | 1
- bibshelf | [] | 7
- binutils | [] [] [] | 9
- bison | [] [] [] | 19
- bison-runtime | [] [] [] | 15
- bluez-pin | [] [] [] [] [] [] | 28
- cflow | [] [] | 5
- clisp | | 6
- console-tools | [] [] | 5
- coreutils | [] [] | 16
- cpio | [] [] [] | 9
- cpplib | [] [] [] [] | 11
- cryptonit | | 5
- darkstat | [] () () | 15
- dialog | [] [] [] [] [] | 30
- diffutils | [] [] [] [] | 28
- doodle | [] | 6
- e2fsprogs | [] [] | 10
- enscript | [] [] [] | 16
- error | [] [] [] [] | 18
- fetchmail | [] [] | 12
- fileutils | [] [] [] | 18
- findutils | [] [] [] | 17
- flex | [] [] | 15
- fslint | [] | 9
- gas | [] | 3
- gawk | [] [] | 15
- gbiff | [] | 5
- gcal | [] | 5
- gcc | [] [] [] | 6
- gettext-examples | [] [] [] [] [] [] | 27
- gettext-runtime | [] [] [] [] [] [] | 28
- gettext-tools | [] [] [] [] [] | 19
- gimp-print | [] [] | 12
- gip | [] [] | 12
- gliv | [] [] | 8
- glunarclock | [] [] [] | 15
- gmult | [] [] [] [] | 15
- gnubiff | [] | 1
- gnucash | () | 2
- gnucash-glossary | [] [] | 9
- gnuedu | [] | 2
- gnulib | [] [] [] [] [] | 28
- gnunet-gtk | | 1
- gnutls | | 2
- gpe-aerial | [] [] | 14
- gpe-beam | [] [] | 14
- gpe-calendar | [] | 3
- gpe-clock | [] [] [] [] | 21
- gpe-conf | [] [] | 14
- gpe-contacts | [] [] | 10
- gpe-edit | [] [] [] [] | 20
- gpe-filemanager | [] | 6
- gpe-go | [] [] | 15
- gpe-login | [] [] [] [] [] | 21
- gpe-ownerinfo | [] [] [] [] | 21
- gpe-package | [] | 6
- gpe-sketchbook | [] [] | 16
- gpe-su | [] [] [] | 20
- gpe-taskmanager | [] [] [] | 20
- gpe-timesheet | [] [] [] [] | 18
- gpe-today | [] [] [] [] [] | 21
- gpe-todo | [] | 7
- gphoto2 | [] [] [] [] | 20
- gprof | [] [] | 11
- gpsdrive | | 4
- gramadoir | [] | 7
- grep | [] [] [] [] | 34
- gretl | | 4
- gsasl | [] [] | 8
- gss | [] | 5
- gst-plugins | [] [] [] | 15
- gst-plugins-base | [] [] [] | 9
- gst-plugins-good | [] [] [] [] [] | 20
- gstreamer | [] [] [] | 17
- gtick | [] | 3
- gtkam | [] | 13
- gtkorphan | [] | 7
- gtkspell | [] [] [] [] [] [] | 26
- gutenprint | | 3
- hello | [] [] [] [] [] | 37
- id-utils | [] [] | 14
- impost | [] | 4
- indent | [] [] [] [] | 25
- iso_3166 | [] [] [] [] | 16
- iso_3166_2 | | 2
- iso_4217 | [] [] | 14
- iso_639 | [] | 14
- jpilot | [] [] [] [] | 7
- jtag | [] | 3
- jwhois | [] [] [] | 13
- kbd | [] [] | 12
- keytouch | [] | 4
- keytouch-editor | | 2
- keytouch-keyboa... | [] | 3
- latrine | [] [] | 8
- ld | [] [] [] [] | 8
- leafpad | [] [] [] [] | 23
- libc | [] [] [] | 23
- libexif | [] | 4
- libextractor | [] | 5
- libgpewidget | [] [] [] | 19
- libgpg-error | [] | 4
- libgphoto2 | [] | 8
- libgphoto2_port | [] [] [] | 11
- libgsasl | [] | 8
- libiconv | [] | 7
- libidn | [] [] | 10
- lifelines | | 4
- lilypond | | 2
- lingoteach | [] | 6
- lynx | [] [] [] | 15
- m4 | [] [] [] | 18
- mailutils | [] | 8
- make | [] [] [] | 20
- man-db | [] | 6
- minicom | [] | 14
- mysecretdiary | [] [] | 12
- nano | [] [] | 17
- nano_1_0 | [] [] [] | 18
- opcodes | [] [] | 10
- parted | [] [] [] | 10
- pilot-qof | [] | 3
- psmisc | [] | 10
- pwdutils | [] | 3
- python | | 0
- qof | [] | 4
- radius | [] | 6
- recode | [] [] [] | 25
- rpm | [] [] [] [] | 14
- screem | [] | 2
- scrollkeeper | [] [] [] [] | 26
- sed | [] [] [] | 22
- sh-utils | [] | 15
- shared-mime-info | [] [] [] [] | 24
- sharutils | [] [] [] | 23
- shishi | | 1
- silky | [] | 4
- skencil | [] | 7
- sketch | | 6
- solfege | | 2
- soundtracker | [] [] | 9
- sp | [] | 3
- stardict | [] [] [] [] | 11
- system-tools-ba... | [] [] [] [] [] [] [] | 37
- tar | [] [] [] [] | 20
- texinfo | [] [] [] | 15
- textutils | [] [] [] | 17
- tin | | 1
- tp-robot | [] [] [] | 10
- tuxpaint | [] [] [] | 16
+ a2ps | [] [] [] [] [] | 27
+ aegis | [] | 9
+ ant-phone | [] [] [] [] | 9
+ anubis | [] [] [] [] | 15
+ aspell | [] [] [] | 20
+ bash | [] [] [] | 12
+ bfd | [] | 6
+ bibshelf | [] [] [] | 16
+ binutils | [] [] | 8
+ bison | [] [] | 12
+ bison-runtime | [] [] [] [] [] [] | 29
+ bluez-pin | [] [] [] [] [] [] [] [] | 37
+ bombono-dvd | [] | 4
+ buzztard | [] | 7
+ cflow | [] [] [] | 9
+ clisp | | 10
+ coreutils | [] [] [] [] | 22
+ cpio | [] [] [] [] [] [] | 13
+ cppi | [] [] | 5
+ cpplib | [] [] [] [] [] [] | 14
+ cryptsetup | [] [] | 7
+ dfarc | [] | 9
+ dialog | [] [] [] [] [] [] [] | 30
+ dico | [] | 2
+ diffutils | [] [] [] [] [] [] | 30
+ dink | | 4
+ doodle | [] [] | 7
+ e2fsprogs | [] [] [] | 11
+ enscript | [] [] [] [] | 17
+ exif | [] [] [] | 16
+ fetchmail | [] [] [] | 17
+ findutils | [] [] [] [] [] | 20
+ flex | [] [] [] [] | 15
+ freedink | [] | 10
+ gas | [] | 4
+ gawk | [] [] [] [] | 18
+ gcal | [] [] | 5
+ gcc | [] [] [] | 7
+ gettext-examples | [] [] [] [] [] [] [] | 34
+ gettext-runtime | [] [] [] [] [] [] [] | 29
+ gettext-tools | [] [] [] [] [] [] | 22
+ gip | [] [] [] [] | 22
+ gjay | [] | 3
+ gliv | [] [] [] | 14
+ glunarclock | [] [] [] [] [] | 19
+ gnubiff | [] [] | 4
+ gnucash | () [] () [] () | 10
+ gnuedu | [] [] | 7
+ gnulib | [] [] [] [] | 16
+ gnunet | [] | 1
+ gnunet-gtk | [] [] [] | 5
+ gnutls | [] [] [] | 10
+ gold | [] | 4
+ gpe-aerial | [] [] [] | 18
+ gpe-beam | [] [] [] | 19
+ gpe-bluetooth | [] [] [] | 13
+ gpe-calendar | [] [] [] [] | 12
+ gpe-clock | [] [] [] [] [] | 28
+ gpe-conf | [] [] [] [] | 20
+ gpe-contacts | [] [] [] | 17
+ gpe-edit | [] [] [] | 12
+ gpe-filemanager | [] [] [] [] | 16
+ gpe-go | [] [] [] [] [] | 25
+ gpe-login | [] [] [] | 11
+ gpe-ownerinfo | [] [] [] [] [] | 25
+ gpe-package | [] [] [] | 13
+ gpe-sketchbook | [] [] [] | 20
+ gpe-su | [] [] [] [] [] | 30
+ gpe-taskmanager | [] [] [] [] [] | 29
+ gpe-timesheet | [] [] [] [] [] | 25
+ gpe-today | [] [] [] [] [] [] | 30
+ gpe-todo | [] [] [] [] | 17
+ gphoto2 | [] [] [] [] [] | 24
+ gprof | [] [] [] | 15
+ gpsdrive | [] [] [] | 11
+ gramadoir | [] [] [] | 11
+ grep | [] [] [] | 10
+ grub | [] [] [] | 14
+ gsasl | [] [] [] [] | 14
+ gss | [] [] [] | 11
+ gst-plugins-bad | [] [] [] [] | 26
+ gst-plugins-base | [] [] [] [] [] | 24
+ gst-plugins-good | [] [] [] [] | 24
+ gst-plugins-ugly | [] [] [] [] [] | 29
+ gstreamer | [] [] [] [] | 22
+ gtick | [] [] [] | 13
+ gtkam | [] [] [] | 20
+ gtkorphan | [] [] [] | 14
+ gtkspell | [] [] [] [] [] [] [] [] [] | 45
+ gutenprint | [] | 10
+ hello | [] [] [] [] [] [] | 21
+ help2man | [] [] | 7
+ hylafax | [] | 5
+ idutils | [] [] [] [] | 17
+ indent | [] [] [] [] [] [] | 30
+ iso_15924 | () [] () [] [] | 16
+ iso_3166 | [] [] () [] [] () [] [] [] () | 53
+ iso_3166_2 | () [] () [] | 9
+ iso_4217 | [] () [] [] () [] [] | 26
+ iso_639 | [] [] [] () [] () [] [] [] [] | 38
+ iso_639_3 | [] () | 8
+ jwhois | [] [] [] [] [] | 16
+ kbd | [] [] [] [] [] | 15
+ keytouch | [] [] [] | 16
+ keytouch-editor | [] [] [] | 14
+ keytouch-keyboa... | [] [] [] | 14
+ klavaro | [] | 11
+ latrine | [] [] [] | 10
+ ld | [] [] [] [] | 11
+ leafpad | [] [] [] [] [] [] | 33
+ libc | [] [] [] [] [] | 21
+ libexif | [] () | 7
+ libextractor | [] | 1
+ libgnutls | [] [] [] | 9
+ libgpewidget | [] [] [] | 14
+ libgpg-error | [] [] [] | 9
+ libgphoto2 | [] [] | 8
+ libgphoto2_port | [] [] [] [] | 14
+ libgsasl | [] [] [] | 13
+ libiconv | [] [] [] [] | 21
+ libidn | () [] [] | 11
+ lifelines | [] | 4
+ liferea | [] [] [] | 21
+ lilypond | [] | 7
+ linkdr | [] [] [] [] [] | 17
+ lordsawar | | 1
+ lprng | [] | 3
+ lynx | [] [] [] [] | 17
+ m4 | [] [] [] [] | 19
+ mailfromd | [] [] | 3
+ mailutils | [] | 5
+ make | [] [] [] [] | 21
+ man-db | [] [] [] | 8
+ man-db-manpages | | 4
+ minicom | [] [] | 16
+ mkisofs | [] [] | 9
+ myserver | | 0
+ nano | [] [] [] [] | 21
+ opcodes | [] [] [] | 11
+ parted | [] [] [] [] [] | 15
+ pies | [] [] | 3
+ popt | [] [] [] [] [] [] | 27
+ psmisc | [] [] | 11
+ pspp | | 4
+ pwdutils | [] [] | 6
+ radius | [] [] | 9
+ recode | [] [] [] [] | 28
+ rosegarden | () | 0
+ rpm | [] [] [] | 11
+ rush | [] [] | 4
+ sarg | | 1
+ screem | [] | 3
+ scrollkeeper | [] [] [] [] [] | 27
+ sed | [] [] [] [] [] | 30
+ sharutils | [] [] [] [] [] | 22
+ shishi | [] | 3
+ skencil | [] [] | 7
+ solfege | [] [] [] [] | 16
+ solfege-manual | [] | 8
+ soundtracker | [] [] [] | 9
+ sp | [] | 3
+ sysstat | [] [] | 15
+ tar | [] [] [] [] [] [] | 23
+ texinfo | [] [] [] [] [] | 17
+ tin | | 4
unicode-han-tra... | | 0
unicode-transla... | | 2
- util-linux | [] [] [] | 20
- vorbis-tools | [] [] | 11
- wastesedge | | 1
- wdiff | [] [] | 22
- wget | [] [] [] | 19
- xchat | [] [] [] [] | 29
- xkeyboard-config | [] [] [] [] | 11
- xpad | [] [] [] | 14
+ util-linux-ng | [] [] [] [] | 20
+ vice | () () | 1
+ vmm | [] | 4
+ vorbis-tools | [] | 6
+ wastesedge | | 2
+ wdiff | [] [] | 7
+ wget | [] [] [] [] [] | 26
+ wyslij-po | [] [] | 8
+ xchat | [] [] [] [] [] [] | 36
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] | 63
+ xkeyboard-config | [] [] [] | 22
+---------------------------------------------------+
- 77 teams tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu
- 170 domains 0 1 1 77 39 0 136 10 1 48 5 54 0 2028
+ 85 teams sv sw ta te tg th tr uk vi wa zh_CN zh_HK zh_TW
+ 178 domains 119 1 3 3 0 10 65 51 155 17 98 7 41 2618
Some counters in the preceding matrix are higher than the number of
visible blocks let us expect. This is because a few extra PO files are
lag between the mere existence a PO file and its wide availability in a
distribution.
- If October 2006 seems to be old, you may fetch a more recent copy of
+ If June 2010 seems to be old, you may fetch a more recent copy of
this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date
matrix with full percentage details can be found at
-`http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'.
+`http://translationproject.org/extra/matrix.html'.
-1.6 Using `gettext' in new packages
+1.5 Using `gettext' in new packages
===================================
If you are writing a freely available program and want to
Free Translation Project is also available for packages which are not
developed inside the GNU project. Therefore the information given above
applies also for every other Free Software Project. Contact
-`translation@iro.umontreal.ca' to make the `.pot' files available to
-the translation teams.
+`coordinator@translationproject.org' to make the `.pot' files available
+to the translation teams.
common/string_map.cpp\
common/string_list.cpp\
common/config.cpp\
+ common/version.cpp\
common/posib_err.cpp\
common/errors.cpp\
common/error.cpp\
libaspell_la_LIBADD = $(LTLIBINTL) $(PTHREAD_LIB)
+## Libtool to so name
+## C:R:A => (C-A).(A).(R)
+## 16:5:0 => 16.0.5
+## 16:5:1 => 15.1.5
+## 18:0:2 => 16.2.0
+## 17:0:2 => 15.2.0
+
if INCREMENTED_SONAME
-libaspell_la_LDFLAGS = -version-info 16:5:0 -no-undefined
+libaspell_la_LDFLAGS = -version-info 18:0:2 -no-undefined
else
-libaspell_la_LDFLAGS = -version-info 16:5:1 -no-undefined
+## Use C-1:R:A
+libaspell_la_LDFLAGS = -version-info 17:0:2 -no-undefined
endif
if PSPELL_COMPATIBILITY
libpspell_la_LIBADD = libaspell.la
if INCREMENTED_SONAME
-libpspell_la_LDFLAGS = -version-info 16:5:0 -no-undefined
+libpspell_la_LDFLAGS = -version-info 18:0:2 -no-undefined
else
-libpspell_la_LDFLAGS = -version-info 16:5:1 -no-undefined
+libpspell_la_LDFLAGS = -version-info 17:0:2 -no-undefined
endif
endif
# settings.h added as a dependency so it will get recreated if
# the COMPILE_IN_FILTERS option changes
gen/static_filters.src.cpp: ${static_optfiles} gen/mk-static-filter.pl gen/settings.h
- ${PERLPROG} gen/mk-static-filter.pl ${static_optfiles}
+ ${PERLPROG} ${srcdir}/gen/mk-static-filter.pl $(addprefix ${srcdir}/,${static_optfiles})
-lib/new_filter.cpp: gen/static_filters.src.cpp
+${srcdir}/lib/new_filter.cpp: gen/static_filters.src.cpp
gen/filter.pot: gen/mk-filter-pot.pl ${static_optfiles} ${dynamic_optfiles}
- ${PERLPROG} gen/mk-filter-pot.pl
+ ${PERLPROG} ${srcdir}/gen/mk-filter-pot.pl
EXTRA_DIST += ${static_optfiles} ${dynamic_optfiles} ${fltfiles} \
gen/mk-static-filter.pl gen/mk-filter-pot.pl\
# Mk Dirs Target
#
-common/config.cpp: gen/dirs.h
+${srcdir}/common/config.cpp: gen/dirs.h
gen/dirs.h: gen/mk-dirs_h.pl
- cd gen; perl mk-dirs_h.pl ${prefix} ${pkgdatadir} ${pkglibdir} ${sysconfdir} > dirs.h
+ perl ${srcdir}/gen/mk-dirs_h.pl ${prefix} ${pkgdatadir} ${pkglibdir} ${sysconfdir} > gen/dirs.h
EXTRA_DIST += gen/mk-dirs_h.pl
CLEANFILES += gen/dirs.h
dist-hook:
mkdir $(distdir)/maintainer
- cp autogen config-opt config-debug TODO FIXMEs README-CVS \
+ cp autogen config-opt config-debug TODO FIXMEs README.md \
$(distdir)/maintainer
+ cd $(distdir) && ../sanity-check.sh
ACLOCAL_AMFLAGS = -I m4
-# Makefile.in generated by automake 1.10.3 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@PSPELL_COMPATIBILITY_TRUE@am__append_5 = scripts/pspell-config
@PSPELL_COMPATIBILITY_TRUE@am__append_6 = scripts/pspell-config
subdir = .
-DIST_COMMON = README $(am__configure_deps) \
- $(am__pspell_include_HEADERS_DIST) $(include_HEADERS) \
- $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(top_srcdir)/auto/Makefile.in \
- $(top_srcdir)/common/Makefile.in $(top_srcdir)/configure \
- $(top_srcdir)/data/Makefile.in $(top_srcdir)/gen/Makefile.in \
- $(top_srcdir)/gen/settings.h.in \
- $(top_srcdir)/interfaces/Makefile.in \
- $(top_srcdir)/interfaces/cc/Makefile.in \
- $(top_srcdir)/lib/Makefile.in $(top_srcdir)/m4/Makefile.in \
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/configure $(am__configure_deps) \
+ $(top_srcdir)/gen/settings.h.in $(top_srcdir)/gen/Makefile.in \
+ $(top_srcdir)/common/Makefile.in $(top_srcdir)/lib/Makefile.in \
+ $(top_srcdir)/data/Makefile.in $(top_srcdir)/auto/Makefile.in \
$(top_srcdir)/modules/Makefile.in \
- $(top_srcdir)/modules/filter/Makefile.in \
+ $(top_srcdir)/modules/tokenizer/Makefile.in \
$(top_srcdir)/modules/speller/Makefile.in \
$(top_srcdir)/modules/speller/default/Makefile.in \
- $(top_srcdir)/modules/tokenizer/Makefile.in \
- $(top_srcdir)/prog/Makefile.in \
- $(top_srcdir)/scripts/Makefile.in ABOUT-NLS COPYING TODO \
- compile config.guess config.rpath config.sub depcomp \
- install-sh ltmain.sh missing
+ $(top_srcdir)/interfaces/Makefile.in \
+ $(top_srcdir)/interfaces/cc/Makefile.in \
+ $(top_srcdir)/scripts/Makefile.in \
+ $(top_srcdir)/prog/Makefile.in $(top_srcdir)/m4/Makefile.in \
+ $(top_srcdir)/modules/filter/Makefile.in depcomp \
+ $(include_HEADERS) $(am__pspell_include_HEADERS_DIST) \
+ ABOUT-NLS COPYING README TODO compile config.guess \
+ config.rpath config.sub install-sh missing ltmain.sh
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \
$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
- $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
- $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
modules/speller/default/Makefile interfaces/Makefile \
interfaces/cc/Makefile scripts/Makefile prog/Makefile \
m4/Makefile modules/filter/Makefile
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(filterdir)" "$(DESTDIR)$(libdir)" \
"$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" \
"$(DESTDIR)$(pkgdatadir)" "$(DESTDIR)$(filterdir)" \
"$(DESTDIR)$(optdir)" "$(DESTDIR)$(pkgdatadir)" \
"$(DESTDIR)$(includedir)" "$(DESTDIR)$(pspell_includedir)"
-filterLTLIBRARIES_INSTALL = $(INSTALL)
-libLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(filter_LTLIBRARIES) $(lib_LTLIBRARIES)
@COMPILE_IN_FILTERS_FALSE@context_filter_la_DEPENDENCIES = \
@COMPILE_IN_FILTERS_FALSE@ libaspell.la
@COMPILE_IN_FILTERS_FALSE@am_context_filter_la_OBJECTS = \
@COMPILE_IN_FILTERS_FALSE@ modules/filter/context.lo
context_filter_la_OBJECTS = $(am_context_filter_la_OBJECTS)
-context_filter_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(context_filter_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+context_filter_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+ $(AM_CXXFLAGS) $(CXXFLAGS) $(context_filter_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
@COMPILE_IN_FILTERS_FALSE@am_context_filter_la_rpath = -rpath \
@COMPILE_IN_FILTERS_FALSE@ $(filterdir)
@COMPILE_IN_FILTERS_FALSE@email_filter_la_DEPENDENCIES = libaspell.la
@COMPILE_IN_FILTERS_FALSE@am_email_filter_la_OBJECTS = \
@COMPILE_IN_FILTERS_FALSE@ modules/filter/email.lo
email_filter_la_OBJECTS = $(am_email_filter_la_OBJECTS)
-email_filter_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(email_filter_la_LDFLAGS) $(LDFLAGS) -o $@
+email_filter_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+ $(AM_CXXFLAGS) $(CXXFLAGS) $(email_filter_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
@COMPILE_IN_FILTERS_FALSE@am_email_filter_la_rpath = -rpath \
@COMPILE_IN_FILTERS_FALSE@ $(filterdir)
am__DEPENDENCIES_1 =
am__libaspell_la_SOURCES_DIST = common/cache.cpp common/string.cpp \
common/getdata.cpp common/itemize.cpp common/file_util.cpp \
common/string_map.cpp common/string_list.cpp common/config.cpp \
- common/posib_err.cpp common/errors.cpp common/error.cpp \
- common/fstream.cpp common/iostream.cpp common/info.cpp \
- common/can_have_error.cpp common/convert.cpp \
+ common/version.cpp common/posib_err.cpp common/errors.cpp \
+ common/error.cpp common/fstream.cpp common/iostream.cpp \
+ common/info.cpp common/can_have_error.cpp common/convert.cpp \
common/tokenizer.cpp common/speller.cpp \
common/document_checker.cpp common/filter.cpp \
common/objstack.cpp common/strtonum.cpp \
am_libaspell_la_OBJECTS = common/cache.lo common/string.lo \
common/getdata.lo common/itemize.lo common/file_util.lo \
common/string_map.lo common/string_list.lo common/config.lo \
- common/posib_err.lo common/errors.lo common/error.lo \
- common/fstream.lo common/iostream.lo common/info.lo \
- common/can_have_error.lo common/convert.lo common/tokenizer.lo \
- common/speller.lo common/document_checker.lo common/filter.lo \
- common/objstack.lo common/strtonum.lo common/gettext_init.lo \
+ common/version.lo common/posib_err.lo common/errors.lo \
+ common/error.lo common/fstream.lo common/iostream.lo \
+ common/info.lo common/can_have_error.lo common/convert.lo \
+ common/tokenizer.lo common/speller.lo \
+ common/document_checker.lo common/filter.lo common/objstack.lo \
+ common/strtonum.lo common/gettext_init.lo \
common/file_data_util.lo \
modules/speller/default/readonly_ws.lo \
modules/speller/default/suggest.lo \
lib/speller-c.lo lib/string_pair_enumeration-c.lo \
lib/new_checker.lo modules/filter/url.lo $(am__objects_1)
libaspell_la_OBJECTS = $(am_libaspell_la_OBJECTS)
-libaspell_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+libaspell_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
$(CXXFLAGS) $(libaspell_la_LDFLAGS) $(LDFLAGS) -o $@
@PSPELL_COMPATIBILITY_TRUE@libpspell_la_DEPENDENCIES = libaspell.la
am__libpspell_la_SOURCES_DIST = lib/dummy.cpp
@PSPELL_COMPATIBILITY_TRUE@am_libpspell_la_OBJECTS = lib/dummy.lo
libpspell_la_OBJECTS = $(am_libpspell_la_OBJECTS)
-libpspell_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+libpspell_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
$(CXXFLAGS) $(libpspell_la_LDFLAGS) $(LDFLAGS) -o $@
@PSPELL_COMPATIBILITY_TRUE@am_libpspell_la_rpath = -rpath $(libdir)
@COMPILE_IN_FILTERS_FALSE@am_nroff_filter_la_OBJECTS = \
@COMPILE_IN_FILTERS_FALSE@ modules/filter/nroff.lo
nroff_filter_la_OBJECTS = $(am_nroff_filter_la_OBJECTS)
-nroff_filter_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(nroff_filter_la_LDFLAGS) $(LDFLAGS) -o $@
+nroff_filter_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+ $(AM_CXXFLAGS) $(CXXFLAGS) $(nroff_filter_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
@COMPILE_IN_FILTERS_FALSE@am_nroff_filter_la_rpath = -rpath \
@COMPILE_IN_FILTERS_FALSE@ $(filterdir)
@COMPILE_IN_FILTERS_FALSE@sgml_filter_la_DEPENDENCIES = libaspell.la
@COMPILE_IN_FILTERS_FALSE@am_sgml_filter_la_OBJECTS = \
@COMPILE_IN_FILTERS_FALSE@ modules/filter/sgml.lo
sgml_filter_la_OBJECTS = $(am_sgml_filter_la_OBJECTS)
-sgml_filter_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(sgml_filter_la_LDFLAGS) $(LDFLAGS) -o $@
+sgml_filter_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+ $(AM_CXXFLAGS) $(CXXFLAGS) $(sgml_filter_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
@COMPILE_IN_FILTERS_FALSE@am_sgml_filter_la_rpath = -rpath \
@COMPILE_IN_FILTERS_FALSE@ $(filterdir)
@COMPILE_IN_FILTERS_FALSE@tex_filter_la_DEPENDENCIES = libaspell.la
@COMPILE_IN_FILTERS_FALSE@am_tex_filter_la_OBJECTS = \
@COMPILE_IN_FILTERS_FALSE@ modules/filter/tex.lo
tex_filter_la_OBJECTS = $(am_tex_filter_la_OBJECTS)
-tex_filter_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(tex_filter_la_LDFLAGS) $(LDFLAGS) -o $@
+tex_filter_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+ $(AM_CXXFLAGS) $(CXXFLAGS) $(tex_filter_la_LDFLAGS) $(LDFLAGS) \
+ -o $@
@COMPILE_IN_FILTERS_FALSE@am_tex_filter_la_rpath = -rpath $(filterdir)
@COMPILE_IN_FILTERS_FALSE@texinfo_filter_la_DEPENDENCIES = \
@COMPILE_IN_FILTERS_FALSE@ libaspell.la
@COMPILE_IN_FILTERS_FALSE@am_texinfo_filter_la_OBJECTS = \
@COMPILE_IN_FILTERS_FALSE@ modules/filter/texinfo.lo
texinfo_filter_la_OBJECTS = $(am_texinfo_filter_la_OBJECTS)
-texinfo_filter_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(texinfo_filter_la_LDFLAGS) $(LDFLAGS) -o $@
+texinfo_filter_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+ $(AM_CXXFLAGS) $(CXXFLAGS) $(texinfo_filter_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
@COMPILE_IN_FILTERS_FALSE@am_texinfo_filter_la_rpath = -rpath \
@COMPILE_IN_FILTERS_FALSE@ $(filterdir)
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
PROGRAMS = $(bin_PROGRAMS)
am_aspell_OBJECTS = prog/aspell.$(OBJEXT) prog/check_funs.$(OBJEXT) \
prog/checker_string.$(OBJEXT)
am_word_list_compress_OBJECTS = prog/compress.$(OBJEXT)
word_list_compress_OBJECTS = $(am_word_list_compress_OBJECTS)
word_list_compress_LDADD = $(LDADD)
-binSCRIPT_INSTALL = $(INSTALL_SCRIPT)
-pkgdataSCRIPT_INSTALL = $(INSTALL_SCRIPT)
SCRIPTS = $(bin_SCRIPTS) $(pkgdata_SCRIPTS)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/gen
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_@AM_V@)
+am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
+am__v_CXX_0 = @echo " CXX " $@;
+am__v_CXX_1 =
CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
+am__v_CXXLD_0 = @echo " CXXLD " $@;
+am__v_CXXLD_1 =
SOURCES = $(context_filter_la_SOURCES) $(email_filter_la_SOURCES) \
$(libaspell_la_SOURCES) $(libpspell_la_SOURCES) \
$(nroff_filter_la_SOURCES) $(sgml_filter_la_SOURCES) \
$(am__tex_filter_la_SOURCES_DIST) \
$(am__texinfo_filter_la_SOURCES_DIST) $(aspell_SOURCES) \
$(prezip_bin_SOURCES) $(word_list_compress_SOURCES)
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
-filterDATA_INSTALL = $(INSTALL_DATA)
-optDATA_INSTALL = $(INSTALL_DATA)
-pkgdataDATA_INSTALL = $(INSTALL_DATA)
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
DATA = $(filter_DATA) $(noinst_DATA) $(opt_DATA) $(pkgdata_DATA)
-includeHEADERS_INSTALL = $(INSTALL_HEADER)
am__pspell_include_HEADERS_DIST = interfaces/cc/pspell.h
-pspell_includeHEADERS_INSTALL = $(INSTALL_HEADER)
HEADERS = $(include_HEADERS) $(pspell_include_HEADERS)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+ cscope distdir dist dist-all distcheck
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
+CSCOPE = cscope
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
- { test ! -d $(distdir) \
- || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
- && rm -fr $(distdir); }; }
+ if test -d "$(distdir)"; then \
+ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
+ && rm -rf "$(distdir)" \
+ || { sleep 5 && rm -rf "$(distdir)"; }; \
+ else :; fi
+am__post_remove_distdir = $(am__remove_distdir)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
DIST_ARCHIVES = $(distdir).tar.gz
GZIP_ENV = --best
+DIST_TARGETS = dist-gzip
distuninstallcheck_listfiles = find . -type f -print
+am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
+ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
distcleancheck_listfiles = find . -type f -print
# These are needed due to a bug in Automake
pkglibdir = @pkglibdir@
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERLPROG = @PERLPROG@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
libexecdir = @libexecdir@
localedir = ${datadir}/locale
localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = foreign subdir-objects
libaspell_la_SOURCES = common/cache.cpp common/string.cpp \
common/getdata.cpp common/itemize.cpp common/file_util.cpp \
common/string_map.cpp common/string_list.cpp common/config.cpp \
- common/posib_err.cpp common/errors.cpp common/error.cpp \
- common/fstream.cpp common/iostream.cpp common/info.cpp \
- common/can_have_error.cpp common/convert.cpp \
+ common/version.cpp common/posib_err.cpp common/errors.cpp \
+ common/error.cpp common/fstream.cpp common/iostream.cpp \
+ common/info.cpp common/can_have_error.cpp common/convert.cpp \
common/tokenizer.cpp common/speller.cpp \
common/document_checker.cpp common/filter.cpp \
common/objstack.cpp common/strtonum.cpp \
lib/string_pair_enumeration-c.cpp lib/new_checker.cpp \
modules/filter/url.cpp $(am__append_3)
libaspell_la_LIBADD = $(LTLIBINTL) $(PTHREAD_LIB)
-@INCREMENTED_SONAME_FALSE@libaspell_la_LDFLAGS = -version-info 16:5:1 -no-undefined
-@INCREMENTED_SONAME_TRUE@libaspell_la_LDFLAGS = -version-info 16:5:0 -no-undefined
+@INCREMENTED_SONAME_FALSE@libaspell_la_LDFLAGS = -version-info 17:0:2 -no-undefined
+@INCREMENTED_SONAME_TRUE@libaspell_la_LDFLAGS = -version-info 18:0:2 -no-undefined
@PSPELL_COMPATIBILITY_TRUE@libpspell_la_SOURCES = lib/dummy.cpp
@PSPELL_COMPATIBILITY_TRUE@libpspell_la_LIBADD = libaspell.la
-@INCREMENTED_SONAME_FALSE@@PSPELL_COMPATIBILITY_TRUE@libpspell_la_LDFLAGS = -version-info 16:5:1 -no-undefined
-@INCREMENTED_SONAME_TRUE@@PSPELL_COMPATIBILITY_TRUE@libpspell_la_LDFLAGS = -version-info 16:5:0 -no-undefined
+@INCREMENTED_SONAME_FALSE@@PSPELL_COMPATIBILITY_TRUE@libpspell_la_LDFLAGS = -version-info 17:0:2 -no-undefined
+@INCREMENTED_SONAME_TRUE@@PSPELL_COMPATIBILITY_TRUE@libpspell_la_LDFLAGS = -version-info 18:0:2 -no-undefined
word_list_compress_SOURCES = prog/compress.c
aspell_SOURCES = prog/aspell.cpp prog/check_funs.cpp prog/checker_string.cpp
aspell_LDADD = libaspell.la $(CURSES_LIB)
.SUFFIXES:
.SUFFIXES: .info .c .cpp .lo .o .obj
-am--refresh:
+am--refresh: Makefile
@:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
- cd $(srcdir) && $(AUTOMAKE) --foreign \
+ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
+ $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
&& exit 0; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
$(SHELL) ./config.status --recheck
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(srcdir) && $(AUTOCONF)
+ $(am__cd) $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+ $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+$(am__aclocal_m4_deps):
gen/settings.h: gen/stamp-h1
- @if test ! -f $@; then \
- rm -f gen/stamp-h1; \
- $(MAKE) $(AM_MAKEFLAGS) gen/stamp-h1; \
- else :; fi
+ @test -f $@ || rm -f gen/stamp-h1
+ @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) gen/stamp-h1
gen/stamp-h1: $(top_srcdir)/gen/settings.h.in $(top_builddir)/config.status
@rm -f gen/stamp-h1
cd $(top_builddir) && $(SHELL) ./config.status gen/settings.h
$(top_srcdir)/gen/settings.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_srcdir) && $(AUTOHEADER)
+ ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
rm -f gen/stamp-h1
touch $@
cd $(top_builddir) && $(SHELL) ./config.status $@
modules/filter/Makefile: $(top_builddir)/config.status $(top_srcdir)/modules/filter/Makefile.in
cd $(top_builddir) && $(SHELL) ./config.status $@
+
install-filterLTLIBRARIES: $(filter_LTLIBRARIES)
@$(NORMAL_INSTALL)
- test -z "$(filterdir)" || $(MKDIR_P) "$(DESTDIR)$(filterdir)"
- @list='$(filter_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(filter_LTLIBRARIES)'; test -n "$(filterdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(filterLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(filterdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(filterLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(filterdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(MKDIR_P) '$(DESTDIR)$(filterdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(filterdir)" || exit 1; \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(filterdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(filterdir)"; \
+ }
uninstall-filterLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(filter_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(filterdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(filterdir)/$$p"; \
+ @list='$(filter_LTLIBRARIES)'; test -n "$(filterdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(filterdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(filterdir)/$$f"; \
done
clean-filterLTLIBRARIES:
-test -z "$(filter_LTLIBRARIES)" || rm -f $(filter_LTLIBRARIES)
- @list='$(filter_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
+ @list='$(filter_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
- test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
+ }
uninstall-libLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
done
clean-libLTLIBRARIES:
-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
+ @list='$(lib_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
modules/filter/$(am__dirstamp):
@$(MKDIR_P) modules/filter
@: > modules/filter/$(am__dirstamp)
@: > modules/filter/$(DEPDIR)/$(am__dirstamp)
modules/filter/context.lo: modules/filter/$(am__dirstamp) \
modules/filter/$(DEPDIR)/$(am__dirstamp)
-context-filter.la: $(context_filter_la_OBJECTS) $(context_filter_la_DEPENDENCIES)
- $(context_filter_la_LINK) $(am_context_filter_la_rpath) $(context_filter_la_OBJECTS) $(context_filter_la_LIBADD) $(LIBS)
+
+context-filter.la: $(context_filter_la_OBJECTS) $(context_filter_la_DEPENDENCIES) $(EXTRA_context_filter_la_DEPENDENCIES)
+ $(AM_V_CXXLD)$(context_filter_la_LINK) $(am_context_filter_la_rpath) $(context_filter_la_OBJECTS) $(context_filter_la_LIBADD) $(LIBS)
modules/filter/email.lo: modules/filter/$(am__dirstamp) \
modules/filter/$(DEPDIR)/$(am__dirstamp)
-email-filter.la: $(email_filter_la_OBJECTS) $(email_filter_la_DEPENDENCIES)
- $(email_filter_la_LINK) $(am_email_filter_la_rpath) $(email_filter_la_OBJECTS) $(email_filter_la_LIBADD) $(LIBS)
+
+email-filter.la: $(email_filter_la_OBJECTS) $(email_filter_la_DEPENDENCIES) $(EXTRA_email_filter_la_DEPENDENCIES)
+ $(AM_V_CXXLD)$(email_filter_la_LINK) $(am_email_filter_la_rpath) $(email_filter_la_OBJECTS) $(email_filter_la_LIBADD) $(LIBS)
common/$(am__dirstamp):
@$(MKDIR_P) common
@: > common/$(am__dirstamp)
common/$(DEPDIR)/$(am__dirstamp)
common/config.lo: common/$(am__dirstamp) \
common/$(DEPDIR)/$(am__dirstamp)
+common/version.lo: common/$(am__dirstamp) \
+ common/$(DEPDIR)/$(am__dirstamp)
common/posib_err.lo: common/$(am__dirstamp) \
common/$(DEPDIR)/$(am__dirstamp)
common/errors.lo: common/$(am__dirstamp) \
modules/filter/$(DEPDIR)/$(am__dirstamp)
modules/filter/texinfo.lo: modules/filter/$(am__dirstamp) \
modules/filter/$(DEPDIR)/$(am__dirstamp)
-libaspell.la: $(libaspell_la_OBJECTS) $(libaspell_la_DEPENDENCIES)
- $(libaspell_la_LINK) -rpath $(libdir) $(libaspell_la_OBJECTS) $(libaspell_la_LIBADD) $(LIBS)
-libpspell.la: $(libpspell_la_OBJECTS) $(libpspell_la_DEPENDENCIES)
- $(libpspell_la_LINK) $(am_libpspell_la_rpath) $(libpspell_la_OBJECTS) $(libpspell_la_LIBADD) $(LIBS)
-nroff-filter.la: $(nroff_filter_la_OBJECTS) $(nroff_filter_la_DEPENDENCIES)
- $(nroff_filter_la_LINK) $(am_nroff_filter_la_rpath) $(nroff_filter_la_OBJECTS) $(nroff_filter_la_LIBADD) $(LIBS)
-sgml-filter.la: $(sgml_filter_la_OBJECTS) $(sgml_filter_la_DEPENDENCIES)
- $(sgml_filter_la_LINK) $(am_sgml_filter_la_rpath) $(sgml_filter_la_OBJECTS) $(sgml_filter_la_LIBADD) $(LIBS)
-tex-filter.la: $(tex_filter_la_OBJECTS) $(tex_filter_la_DEPENDENCIES)
- $(tex_filter_la_LINK) $(am_tex_filter_la_rpath) $(tex_filter_la_OBJECTS) $(tex_filter_la_LIBADD) $(LIBS)
-texinfo-filter.la: $(texinfo_filter_la_OBJECTS) $(texinfo_filter_la_DEPENDENCIES)
- $(texinfo_filter_la_LINK) $(am_texinfo_filter_la_rpath) $(texinfo_filter_la_OBJECTS) $(texinfo_filter_la_LIBADD) $(LIBS)
+
+libaspell.la: $(libaspell_la_OBJECTS) $(libaspell_la_DEPENDENCIES) $(EXTRA_libaspell_la_DEPENDENCIES)
+ $(AM_V_CXXLD)$(libaspell_la_LINK) -rpath $(libdir) $(libaspell_la_OBJECTS) $(libaspell_la_LIBADD) $(LIBS)
+
+libpspell.la: $(libpspell_la_OBJECTS) $(libpspell_la_DEPENDENCIES) $(EXTRA_libpspell_la_DEPENDENCIES)
+ $(AM_V_CXXLD)$(libpspell_la_LINK) $(am_libpspell_la_rpath) $(libpspell_la_OBJECTS) $(libpspell_la_LIBADD) $(LIBS)
+
+nroff-filter.la: $(nroff_filter_la_OBJECTS) $(nroff_filter_la_DEPENDENCIES) $(EXTRA_nroff_filter_la_DEPENDENCIES)
+ $(AM_V_CXXLD)$(nroff_filter_la_LINK) $(am_nroff_filter_la_rpath) $(nroff_filter_la_OBJECTS) $(nroff_filter_la_LIBADD) $(LIBS)
+
+sgml-filter.la: $(sgml_filter_la_OBJECTS) $(sgml_filter_la_DEPENDENCIES) $(EXTRA_sgml_filter_la_DEPENDENCIES)
+ $(AM_V_CXXLD)$(sgml_filter_la_LINK) $(am_sgml_filter_la_rpath) $(sgml_filter_la_OBJECTS) $(sgml_filter_la_LIBADD) $(LIBS)
+
+tex-filter.la: $(tex_filter_la_OBJECTS) $(tex_filter_la_DEPENDENCIES) $(EXTRA_tex_filter_la_DEPENDENCIES)
+ $(AM_V_CXXLD)$(tex_filter_la_LINK) $(am_tex_filter_la_rpath) $(tex_filter_la_OBJECTS) $(tex_filter_la_LIBADD) $(LIBS)
+
+texinfo-filter.la: $(texinfo_filter_la_OBJECTS) $(texinfo_filter_la_DEPENDENCIES) $(EXTRA_texinfo_filter_la_DEPENDENCIES)
+ $(AM_V_CXXLD)$(texinfo_filter_la_LINK) $(am_texinfo_filter_la_rpath) $(texinfo_filter_la_OBJECTS) $(texinfo_filter_la_LIBADD) $(LIBS)
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
- test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- if test -f $$p \
- || test -f $$p1 \
- ; then \
- f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
- else :; fi; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+ fi; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p \
+ || test -f $$p1 \
+ ; then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' \
+ -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
- rm -f "$(DESTDIR)$(bindir)/$$f"; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' \
+ `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
clean-binPROGRAMS:
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
+ @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
prog/$(am__dirstamp):
@$(MKDIR_P) prog
@: > prog/$(am__dirstamp)
prog/$(DEPDIR)/$(am__dirstamp)
prog/checker_string.$(OBJEXT): prog/$(am__dirstamp) \
prog/$(DEPDIR)/$(am__dirstamp)
-aspell$(EXEEXT): $(aspell_OBJECTS) $(aspell_DEPENDENCIES)
+
+aspell$(EXEEXT): $(aspell_OBJECTS) $(aspell_DEPENDENCIES) $(EXTRA_aspell_DEPENDENCIES)
@rm -f aspell$(EXEEXT)
- $(CXXLINK) $(aspell_OBJECTS) $(aspell_LDADD) $(LIBS)
+ $(AM_V_CXXLD)$(CXXLINK) $(aspell_OBJECTS) $(aspell_LDADD) $(LIBS)
prog/prezip.$(OBJEXT): prog/$(am__dirstamp) \
prog/$(DEPDIR)/$(am__dirstamp)
-prezip-bin$(EXEEXT): $(prezip_bin_OBJECTS) $(prezip_bin_DEPENDENCIES)
+
+prezip-bin$(EXEEXT): $(prezip_bin_OBJECTS) $(prezip_bin_DEPENDENCIES) $(EXTRA_prezip_bin_DEPENDENCIES)
@rm -f prezip-bin$(EXEEXT)
- $(LINK) $(prezip_bin_OBJECTS) $(prezip_bin_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(prezip_bin_OBJECTS) $(prezip_bin_LDADD) $(LIBS)
prog/compress.$(OBJEXT): prog/$(am__dirstamp) \
prog/$(DEPDIR)/$(am__dirstamp)
-word-list-compress$(EXEEXT): $(word_list_compress_OBJECTS) $(word_list_compress_DEPENDENCIES)
+
+word-list-compress$(EXEEXT): $(word_list_compress_OBJECTS) $(word_list_compress_DEPENDENCIES) $(EXTRA_word_list_compress_DEPENDENCIES)
@rm -f word-list-compress$(EXEEXT)
- $(LINK) $(word_list_compress_OBJECTS) $(word_list_compress_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(word_list_compress_OBJECTS) $(word_list_compress_LDADD) $(LIBS)
install-binSCRIPTS: $(bin_SCRIPTS)
@$(NORMAL_INSTALL)
- test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
- @list='$(bin_SCRIPTS)'; for p in $$list; do \
+ @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- if test -f $$d$$p; then \
- f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
- echo " $(binSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(bindir)/$$f'"; \
- $(binSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(bindir)/$$f"; \
- else :; fi; \
- done
+ if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n' \
+ -e 'h;s|.*|.|' \
+ -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) { files[d] = files[d] " " $$1; \
+ if (++n[d] == $(am__install_max)) { \
+ print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
+ else { print "f", d "/" $$4, $$1 } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
uninstall-binSCRIPTS:
@$(NORMAL_UNINSTALL)
- @list='$(bin_SCRIPTS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
- echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
- rm -f "$(DESTDIR)$(bindir)/$$f"; \
- done
+ @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 's,.*/,,;$(transform)'`; \
+ dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir)
install-pkgdataSCRIPTS: $(pkgdata_SCRIPTS)
@$(NORMAL_INSTALL)
- test -z "$(pkgdatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)"
- @list='$(pkgdata_SCRIPTS)'; for p in $$list; do \
+ @list='$(pkgdata_SCRIPTS)'; test -n "$(pkgdatadir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(pkgdatadir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- if test -f $$d$$p; then \
- f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
- echo " $(pkgdataSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgdatadir)/$$f'"; \
- $(pkgdataSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgdatadir)/$$f"; \
- else :; fi; \
- done
+ if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n' \
+ -e 'h;s|.*|.|' \
+ -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) { files[d] = files[d] " " $$1; \
+ if (++n[d] == $(am__install_max)) { \
+ print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
+ else { print "f", d "/" $$4, $$1 } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(pkgdatadir)$$dir'"; \
+ $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(pkgdatadir)$$dir" || exit $$?; \
+ } \
+ ; done
uninstall-pkgdataSCRIPTS:
@$(NORMAL_UNINSTALL)
- @list='$(pkgdata_SCRIPTS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
- echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \
- rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \
- done
+ @list='$(pkgdata_SCRIPTS)'; test -n "$(pkgdatadir)" || exit 0; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 's,.*/,,;$(transform)'`; \
+ dir='$(DESTDIR)$(pkgdatadir)'; $(am__uninstall_files_from_dir)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
- -rm -f common/cache.$(OBJEXT)
- -rm -f common/cache.lo
- -rm -f common/can_have_error.$(OBJEXT)
- -rm -f common/can_have_error.lo
- -rm -f common/config.$(OBJEXT)
- -rm -f common/config.lo
- -rm -f common/convert.$(OBJEXT)
- -rm -f common/convert.lo
- -rm -f common/document_checker.$(OBJEXT)
- -rm -f common/document_checker.lo
- -rm -f common/error.$(OBJEXT)
- -rm -f common/error.lo
- -rm -f common/errors.$(OBJEXT)
- -rm -f common/errors.lo
- -rm -f common/file_data_util.$(OBJEXT)
- -rm -f common/file_data_util.lo
- -rm -f common/file_util.$(OBJEXT)
- -rm -f common/file_util.lo
- -rm -f common/filter.$(OBJEXT)
- -rm -f common/filter.lo
- -rm -f common/fstream.$(OBJEXT)
- -rm -f common/fstream.lo
- -rm -f common/getdata.$(OBJEXT)
- -rm -f common/getdata.lo
- -rm -f common/gettext_init.$(OBJEXT)
- -rm -f common/gettext_init.lo
- -rm -f common/info.$(OBJEXT)
- -rm -f common/info.lo
- -rm -f common/iostream.$(OBJEXT)
- -rm -f common/iostream.lo
- -rm -f common/itemize.$(OBJEXT)
- -rm -f common/itemize.lo
- -rm -f common/objstack.$(OBJEXT)
- -rm -f common/objstack.lo
- -rm -f common/posib_err.$(OBJEXT)
- -rm -f common/posib_err.lo
- -rm -f common/speller.$(OBJEXT)
- -rm -f common/speller.lo
- -rm -f common/string.$(OBJEXT)
- -rm -f common/string.lo
- -rm -f common/string_list.$(OBJEXT)
- -rm -f common/string_list.lo
- -rm -f common/string_map.$(OBJEXT)
- -rm -f common/string_map.lo
- -rm -f common/strtonum.$(OBJEXT)
- -rm -f common/strtonum.lo
- -rm -f common/tokenizer.$(OBJEXT)
- -rm -f common/tokenizer.lo
- -rm -f lib/can_have_error-c.$(OBJEXT)
- -rm -f lib/can_have_error-c.lo
- -rm -f lib/config-c.$(OBJEXT)
- -rm -f lib/config-c.lo
- -rm -f lib/document_checker-c.$(OBJEXT)
- -rm -f lib/document_checker-c.lo
- -rm -f lib/dummy.$(OBJEXT)
- -rm -f lib/dummy.lo
- -rm -f lib/error-c.$(OBJEXT)
- -rm -f lib/error-c.lo
- -rm -f lib/filter-c.$(OBJEXT)
- -rm -f lib/filter-c.lo
- -rm -f lib/find_speller.$(OBJEXT)
- -rm -f lib/find_speller.lo
- -rm -f lib/info-c.$(OBJEXT)
- -rm -f lib/info-c.lo
- -rm -f lib/mutable_container-c.$(OBJEXT)
- -rm -f lib/mutable_container-c.lo
- -rm -f lib/new_checker.$(OBJEXT)
- -rm -f lib/new_checker.lo
- -rm -f lib/new_config.$(OBJEXT)
- -rm -f lib/new_config.lo
- -rm -f lib/new_filter.$(OBJEXT)
- -rm -f lib/new_filter.lo
- -rm -f lib/new_fmode.$(OBJEXT)
- -rm -f lib/new_fmode.lo
- -rm -f lib/speller-c.$(OBJEXT)
- -rm -f lib/speller-c.lo
- -rm -f lib/string_enumeration-c.$(OBJEXT)
- -rm -f lib/string_enumeration-c.lo
- -rm -f lib/string_list-c.$(OBJEXT)
- -rm -f lib/string_list-c.lo
- -rm -f lib/string_map-c.$(OBJEXT)
- -rm -f lib/string_map-c.lo
- -rm -f lib/string_pair_enumeration-c.$(OBJEXT)
- -rm -f lib/string_pair_enumeration-c.lo
- -rm -f lib/word_list-c.$(OBJEXT)
- -rm -f lib/word_list-c.lo
- -rm -f modules/filter/context.$(OBJEXT)
- -rm -f modules/filter/context.lo
- -rm -f modules/filter/email.$(OBJEXT)
- -rm -f modules/filter/email.lo
- -rm -f modules/filter/nroff.$(OBJEXT)
- -rm -f modules/filter/nroff.lo
- -rm -f modules/filter/sgml.$(OBJEXT)
- -rm -f modules/filter/sgml.lo
- -rm -f modules/filter/tex.$(OBJEXT)
- -rm -f modules/filter/tex.lo
- -rm -f modules/filter/texinfo.$(OBJEXT)
- -rm -f modules/filter/texinfo.lo
- -rm -f modules/filter/url.$(OBJEXT)
- -rm -f modules/filter/url.lo
- -rm -f modules/speller/default/affix.$(OBJEXT)
- -rm -f modules/speller/default/affix.lo
- -rm -f modules/speller/default/data.$(OBJEXT)
- -rm -f modules/speller/default/data.lo
- -rm -f modules/speller/default/editdist.$(OBJEXT)
- -rm -f modules/speller/default/editdist.lo
- -rm -f modules/speller/default/language.$(OBJEXT)
- -rm -f modules/speller/default/language.lo
- -rm -f modules/speller/default/leditdist.$(OBJEXT)
- -rm -f modules/speller/default/leditdist.lo
- -rm -f modules/speller/default/multi_ws.$(OBJEXT)
- -rm -f modules/speller/default/multi_ws.lo
- -rm -f modules/speller/default/phonet.$(OBJEXT)
- -rm -f modules/speller/default/phonet.lo
- -rm -f modules/speller/default/phonetic.$(OBJEXT)
- -rm -f modules/speller/default/phonetic.lo
- -rm -f modules/speller/default/primes.$(OBJEXT)
- -rm -f modules/speller/default/primes.lo
- -rm -f modules/speller/default/readonly_ws.$(OBJEXT)
- -rm -f modules/speller/default/readonly_ws.lo
- -rm -f modules/speller/default/speller_impl.$(OBJEXT)
- -rm -f modules/speller/default/speller_impl.lo
- -rm -f modules/speller/default/suggest.$(OBJEXT)
- -rm -f modules/speller/default/suggest.lo
- -rm -f modules/speller/default/typo_editdist.$(OBJEXT)
- -rm -f modules/speller/default/typo_editdist.lo
- -rm -f modules/speller/default/writable.$(OBJEXT)
- -rm -f modules/speller/default/writable.lo
- -rm -f modules/tokenizer/basic.$(OBJEXT)
- -rm -f modules/tokenizer/basic.lo
- -rm -f prog/aspell.$(OBJEXT)
- -rm -f prog/check_funs.$(OBJEXT)
- -rm -f prog/checker_string.$(OBJEXT)
- -rm -f prog/compress.$(OBJEXT)
- -rm -f prog/prezip.$(OBJEXT)
+ -rm -f common/*.$(OBJEXT)
+ -rm -f common/*.lo
+ -rm -f lib/*.$(OBJEXT)
+ -rm -f lib/*.lo
+ -rm -f modules/filter/*.$(OBJEXT)
+ -rm -f modules/filter/*.lo
+ -rm -f modules/speller/default/*.$(OBJEXT)
+ -rm -f modules/speller/default/*.lo
+ -rm -f modules/tokenizer/*.$(OBJEXT)
+ -rm -f modules/tokenizer/*.lo
+ -rm -f prog/*.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@common/$(DEPDIR)/string_map.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@common/$(DEPDIR)/strtonum.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@common/$(DEPDIR)/tokenizer.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@common/$(DEPDIR)/version.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/can_have_error-c.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/config-c.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/document_checker-c.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@prog/$(DEPDIR)/prezip.Po@am__quote@
.c.o:
-@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCC_TRUE@ mv -f $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ $<
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
-@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
-@am__fastdepCC_TRUE@ mv -f $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
-@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCC_TRUE@ mv -f $$depbase.Tpo $$depbase.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
.cpp.o:
-@am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCXX_TRUE@ mv -f $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
.cpp.obj:
-@am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
-@am__fastdepCXX_TRUE@ mv -f $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.cpp.lo:
-@am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCXX_TRUE@ mv -f $$depbase.Tpo $$depbase.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
-rm -f libtool config.lt
install-filterDATA: $(filter_DATA)
@$(NORMAL_INSTALL)
- test -z "$(filterdir)" || $(MKDIR_P) "$(DESTDIR)$(filterdir)"
- @list='$(filter_DATA)'; for p in $$list; do \
+ @list='$(filter_DATA)'; test -n "$(filterdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(filterdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(filterdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(filterDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(filterdir)/$$f'"; \
- $(filterDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(filterdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(filterdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(filterdir)" || exit $$?; \
done
uninstall-filterDATA:
@$(NORMAL_UNINSTALL)
- @list='$(filter_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(filterdir)/$$f'"; \
- rm -f "$(DESTDIR)$(filterdir)/$$f"; \
- done
+ @list='$(filter_DATA)'; test -n "$(filterdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(filterdir)'; $(am__uninstall_files_from_dir)
install-optDATA: $(opt_DATA)
@$(NORMAL_INSTALL)
- test -z "$(optdir)" || $(MKDIR_P) "$(DESTDIR)$(optdir)"
- @list='$(opt_DATA)'; for p in $$list; do \
+ @list='$(opt_DATA)'; test -n "$(optdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(optdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(optdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(optDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(optdir)/$$f'"; \
- $(optDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(optdir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(optdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(optdir)" || exit $$?; \
done
uninstall-optDATA:
@$(NORMAL_UNINSTALL)
- @list='$(opt_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(optdir)/$$f'"; \
- rm -f "$(DESTDIR)$(optdir)/$$f"; \
- done
+ @list='$(opt_DATA)'; test -n "$(optdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(optdir)'; $(am__uninstall_files_from_dir)
install-pkgdataDATA: $(pkgdata_DATA)
@$(NORMAL_INSTALL)
- test -z "$(pkgdatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)"
- @list='$(pkgdata_DATA)'; for p in $$list; do \
+ @list='$(pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(pkgdatadir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(pkgdataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgdatadir)/$$f'"; \
- $(pkgdataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgdatadir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgdatadir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgdatadir)" || exit $$?; \
done
uninstall-pkgdataDATA:
@$(NORMAL_UNINSTALL)
- @list='$(pkgdata_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \
- rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \
- done
+ @list='$(pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(pkgdatadir)'; $(am__uninstall_files_from_dir)
install-includeHEADERS: $(include_HEADERS)
@$(NORMAL_INSTALL)
- test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
- @list='$(include_HEADERS)'; for p in $$list; do \
+ @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \
- $(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \
done
uninstall-includeHEADERS:
@$(NORMAL_UNINSTALL)
- @list='$(include_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \
- rm -f "$(DESTDIR)$(includedir)/$$f"; \
- done
+ @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir)
install-pspell_includeHEADERS: $(pspell_include_HEADERS)
@$(NORMAL_INSTALL)
- test -z "$(pspell_includedir)" || $(MKDIR_P) "$(DESTDIR)$(pspell_includedir)"
- @list='$(pspell_include_HEADERS)'; for p in $$list; do \
+ @list='$(pspell_include_HEADERS)'; test -n "$(pspell_includedir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(pspell_includedir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(pspell_includedir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(pspell_includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(pspell_includedir)/$$f'"; \
- $(pspell_includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(pspell_includedir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(pspell_includedir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(pspell_includedir)" || exit $$?; \
done
uninstall-pspell_includeHEADERS:
@$(NORMAL_UNINSTALL)
- @list='$(pspell_include_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(pspell_includedir)/$$f'"; \
- rm -f "$(DESTDIR)$(pspell_includedir)/$$f"; \
- done
+ @list='$(pspell_include_HEADERS)'; test -n "$(pspell_includedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(pspell_includedir)'; $(am__uninstall_files_from_dir)
# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
else \
local_target="$$target"; \
fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-$(RECURSIVE_CLEAN_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscope: cscope.files
+ test ! -s cscope.files \
+ || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
+clean-cscope:
+ -rm -f cscope.files
+cscope.files: clean-cscope cscopelist
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+ -rm -f cscope.out cscope.in.out cscope.po.out cscope.files
distdir: $(DISTFILES)
$(am__remove_distdir)
- test -d $(distdir) || mkdir $(distdir)
+ test -d "$(distdir)" || mkdir "$(distdir)"
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
+ am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" distdir="$(distdir)" \
dist-hook
- -find "$(distdir)" -type d ! -perm -755 \
+ -test -n "$(am__skip_mode_fix)" \
+ || find "$(distdir)" -type d ! -perm -755 \
-exec chmod u+rwx,go+rx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
- || chmod -R a+r $(distdir)
+ || chmod -R a+r "$(distdir)"
dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- $(am__remove_distdir)
+ $(am__post_remove_distdir)
dist-bzip2: distdir
- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
- $(am__remove_distdir)
+ tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
+ $(am__post_remove_distdir)
-dist-lzma: distdir
- tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
- $(am__remove_distdir)
+dist-lzip: distdir
+ tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
+ $(am__post_remove_distdir)
+
+dist-xz: distdir
+ tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
+ $(am__post_remove_distdir)
dist-tarZ: distdir
+ @echo WARNING: "Support for shar distribution archives is" \
+ "deprecated." >&2
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
- $(am__remove_distdir)
+ $(am__post_remove_distdir)
dist-shar: distdir
+ @echo WARNING: "Support for distribution archives compressed with" \
+ "legacy program 'compress' is deprecated." >&2
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
- $(am__remove_distdir)
+ $(am__post_remove_distdir)
dist-zip: distdir
-rm -f $(distdir).zip
zip -rq $(distdir).zip $(distdir)
- $(am__remove_distdir)
+ $(am__post_remove_distdir)
-dist dist-all: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- $(am__remove_distdir)
+dist dist-all:
+ $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
+ $(am__post_remove_distdir)
# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
- GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
- bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
- *.tar.lzma*) \
- unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
+ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
+ *.tar.lz*) \
+ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
+ *.tar.xz*) \
+ xz -dc $(distdir).tar.xz | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
- GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
- chmod -R a-w $(distdir); chmod a+w $(distdir)
- mkdir $(distdir)/_build
- mkdir $(distdir)/_inst
+ chmod -R a-w $(distdir)
+ chmod u+w $(distdir)
+ mkdir $(distdir)/_build $(distdir)/_inst
chmod a-w $(distdir)
+ test -d $(distdir)/_build || exit 0; \
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
- && cd $(distdir)/_build \
- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+ && am__cwd=`pwd` \
+ && $(am__cd) $(distdir)/_build \
+ && ../configure \
+ $(AM_DISTCHECK_CONFIGURE_FLAGS) \
$(DISTCHECK_CONFIGURE_FLAGS) \
+ --srcdir=.. --prefix="$$dc_install_base" \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
&& rm -rf "$$dc_destdir" \
&& $(MAKE) $(AM_MAKEFLAGS) dist \
&& rm -rf $(DIST_ARCHIVES) \
- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
- $(am__remove_distdir)
+ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
+ && cd "$$am__cwd" \
+ || exit 1
+ $(am__post_remove_distdir)
@(echo "$(distdir) archives ready for distribution: "; \
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
distuninstallcheck:
- @cd $(distuninstallcheck_dir) \
- && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+ @test -n '$(distuninstallcheck_dir)' || { \
+ echo 'ERROR: trying to run $@ with an empty' \
+ '$$(distuninstallcheck_dir)' >&2; \
+ exit 1; \
+ }; \
+ $(am__cd) '$(distuninstallcheck_dir)' || { \
+ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
+ exit 1; \
+ }; \
+ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left after uninstall:" ; \
if test -n "$(DESTDIR)"; then \
echo " (check DESTDIR support)"; \
installcheck: installcheck-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-rm -f common/$(DEPDIR)/$(am__dirstamp)
-rm -f common/$(am__dirstamp)
-rm -f lib/$(DEPDIR)/$(am__dirstamp)
uninstall-optDATA uninstall-pkgdataDATA \
uninstall-pkgdataSCRIPTS uninstall-pspell_includeHEADERS
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
- install-strip
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am am--refresh check check-am clean clean-binPROGRAMS \
- clean-filterLTLIBRARIES clean-generic clean-libLTLIBRARIES \
- clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
- dist-gzip dist-hook dist-lzma dist-shar dist-tarZ dist-zip \
- distcheck distclean distclean-compile distclean-generic \
- distclean-hdr distclean-libtool distclean-tags distcleancheck \
- distdir distuninstallcheck dvi dvi-am html html-am info \
- info-am install install-am install-binPROGRAMS \
- install-binSCRIPTS install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-filterDATA \
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
+ am--refresh check check-am clean clean-binPROGRAMS \
+ clean-cscope clean-filterLTLIBRARIES clean-generic \
+ clean-libLTLIBRARIES clean-libtool cscope cscopelist-am ctags \
+ ctags-am dist dist-all dist-bzip2 dist-gzip dist-hook \
+ dist-lzip dist-shar dist-tarZ dist-xz dist-zip distcheck \
+ distclean distclean-compile distclean-generic distclean-hdr \
+ distclean-libtool distclean-tags distcleancheck distdir \
+ distuninstallcheck dvi dvi-am html html-am info info-am \
+ install install-am install-binPROGRAMS install-binSCRIPTS \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-filterDATA \
install-filterLTLIBRARIES install-html install-html-am \
install-includeHEADERS install-info install-info-am \
install-libLTLIBRARIES install-man install-optDATA install-pdf \
installdirs-am maintainer-clean maintainer-clean-generic \
maintainer-clean-local mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags tags-recursive uninstall uninstall-am \
- uninstall-binPROGRAMS uninstall-binSCRIPTS \
- uninstall-filterDATA uninstall-filterLTLIBRARIES \
- uninstall-includeHEADERS uninstall-libLTLIBRARIES \
- uninstall-optDATA uninstall-pkgdataDATA \
- uninstall-pkgdataSCRIPTS uninstall-pspell_includeHEADERS
+ tags tags-am uninstall uninstall-am uninstall-binPROGRAMS \
+ uninstall-binSCRIPTS uninstall-filterDATA \
+ uninstall-filterLTLIBRARIES uninstall-includeHEADERS \
+ uninstall-libLTLIBRARIES uninstall-optDATA \
+ uninstall-pkgdataDATA uninstall-pkgdataSCRIPTS \
+ uninstall-pspell_includeHEADERS
# settings.h added as a dependency so it will get recreated if
# the COMPILE_IN_FILTERS option changes
gen/static_filters.src.cpp: ${static_optfiles} gen/mk-static-filter.pl gen/settings.h
- ${PERLPROG} gen/mk-static-filter.pl ${static_optfiles}
+ ${PERLPROG} ${srcdir}/gen/mk-static-filter.pl $(addprefix ${srcdir}/,${static_optfiles})
-lib/new_filter.cpp: gen/static_filters.src.cpp
+${srcdir}/lib/new_filter.cpp: gen/static_filters.src.cpp
gen/filter.pot: gen/mk-filter-pot.pl ${static_optfiles} ${dynamic_optfiles}
- ${PERLPROG} gen/mk-filter-pot.pl
+ ${PERLPROG} ${srcdir}/gen/mk-filter-pot.pl
########################################################################
#
# Mk Dirs Target
#
-common/config.cpp: gen/dirs.h
+${srcdir}/common/config.cpp: gen/dirs.h
gen/dirs.h: gen/mk-dirs_h.pl
- cd gen; perl mk-dirs_h.pl ${prefix} ${pkgdatadir} ${pkglibdir} ${sysconfdir} > dirs.h
+ perl ${srcdir}/gen/mk-dirs_h.pl ${prefix} ${pkgdatadir} ${pkglibdir} ${sysconfdir} > gen/dirs.h
scripts/run-with-aspell: scripts/run-with-aspell.create
sh ${srcdir}/scripts/run-with-aspell.create ${pkgdatadir} > scripts/run-with-aspell
dist-hook:
mkdir $(distdir)/maintainer
- cp autogen config-opt config-debug TODO FIXMEs README-CVS \
+ cp autogen config-opt config-debug TODO FIXMEs README.md \
$(distdir)/maintainer
+ cd $(distdir) && ../sanity-check.sh
.PHONY: .manual fake-manual
fake-manual:
$(MAKE) -C manual fake-manual
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
any major problems provided that the compile can handle all of the
advanced C++ features Aspell uses. C++ compilers for non-Unix systems
might work but it will take some work. Aspell at very least requires a
-Unix-like environment (`sh', `grep', `sed', `tr', ...), and Perl in
+Unix-like environment ('sh', 'grep', 'sed', 'tr', ...), and Perl in
order to build. Aspell also uses a few POSIX functions when necessary.
The latest version can always be found at GNU Aspell's home page at
-`http://aspell.net'.
+<http://aspell.net>.
A.1 Generic Install Instructions
================================
./configure && make
- For additional `configure' options type `./configure --help'. You
+ For additional 'configure' options type './configure --help'. You
can control what C++ compiler is used by setting the environment
-variable `CXX' before running configure and you can control what flags
-are passed to the C++ compile via the environment variable `CXXFLAGS'.
-Static libraries are disabled by default since static libraries will
-not work right due to the mixing of C and C++. When a C program links
-with the static libraries in Aspell it is likely to crash because
-Aspell's C++ objects are not getting initialized correctly. However,
-if for some reason you want them, you can enable them via
-`--enable-static'.
+variable 'CXX' before running configure and you can control what flags
+are passed to the C++ compile via the environment variable 'CXXFLAGS'.
+Static libraries are disabled by default since static libraries will not
+work right due to the mixing of C and C++. When a C program links with
+the static libraries in Aspell it is likely to crash because Aspell's
+C++ objects are not getting initialized correctly. However, if for some
+reason you want them, you can enable them via '--enable-static'.
Aspell should then compile without any additional user intervention.
If you run into problems please first check the sections below as that
make install
After Aspell is installed at least one dictionary needs to be
-installed. You can find them at `http://aspell.net/'. The `aspell'
+installed. You can find them at <http://aspell.net/>. The 'aspell'
program must be in your path in order for the dictionaries to install
correctly.
- If you do not have Ispell or the traditional Unix `spell' utility
+ If you do not have Ispell or the traditional Unix 'spell' utility
installed on your system then you should also copy the compatibility
-scripts `ispell' and `spell' located in the `scripts/' directory into
-your binary directory which is usually `/usr/local/bin' so that
-programs that expect the `ispell' or `spell' command will work
-correctly.
+scripts 'ispell' and 'spell' located in the 'scripts/' directory into
+your binary directory which is usually '/usr/local/bin' so that programs
+that expect the 'ispell' or 'spell' command will work correctly.
-A.2 HTML Manuals and `make clean'
+A.2 HTML Manuals and 'make clean'
=================================
The Aspell distribution includes HTML versions of the User and
-Developer's manual. Unfortunately, doing a `make clean' will erase
+Developer's manual. Unfortunately, doing a 'make clean' will erase
them. This is due to a limitation of automake which is not easily
-fixed. If makeinfo is installed they can easily be rebuild with `make
-aspell.html aspell-dev.html', or you can unpack them from the tarbar.
+fixed. If makeinfo is installed they can easily be rebuild with 'make
+aspell.html aspell-dev.html', or you can unpack them from the tarball.
A.3 Curses Notes
================
-If you are having problems compiling `check_funs.cpp' then the most
-likely reason is due to incompatibilities with the curses
-implementation on your system. You should first try disabling the
-"wide" curses library by with the `--disable-wide-curses' configure
-option.. By doing so you will lose support for properly displaying
-UTF-8 characters but you may still be able to get the full screen
-interface. If this fails than you can disable curses support
-altogether with the `--disable-curses' configure option. By doing this
-you will lose the nice full screen interface but hopefully you will be
-able to at least get Aspell to compile correctly.
-
- If the curses library is installed in a non-standard location than
+If you are having problems compiling 'check_funs.cpp' then the most
+likely reason is due to incompatibilities with the curses implementation
+on your system. You should first try disabling the "wide" curses
+library with the '--disable-wide-curses' configure option. By doing so
+you will lose support for properly displaying UTF-8 characters but you
+may still be able to get the full screen interface. If this fails then
+you can disable curses support altogether with the '--disable-curses'
+configure option. By doing this you will lose the nice full screen
+interface but hopefully you will be able to at least get Aspell to
+compile correctly.
+
+ If the curses library is installed in a non-standard location then
you can specify the library and include directory with
-`--enable-curses=LIB' and `--enable-curses-include=DIR'.
+'--enable-curses=LIB' and '--enable-curses-include=DIR'.
- `LIB' can either be the complete path of the library--for example
+ 'LIB' can either be the complete path of the library--for example
/usr/local/curses/libcurses.a
- or the name of the library (for example `ncurses') or a combined
-location and library in the form `-LLIBDIR -lLIB' (for example
-`-L/usr/local/ncurses/lib -lncurses').
+ or the name of the library (for example 'ncurses') or a combined
+location and library in the form '-LLIBDIR -lLIB' (for example
+'-L/usr/local/ncurses/lib -lncurses').
DIR is the location of the curses header files (for example
-`/usr/local/ncurses/include').
+'/usr/local/ncurses/include').
A.3.1 Unicode Support
---------------------
In order for Aspell to correctly spell check UTF-8 documents in full
screen mode the "wide" version of the curses library must be installed.
This is different from the normal version of curses library, and is
-normally named `libcursesw' (with a `w' at the end) or `libncursesw'.
+normally named 'libcursesw' (with a 'w' at the end) or 'libncursesw'.
UTF-8 documents will not display correctly without the right curses
version installed.
- In addition your system must also support the `mblen' function.
+ In addition your system must also support the 'mblen' function.
Although this function was defined in the ISO C89 standard (ANSI
X3.159-1989), not all systems have it.
A.4 Loadable Filter Notes
=========================
-Support for being able to load additional filter modules at run-time
-has only been verified to work on Linux platforms. If you get linker
-errors when trying to use a filter, then it is likely that loadable
-filter support is not working yet on your platform. Thus, in order to
-get Aspell to work correctly you will need to avoid compiling the
-filters as individual modules by using the
-`--enable-compile-in-filters' when configuring Aspell with
-`./configure'.
-
-A.5 Upgrading from Aspell 0.50
+Support for being able to load additional filter modules at run-time has
+only been verified to work on Linux platforms. If you get linker errors
+when trying to use a filter, then it is likely that loadable filter
+support is not working yet on your platform. Thus, in order to get
+Aspell to work correctly you will need to avoid compiling the filters as
+individual modules by using the '--enable-compile-in-filters' when
+configuring Aspell with './configure'.
+
+A.5 Using 32-Bit Dictionaries on a 64-Bit System
+================================================
+
+Due to an oversight, Aspell compiled dictionaries not only depend on the
+endian order, they also depend on the the size of the 'size_t' type,
+which is generally different on 32 and 64-bit systems. The 'size_t'
+type is used in the hash function of the compiled dictionaries. To
+force the hash function to use a 32-bit integer instead, use the
+'--enable-32-bit-hash-fun' configure option. This option will allow you
+to use dictionaries compiled on a 32-bit machine on a 64-bit one as long
+as the endian order is the same. Of course, dictionaries compiled on a
+64-bit machine without this option enabled will no longer be usable. If
+Aspell detects that an incompatible hash function is used, it will fail
+with:
+ Error: The file "SOME-FILE" is not in the proper format.
+ Incompatible hash function.
+
+A.6 Upgrading from Aspell 0.50
==============================
The dictionary format has changed so dictionaries will need to be
recompiled.
- All data, by default, is now included in `LIBDIR/aspell-0.60' so
-that multiple versions of Aspell can more peacefully coexist. This
-included both the dictionaries and the language data files which were
-stored in `SHAREDIR/aspell' before Aspell 0.60.
+ All data, by default, is now included in 'LIBDIR/aspell-0.60' so that
+multiple versions of Aspell can more peacefully coexist. This included
+both the dictionaries and the language data files which were stored in
+'SHAREDIR/aspell' before Aspell 0.60.
The format of the character data files has changed. The new
-character data files are installed with Aspell so you should not have
-to worry about it unless you made a custom one.
+character data files are installed with Aspell so you should not have to
+worry about it unless you made a custom one.
- The dictionary option `strip-accents' has been removed. For this
+ The dictionary option 'strip-accents' has been removed. For this
reason the old English dictionary (up to 0.51) will no longer work. A
new English dictionary is now available which avoids using this option.
-In addition the `ignore-accents' option is currently unimplemented.
+In addition the 'ignore-accents' option is currently unimplemented.
- The flag `-l' is now a shortcut for `--lang', instead of `--list' as
+ The flag '-l' is now a shortcut for '--lang', instead of '--list' as
it was with Aspell 0.50.
-A.5.1 Binary Compatibility
+A.6.1 Binary Compatibility
--------------------------
The Aspell 0.60 library is binary compatible with the Aspell 0.50
However, this means that having both Aspell 0.50 and Aspell 0.60
installed at the same time can be pragmatic. If you wish to allow both
Aspell 0.50 and 0.60 to be installed at the same time then you can use
-the configure option `--incremented-soname' which will increment
+the configure option '--incremented-soname' which will increment
so-name. You should only use this option if you know what you are
doing. It is up to you to somehow ensure that both the Aspell 0.50 and
0.60 executables can coexist.
If after incrementing the so-name you wish to allow programs compiled
for Aspell 0.50 to use Aspell 0.60 instead (thus implying that Aspell
0.50 is not installed) then you can use a special compatibility library
-which can be found in the `lib5' directory. This directory will not be
+which can be found in the 'lib5' directory. This directory will not be
entered when building or installing Aspell so you must manually build
and install this library. You should build it after the rest of Aspell
is built. The order in which this library is installed, with relation
to the rest of Aspell, is also important. If it is installed _after_
-the rest of Aspell then new programs will link to the old library
-(which will work for Aspell 0.50 or 0.60) when built, if installed
-_before_, new programs will link with the new library (Aspell 0.60
-only).
+the rest of Aspell then new programs will link to the old library (which
+will work for Aspell 0.50 or 0.60) when built, if installed _before_,
+new programs will link with the new library (Aspell 0.60 only).
-A.6 Upgrading from Aspell .33/Pspell .12
+A.7 Upgrading from Aspell .33/Pspell .12
========================================
Aspell has undergone an extremely large number of changes since the
Because of the massive changes between Aspell/Pspell and Aspell 0.50
you may want to clean out the old files before installing the the new
-Aspell. To do so do a `make uninstall' in the original Aspell and
+Aspell. To do so do a 'make uninstall' in the original Aspell and
Pspell source directories.
The way dictionaries are handled has also changed. This includes a
change in the naming conventions of both language names and
dictionaries. Due to the language name change, your old personal
dictionaries will not be recognized. However, you can import the old
-dictionaries by running the `aspell-import' script. This also means
-that dictionaries designed to work with older versions of Aspell are
-not likely to function correctly. Fortunately new dictionary packages
-are available for most languages. You can find them off of the Aspell
-home page at `http://aspell.net'.
+dictionaries by running the 'aspell-import' script. This also means
+that dictionaries designed to work with older versions of Aspell are not
+likely to function correctly. Fortunately new dictionary packages are
+available for most languages. You can find them off of the Aspell home
+page at <http://aspell.net>.
The Pspell ABI is now part of Aspell except that the name of
everything has changed due to the renaming of Pspell to Aspell. In
emulation -> enumeration
master_word_list -> main_word_list
- Please also note that the name of the `language-tag' option has
-changed to `lang'. However, for backward compatibility the
-`language-tag' option will still work.
+ Please also note that the name of the 'language-tag' option has
+changed to 'lang'. However, for backward compatibility the
+'language-tag' option will still work.
However, you should also be able to build applications that require
Pspell with the new Aspell as a backward compatibility header file is
provided.
Due to a change in the way dictionaries are handled, scanning for
-`.pwli' files in order to find out which dictionaries are available
-will no longer work. This means that programs that relied on this
-technique may have problems finding dictionaries. Fortunately, GNU
-Aspell now provided a uniform way to list all installed dictionaries
-via the c API. See the file `list-dicts.c' in the `examples/'
-directory for an example of how to do this. Unfortunately there isn't
-any simple way to find out which dictionaries are installed which will
-work with both the old Aspell/Pspell and the new GNU Aspell.
-
-A.7 Upgrading from a Pre-0.50 snapshot
+'.pwli' files in order to find out which dictionaries are available will
+no longer work. This means that programs that relied on this technique
+may have problems finding dictionaries. Fortunately, GNU Aspell now
+provided a uniform way to list all installed dictionaries via the c API.
+See the file 'list-dicts.c' in the 'examples/' directory for an example
+of how to do this. Unfortunately there isn't any simple way to find out
+which dictionaries are installed which will work with both the old
+Aspell/Pspell and the new GNU Aspell.
+
+A.8 Upgrading from a Pre-0.50 snapshot
======================================
-At the last minute I decided to merge the `speller-util' program into
-the main `aspell' program. You may wish to remove that `speller-util'
+At the last minute I decided to merge the 'speller-util' program into
+the main 'aspell' program. You may wish to remove that 'speller-util'
program to avoid confusion. This also means that dictionaries designed
to work with the snapshot will no longer work with the official release.
-A.8 WIN32 Notes
+A.9 WIN32 Notes
===============
-A.8.1 Getting the WIN32 version
+A.9.1 Getting the WIN32 version
-------------------------------
The latest version of the native Aspell/WIN32 port, including binaries,
-can be found at `http://aspell.net/win32'. This page has,
+can be found at <http://aspell.net/win32>. This page has,
unfortunately, not been updated for Aspell 0.60. If you are interested
in updated the native port please let me know.
-A.8.2 Building the WIN32 version
+A.9.2 Building the WIN32 version
--------------------------------
There are two basically different ways of building Aspell using GCC for
WIN32: You can either use the Cygwin compiler, which will produce
-binaries that depend on the POSIX layer in `cygwin1.dll'. The other
-way is using MinGW GCC, those binaries use the native C runtime from
+binaries that depend on the POSIX layer in 'cygwin1.dll'. The other way
+is using MinGW GCC, those binaries use the native C runtime from
Microsoft (MSVCRT.DLL).
-A.8.2.1 Building Aspell using Cygwin
+A.9.2.1 Building Aspell using Cygwin
....................................
This works exactly like on other POSIX compatible systems using the
-`./configure && make && make install' cycle. Some versions of Cygwin
-GCC will fail to link, this is caused by an incorrect `libstdc++.la' in
-the `/lib' directory. After removing or renaming this file, the build
+'./configure && make && make install' cycle. Some versions of Cygwin
+GCC will fail to link, this is caused by an incorrect 'libstdc++.la' in
+the '/lib' directory. After removing or renaming this file, the build
progress should work (GCC-2.95 and GCC-3.x should work).
-A.8.2.2 Building Aspell using MinGW
+A.9.2.2 Building Aspell using MinGW
...................................
-There are several different ways to build Aspell using MinGW. The
+There are several different ways to build Aspell using MinGW. The
easiest way is to use a Cygwin compiler but instruct it to build a
native binary rather than a Cygwin one. To do this configure with:
./configure CFLAGS='-O2 -mno-cygwin' CXXFLAGS='-O2 -mno-cygwin'
- You may also want to add the option `--enable-win32-relocatable' to
+ You may also want to add the option '--enable-win32-relocatable' to
use more windows friendly directories. *Note Win32-Directories::. In
this case configure with:
It should also be possible to build Aspell using the MSYS
environment. But this has not been very well tested. If building with
-MSYS _do not_ add `CFLAGS ...' to configure.
+MSYS _do not_ add 'CFLAGS ...' to configure.
-A.8.2.3 Building Aspell without using Cygwin or MSYS
+A.9.2.3 Building Aspell without using Cygwin or MSYS
....................................................
-It is also possible to build Aspell without Cygwin of MinGW by using
-the files in the `win32/' subdirectory. However, these files have not
-been updated to work with Aspell 0.60. Thus the following instructions
-will not work without some effort. If you do get Aspell to compile
-this way please send me the updated files so that I can include them
-with the next release.
+It is also possible to build Aspell without Cygwin of MinGW by using the
+files in the 'win32/' subdirectory. However, these files have not been
+updated to work with Aspell 0.60. Thus the following instructions will
+not work without some effort. If you do get Aspell to compile this way
+please send me the updated files so that I can include them with the
+next release.
To compile Aspell with the MinGW compiler, you will need at least
-GCC-3.2 (as shipped with MinGW-2.0.3) and some GNU tools like `rm' and
-`cp'. The origin of those tools doesn't matter, it has shown to work
+GCC-3.2 (as shipped with MinGW-2.0.3) and some GNU tools like 'rm' and
+'cp'. The origin of those tools doesn't matter, it has shown to work
with any tools from MinGW/MSys, Cygwin or Linux. To build Aspell, move
-into the `win32' subdirectory and type `make'. You can enable some
-additional build options by either commenting out the definitions at
-the head of the Makefile or passing those values as environment
-variables or at the `make' command line. Following options are
-supported:
+into the 'win32' subdirectory and type 'make'. You can enable some
+additional build options by either commenting out the definitions at the
+head of the Makefile or passing those values as environment variables or
+at the 'make' command line. Following options are supported:
-`DEBUGVERSION'
+'DEBUGVERSION'
If set to "1", the binaries will include debugging information
(resulting in a much bigger size).
-`CURSESDIR'
+'CURSESDIR'
Enter the path to the pdcurses library here, in order to get a
nicer console interface (see below).
-`MSVCLIB'
- Enter the filename of MS `lib.exe' here, if you want to build
+'MSVCLIB'
+ Enter the filename of MS 'lib.exe' here, if you want to build
libraries that can be imported from MS Visual C++.
-`WIN32_RELOCATABLE'
+'WIN32_RELOCATABLE'
If set to "1", Aspell will detect the prefix from the path where
the DLL resides (see below for further details).
-`TARGET'
+'TARGET'
Sets a prefix to be used for cross compilation (e.g.
- `/usr/local/bin/i586-mingw32msvc-' to cross compile from Linux).
+ '/usr/local/bin/i586-mingw32msvc-' to cross compile from Linux).
There are also a MinGW compilers available for Cygwin and Linux, both
-versions are able to compile Aspell using the prebuilt `Makefile'.
+versions are able to compile Aspell using the prebuilt 'Makefile'.
While the Cygwin port automatically detects the correct compiler, the
-Linux version depends on setting the `TARGET' variable in the
-`Makefile' (or environment) to the correct compiler prefix.
+Linux version depends on setting the 'TARGET' variable in the 'Makefile'
+(or environment) to the correct compiler prefix.
Other compilers may work. There is a patch for MS Visual C++ 6.0
-available at `ftp://ftp.gnu.org/gnu/aspell', but it needs a lot of
-changes to the Aspell sources. It has also been reported that the
-Intel C++ compiler can be used for compilation.
+available at <ftp://ftp.gnu.org/gnu/aspell>, but it needs a lot of
+changes to the Aspell sources. It has also been reported that the Intel
+C++ compiler can be used for compilation.
-A.8.3 (PD)Curses
+A.9.3 (PD)Curses
----------------
In order to get the nice full screen interface when spell checking
-files, a curses implementation that does not require Cygwin is
-required. The PDCurses (`http://pdcurses.sourceforge.net')
-implementation is known to work, other implementations may work however
-they have not been tested. See the previous section for information on
-specifying the location of the curses library and include file.
+files, a curses implementation that does not require Cygwin is required.
+The PDCurses (<http://pdcurses.sourceforge.net>) implementation is known
+to work, other implementations may work however they have not been
+tested. See the previous section for information on specifying the
+location of the curses library and include file.
Curses notes:
* PDcurses built with MinGW needs to be compiled with
- `-DPDC_STATIC_BUILD' to avoid duplicate declaration of `DllMain'
- when compiling `aspell.exe'.
+ '-DPDC_STATIC_BUILD' to avoid duplicate declaration of 'DllMain'
+ when compiling 'aspell.exe'.
* The curses enabled version can cause trouble in some shells (MSys
- `rxvt', `emacs') and will produce errors like `initscr() LINES=1
+ 'rxvt', 'emacs') and will produce errors like 'initscr() LINES=1
COLS=1: too small'. Use a non-curses version for those purposes.
-A.8.4 Directories
+A.9.4 Directories
-----------------
-If Aspell is configured with `--enable-win32-relocatable' or compiled
-with `WIN32_RELOCATABLE=1' when using a Makefile, it can be run from
-any directory: it will set `PREFIX' according to its install location
-(assuming it resides in `PREFIX\\bin'). Your personal wordlists will
-be saved in the `PREFIX' directory with their names changed from
-`.aspell.LANG.*' to `LANG.*' (you can override the path by setting the
-`HOME' environment variable).
+If Aspell is configured with '--enable-win32-relocatable' or compiled
+with 'WIN32_RELOCATABLE=1' when using a Makefile, it can be run from any
+directory: it will set 'PREFIX' according to its install location
+(assuming it resides in 'PREFIX\\bin'). Your personal wordlists will be
+saved in the 'PREFIX' directory with their names changed from
+'.aspell.LANG.*' to 'LANG.*' (you can override the path by setting the
+'HOME' environment variable).
-A.8.5 Installer
+A.9.5 Installer
---------------
The installer registers the DLLs as shared libraries, you should
HKLM\SOFTWARE\Aspell
-A.8.6 WIN32 consoles
+A.9.6 WIN32 consoles
--------------------
The console uses a different encoding than GUI applications, changing
-this to to a Windows encoding (e.g. 1252) is not supported on
-Win9x/Me. On WinNT (and later) those codepages can be set by first
-changing the console font to `lucida console', then changing the
-codepage using `chcp 1252'.
+this to to a Windows encoding (e.g. 1252) is not supported on Win9x/Me.
+On WinNT (and later) those codepages can be set by first changing the
+console font to 'lucida console', then changing the codepage using 'chcp
+1252'.
- Some alternative shells (e.g. MSys' `rxvt' or Cygwin's `bash') do a
+ Some alternative shells (e.g. MSys' 'rxvt' or Cygwin's 'bash') do a
codepage conversion (if correctly set up), so running Aspell inside
those shells might be a workaround for Win9x.
-
-# generated automatically by aclocal 1.10.3 -*- Autoconf -*-
+# generated automatically by aclocal 1.14.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.61],,
-[m4_warning([this file was generated for autoconf 2.61.
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
+[m4_warning([this file was generated for autoconf 2.69.
You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically `autoreconf'.])])
+To do so, use the procedure documented by the package, typically 'autoreconf'.])])
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2002-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# generated from the m4 files accompanying Automake X.Y.
# (This private macro should not be called outside this file.)
AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.10'
+[am__api_version='1.14'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.10.3], [],
+m4_if([$1], [1.14.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.10.3])dnl
+[AM_AUTOMAKE_VERSION([1.14.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to
+# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
#
# Of course, Automake must honor this variable whenever it calls a
# tool from the auxiliary directory. The problem is that $srcdir (and
#
# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
# are both prefixed by $srcdir. In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
+# harmless because $srcdir is '.', but things will broke when you
# start a VPATH build or use an absolute $srcdir.
#
# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
# configured tree to be moved without reconfiguration.
AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
])
# AM_CONDITIONAL -*- Autoconf -*-
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 8
-
# AM_CONDITIONAL(NAME, SHELL-CONDITION)
# -------------------------------------
# Define a conditional.
AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
- [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
AC_SUBST([$1_TRUE])dnl
AC_SUBST([$1_FALSE])dnl
_AM_SUBST_NOTMAKE([$1_TRUE])dnl
_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+m4_define([_AM_COND_VALUE_$1], [$2])dnl
if $2; then
$1_TRUE=
$1_FALSE='#'
Usually this means the macro was only invoked conditionally.]])
fi])])
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
-# Free Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 10
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
# written in clear, in which case automake, when reading aclocal.m4,
# will think it sees a *use*, and therefore will trigger all it's
# C support machinery. Also note that it means that autoscan, seeing
# _AM_DEPENDENCIES(NAME)
# ----------------------
# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
# We try a few techniques and use that to set a single cache variable.
#
# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
AC_REQUIRE([AM_MAKE_INCLUDE])dnl
AC_REQUIRE([AM_DEP_TRACK])dnl
-ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
- [$1], CXX, [depcc="$CXX" am_compiler_list=],
- [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
- [$1], UPC, [depcc="$UPC" am_compiler_list=],
- [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
- [depcc="$$1" am_compiler_list=])
+m4_if([$1], [CC], [depcc="$CC" am_compiler_list=],
+ [$1], [CXX], [depcc="$CXX" am_compiler_list=],
+ [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+ [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
+ [$1], [UPC], [depcc="$UPC" am_compiler_list=],
+ [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
+ [depcc="$$1" am_compiler_list=])
AC_CACHE_CHECK([dependency style of $depcc],
[am_cv_$1_dependencies_compiler_type],
# We make a subdir and do the tests there. Otherwise we can end up
# making bogus files that we don't know about and never remove. For
# instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
+ # making a dummy file named 'D' -- because '-MD' means "put the output
+ # in D".
+ rm -rf conftest.dir
mkdir conftest.dir
# Copy depcomp to subdir because otherwise we won't find it if we're
# using a relative directory.
: > sub/conftest.c
for i in 1 2 3 4 5 6; do
echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
+ # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+ # Solaris 10 /bin/sh.
+ echo '/* dummy */' > sub/conftst$i.h
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # We check with '-c' and '-o' for the sake of the "dashmstdout"
# mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
+ # handle '-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs.
am__obj=sub/conftest.${OBJEXT-o}
am__minus_obj="-o $am__obj"
case $depmode in
test "$am__universal" = false || continue
;;
nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
+ # After this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested.
if test "x$enable_dependency_tracking" = xyes; then
continue
else
break
fi
;;
- msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+ # This compiler won't grok '-c -o', but also, the minuso test has
# not run yet. These depmodes are late enough in the game, and
# so weak that their functioning should not be impacted.
am__obj=conftest.${OBJEXT-o}
# AM_SET_DEPDIR
# -------------
# Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
AC_DEFUN([AM_SET_DEPDIR],
[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
# AM_DEP_TRACK
# ------------
AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[ --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors])
+[AC_ARG_ENABLE([dependency-tracking], [dnl
+AS_HELP_STRING(
+ [--enable-dependency-tracking],
+ [do not reject slow dependency extractors])
+AS_HELP_STRING(
+ [--disable-dependency-tracking],
+ [speeds up one-time build])])
if test "x$enable_dependency_tracking" != xno; then
am_depcomp="$ac_aux_dir/depcomp"
AMDEPBACKSLASH='\'
+ am__nodep='_no'
fi
AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
AC_SUBST([AMDEPBACKSLASH])dnl
_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+AC_SUBST([am__nodep])dnl
+_AM_SUBST_NOTMAKE([am__nodep])dnl
])
# Generate code to set up dependency tracking. -*- Autoconf -*-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-#serial 5
# _AM_OUTPUT_DEPENDENCY_COMMANDS
# ------------------------------
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
[{
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # Older Autoconf quotes --file arguments for eval, but not when files
# are listed without --file. Let's play safe and only enable the eval
# if we detect the quoting.
case $CONFIG_FILES in
# Strip MF so we end up with the name of the file.
mf=`echo "$mf" | sed -e 's/:.*$//'`
# Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
+ # We used to match only the files named 'Makefile.in', but
# some people rename them; so instead we look at the file content.
# Grep'ing the first line is not enough: some people post-process
# each Makefile.in and add a new line on top of each file to say so.
continue
fi
# Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
+ # from the Makefile without running 'make'.
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
test -z "$DEPDIR" && continue
am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
+ test -z "$am__include" && continue
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
# Find all dependency output files, they are included files with
# $(DEPDIR) in their names. We invoke sed twice because it is the
# simplest approach to changing $(DEPDIR) to its actual value in the
# expansion.
for file in `sed -n "
s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
# Make sure the directory exists.
test -f "$dirpart/$file" && continue
fdir=`AS_DIRNAME(["$file"])`
# This macro should only be invoked once -- use via AC_REQUIRE.
#
# This code is only required when automatic dependency tracking
-# is enabled. FIXME. This creates each `.P' file that we will
+# is enabled. FIXME. This creates each '.P' file that we will
# need in order to bootstrap the dependency handling code.
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
[AC_CONFIG_COMMANDS([depfiles],
[AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
])
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 8
-
-# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
-AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
-
# Do all the work for Automake. -*- Autoconf -*-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 13
-
# This macro actually does too much. Some checks are only needed if
# your package does certain things. But this isn't really a big deal.
+dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
+m4_define([AC_PROG_CC],
+m4_defn([AC_PROG_CC])
+[_AM_PROG_CC_C_O
+])
+
# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
# AM_INIT_AUTOMAKE([OPTIONS])
# -----------------------------------------------
# arguments mandatory, and then we can depend on a new Autoconf
# release and drop the old call support.
AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.60])dnl
+[AC_PREREQ([2.65])dnl
dnl Autoconf wants to disallow AM_ names. We explicitly allow
dnl the ones we care about.
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
# Define the identity of the package.
dnl Distinguish between old-style and new-style calls.
m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+[AC_DIAGNOSE([obsolete],
+ [$0: two- and three-arguments forms are deprecated.])
+m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
AC_SUBST([PACKAGE], [$1])dnl
AC_SUBST([VERSION], [$2])],
[_AM_SET_OPTIONS([$1])dnl
dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+m4_if(
+ m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
+ [ok:ok],,
[m4_fatal([AC_INIT should be called with package and version arguments])])dnl
AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
+ AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
# Some tools Automake needs.
AC_REQUIRE([AM_SANITY_CHECK])dnl
AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
+AM_MISSING_PROG([AUTOCONF], [autoconf])
+AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
+AM_MISSING_PROG([AUTOHEADER], [autoheader])
+AM_MISSING_PROG([MAKEINFO], [makeinfo])
AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+# For better backward compatibility. To be removed once Automake 1.9.x
+# dies out for good. For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
# We need awk for the "check" target. The system "awk" is bad on
# some platforms.
AC_REQUIRE([AC_PROG_AWK])dnl
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AM_SET_LEADING_DOT])dnl
_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
- [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
- [_AM_PROG_TAR([v7])])])
+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+ [_AM_PROG_TAR([v7])])])
_AM_IF_OPTION([no-dependencies],,
[AC_PROVIDE_IFELSE([AC_PROG_CC],
- [_AM_DEPENDENCIES(CC)],
- [define([AC_PROG_CC],
- defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+ [_AM_DEPENDENCIES([CC])],
+ [m4_define([AC_PROG_CC],
+ m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [_AM_DEPENDENCIES(CXX)],
- [define([AC_PROG_CXX],
- defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+ [_AM_DEPENDENCIES([CXX])],
+ [m4_define([AC_PROG_CXX],
+ m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
AC_PROVIDE_IFELSE([AC_PROG_OBJC],
- [_AM_DEPENDENCIES(OBJC)],
- [define([AC_PROG_OBJC],
- defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+ [_AM_DEPENDENCIES([OBJC])],
+ [m4_define([AC_PROG_OBJC],
+ m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
+ [_AM_DEPENDENCIES([OBJCXX])],
+ [m4_define([AC_PROG_OBJCXX],
+ m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
])
+AC_REQUIRE([AM_SILENT_RULES])dnl
+dnl The testsuite driver may need to know about EXEEXT, so add the
+dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
+dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_CONFIG_COMMANDS_PRE(dnl
+[m4_provide_if([_AM_COMPILER_EXEEXT],
+ [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes. So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+ cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present. This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message. This
+can help us improve future automake versions.
+
+END
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+ echo 'Configuration will proceed anyway, since you have set the' >&2
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+ echo >&2
+ else
+ cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+ AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
+ fi
+fi
])
+dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
+dnl mangled by Autoconf and run in a shell conditional statement.
+m4_define([_AC_COMPILER_EXEEXT],
+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
# When config.status generates a header, we must update the stamp-h file.
# This file resides in the same directory as the config header
done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# Define $install_sh.
AC_DEFUN([AM_PROG_INSTALL_SH],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
-AC_SUBST(install_sh)])
+if test x"${install_sh}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+ *)
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
+ esac
+fi
+AC_SUBST([install_sh])])
-# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2003-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 2
-
# Check whether the underlying file-system supports filenames
# with a leading dot. For instance MS-DOS doesn't.
AC_DEFUN([AM_SET_LEADING_DOT],
# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
# From Jim Meyering
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005
-# Free Software Foundation, Inc.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 4
-
+# AM_MAINTAINER_MODE([DEFAULT-MODE])
+# ----------------------------------
+# Control maintainer-specific portions of Makefiles.
+# Default is to disable them, unless 'enable' is passed literally.
+# For symmetry, 'disable' may be passed as well. Anyway, the user
+# can override the default with the --enable/--disable switch.
AC_DEFUN([AM_MAINTAINER_MODE],
-[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
- dnl maintainer-mode is disabled by default
- AC_ARG_ENABLE(maintainer-mode,
-[ --enable-maintainer-mode enable make rules and dependencies not useful
- (and sometimes confusing) to the casual installer],
- USE_MAINTAINER_MODE=$enableval,
- USE_MAINTAINER_MODE=no)
+[m4_case(m4_default([$1], [disable]),
+ [enable], [m4_define([am_maintainer_other], [disable])],
+ [disable], [m4_define([am_maintainer_other], [enable])],
+ [m4_define([am_maintainer_other], [enable])
+ m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
+AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode's default is 'disable' unless 'enable' is passed
+ AC_ARG_ENABLE([maintainer-mode],
+ [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
+ am_maintainer_other[ make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer])],
+ [USE_MAINTAINER_MODE=$enableval],
+ [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
AC_MSG_RESULT([$USE_MAINTAINER_MODE])
- AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
+ AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
MAINT=$MAINTAINER_MODE_TRUE
- AC_SUBST(MAINT)dnl
+ AC_SUBST([MAINT])dnl
]
)
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
# Check to see how 'make' treats includes. -*- Autoconf -*-
-# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 3
-
# AM_MAKE_INCLUDE()
# -----------------
# Check to see how make treats includes.
[am_make=${MAKE-make}
cat > confinc << 'END'
am__doit:
- @echo done
+ @echo this is the am__doit target
.PHONY: am__doit
END
# If we don't find an include directive, just comment out the code.
_am_result=none
# First try GNU make style include.
echo "include confinc" > confmf
-# We grep out `Entering directory' and `Leaving directory'
-# messages which can occur if `w' ends up in MAKEFLAGS.
-# In particular we don't look at `^make:' because GNU make might
-# be invoked under some other name (usually "gmake"), in which
-# case it prints its new name instead of `make'.
-if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
- am__include=include
- am__quote=
- _am_result=GNU
-fi
+# Ignore all kinds of additional output from 'make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
+esac
# Now try BSD make style include.
if test "$am__include" = "#"; then
echo '.include "confinc"' > confmf
- if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
- am__include=.include
- am__quote="\""
- _am_result=BSD
- fi
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
fi
AC_SUBST([am__include])
AC_SUBST([am__quote])
rm -f confinc confmf
])
-# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 6
-
-# AM_PROG_CC_C_O
-# --------------
-# Like AC_PROG_CC_C_O, but changed for automake.
-AC_DEFUN([AM_PROG_CC_C_O],
-[AC_REQUIRE([AC_PROG_CC_C_O])dnl
-AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([compile])dnl
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-dnl Make sure AC_PROG_CC is never called again, or it will override our
-dnl setting of CC.
-m4_define([AC_PROG_CC],
- [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])])
-])
-
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 5
-
# AM_MISSING_PROG(NAME, PROGRAM)
# ------------------------------
AC_DEFUN([AM_MISSING_PROG],
$1=${$1-"${am_missing_run}$2"}
AC_SUBST($1)])
-
# AM_MISSING_HAS_RUN
# ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
+# Define MISSING if not defined so far and test if it is modern enough.
+# If it is, set am_missing_run to use it, otherwise, to nothing.
AC_DEFUN([AM_MISSING_HAS_RUN],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
AC_REQUIRE_AUX_FILE([missing])dnl
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+if test x"${MISSING+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+ *)
+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
+ esac
+fi
# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
+if eval "$MISSING --is-lightweight"; then
+ am_missing_run="$MISSING "
else
am_missing_run=
- AC_MSG_WARN([`missing' script is too old or missing])
+ AC_MSG_WARN(['missing' script is too old or missing])
fi
])
-# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# -*- Autoconf -*-
+# Obsolete and "removed" macros, that must however still report explicit
+# error messages when used, to smooth transition.
+#
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# AM_PROG_MKDIR_P
-# ---------------
-# Check for `mkdir -p'.
-AC_DEFUN([AM_PROG_MKDIR_P],
-[AC_PREREQ([2.60])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
-dnl while keeping a definition of mkdir_p for backward compatibility.
-dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
-dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
-dnl Makefile.ins that do not define MKDIR_P, so we do our own
-dnl adjustment using top_builddir (which is defined more often than
-dnl MKDIR_P).
-AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
-case $mkdir_p in
- [[\\/$]]* | ?:[[\\/]]*) ;;
- */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-])
+AC_DEFUN([AM_CONFIG_HEADER],
+[AC_DIAGNOSE([obsolete],
+['$0': this macro is obsolete.
+You should use the 'AC][_CONFIG_HEADERS' macro instead.])dnl
+AC_CONFIG_HEADERS($@)])
+
+AC_DEFUN([AM_PROG_CC_STDC],
+[AC_PROG_CC
+am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc
+AC_DIAGNOSE([obsolete],
+['$0': this macro is obsolete.
+You should simply use the 'AC][_PROG_CC' macro instead.
+Also, your code should no longer depend upon 'am_cv_prog_cc_stdc',
+but upon 'ac_cv_prog_cc_stdc'.])])
+
+AC_DEFUN([AM_C_PROTOTYPES],
+ [AC_FATAL([automatic de-ANSI-fication support has been removed])])
+AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES])
# Helper functions for option handling. -*- Autoconf -*-
-# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 4
-
# _AM_MANGLE_OPTION(NAME)
# -----------------------
AC_DEFUN([_AM_MANGLE_OPTION],
[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
# _AM_SET_OPTION(NAME)
-# ------------------------------
+# --------------------
# Set option NAME. Presently that only means defining a flag for this option.
AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
# _AM_SET_OPTIONS(OPTIONS)
-# ----------------------------------
+# ------------------------
# OPTIONS is a space-separated list of Automake options.
AC_DEFUN([_AM_SET_OPTIONS],
[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-# Check to make sure that the build environment is sane. -*- Autoconf -*-
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
-# Free Software Foundation, Inc.
+# _AM_PROG_CC_C_O
+# ---------------
+# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC
+# to automatically call this.
+AC_DEFUN([_AM_PROG_CC_C_O],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+AC_LANG_PUSH([C])dnl
+AC_CACHE_CHECK(
+ [whether $CC understands -c and -o together],
+ [am_cv_prog_cc_c_o],
+ [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i])
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+AC_LANG_POP([C])])
+
+# For backward compatibility.
+AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
+
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 4
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+ ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ (exit $ac_status); }])
+
+# Check to make sure that the build environment is sane. -*- Autoconf -*-
+
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
# AM_SANITY_CHECK
# ---------------
AC_DEFUN([AM_SANITY_CHECK],
[AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Do `set' in a subshell so we don't clobber the current shell's
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name. Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+ *[[\\\"\#\$\&\'\`$am_lf]]*)
+ AC_MSG_ERROR([unsafe absolute working directory name]);;
+esac
+case $srcdir in
+ *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
+ AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
+esac
+
+# Do 'set' in a subshell so we don't clobber the current shell's
# arguments. Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
- set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
- if test "$[*]" = "X"; then
- # -L didn't work.
- set X `ls -t $srcdir/configure conftest.file`
- fi
- rm -f conftest.file
- if test "$[*]" != "X $srcdir/configure conftest.file" \
- && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
-alias in your environment])
- fi
-
+ am_has_slept=no
+ for am_try in 1 2; do
+ echo "timestamp, slept: $am_has_slept" > conftest.file
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+ if test "$[*]" = "X"; then
+ # -L didn't work.
+ set X `ls -t "$srcdir/configure" conftest.file`
+ fi
+ if test "$[*]" != "X $srcdir/configure conftest.file" \
+ && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+ alias in your environment])
+ fi
+ if test "$[2]" = conftest.file || test $am_try -eq 2; then
+ break
+ fi
+ # Just in case.
+ sleep 1
+ am_has_slept=yes
+ done
test "$[2]" = conftest.file
)
then
AC_MSG_ERROR([newly created file is older than distributed files!
Check your system clock])
fi
-AC_MSG_RESULT(yes)])
+AC_MSG_RESULT([yes])
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+ ( sleep 1 ) &
+ am_sleep_pid=$!
+fi
+AC_CONFIG_COMMANDS_PRE(
+ [AC_MSG_CHECKING([that generated files are newer than configure])
+ if test -n "$am_sleep_pid"; then
+ # Hide warnings about reused PIDs.
+ wait $am_sleep_pid 2>/dev/null
+ fi
+ AC_MSG_RESULT([done])])
+rm -f conftest.file
+])
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2009-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_SILENT_RULES([DEFAULT])
+# --------------------------
+# Enable less verbose build rules; with the default set to DEFAULT
+# ("yes" being less verbose, "no" or empty being verbose).
+AC_DEFUN([AM_SILENT_RULES],
+[AC_ARG_ENABLE([silent-rules], [dnl
+AS_HELP_STRING(
+ [--enable-silent-rules],
+ [less verbose build output (undo: "make V=1")])
+AS_HELP_STRING(
+ [--disable-silent-rules],
+ [verbose build output (undo: "make V=0")])dnl
+])
+case $enable_silent_rules in @%:@ (((
+ yes) AM_DEFAULT_VERBOSITY=0;;
+ no) AM_DEFAULT_VERBOSITY=1;;
+ *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
+esac
+dnl
+dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
+dnl do not support nested variable expansions.
+dnl See automake bug#9928 and bug#10237.
+am_make=${MAKE-make}
+AC_CACHE_CHECK([whether $am_make supports nested variables],
+ [am_cv_make_support_nested_variables],
+ [if AS_ECHO([['TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+ @$(TRUE)
+.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
+ am_cv_make_support_nested_variables=yes
+else
+ am_cv_make_support_nested_variables=no
+fi])
+if test $am_cv_make_support_nested_variables = yes; then
+ dnl Using '$V' instead of '$(V)' breaks IRIX make.
+ AM_V='$(V)'
+ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+ AM_V=$AM_DEFAULT_VERBOSITY
+ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AC_SUBST([AM_V])dnl
+AM_SUBST_NOTMAKE([AM_V])dnl
+AC_SUBST([AM_DEFAULT_V])dnl
+AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
+AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
+AM_BACKSLASH='\'
+AC_SUBST([AM_BACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
+])
+
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# AM_PROG_INSTALL_STRIP
# ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
+# One issue with vendor 'install' (even GNU) is that you can't
# specify the program used to strip binaries. This is especially
# annoying in cross-compiling environments, where the build's strip
# is unlikely to handle the host's binaries.
# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
+# always use install-sh in "make install-strip", and initialize
# STRIPPROG with the value of the STRIP variable (set by the user).
AC_DEFUN([AM_PROG_INSTALL_STRIP],
[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip". However 'strip' might not be the right
# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+# will honor the 'STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
if test "$cross_compiling" != no; then
AC_CHECK_TOOL([STRIP], [strip], :)
fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
-# Copyright (C) 2006 Free Software Foundation, Inc.
+# Copyright (C) 2006-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# This macro is traced by Automake.
AC_DEFUN([_AM_SUBST_NOTMAKE])
+# AM_SUBST_NOTMAKE(VARIABLE)
+# --------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+
# Check how to create a tarball. -*- Autoconf -*-
-# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2004-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 2
-
# _AM_PROG_TAR(FORMAT)
# --------------------
# Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
+# FORMAT should be one of 'v7', 'ustar', or 'pax'.
#
# Substitute a variable $(am__tar) that is a command
# writing to stdout a FORMAT-tarball containing the directory
# Substitute a variable $(am__untar) that extract such
# a tarball read from stdin.
# $(am__untar) < result.tar
+#
AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility.
-AM_MISSING_PROG([AMTAR], [tar])
-m4_if([$1], [v7],
- [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
- [m4_case([$1], [ustar],, [pax],,
- [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
+[# Always define AMTAR for backward compatibility. Yes, it's still used
+# in the wild :-( We should find a proper way to deprecate it ...
+AC_SUBST([AMTAR], ['$${TAR-tar}'])
+
+# We'll loop over all known methods to create a tar archive until one works.
_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
-do
- case $_am_tool in
- gnutar)
- for _am_tar in tar gnutar gtar;
- do
- AM_RUN_LOG([$_am_tar --version]) && break
- done
- am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
- am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
- am__untar="$_am_tar -xf -"
- ;;
- plaintar)
- # Must skip GNU tar: if it does not support --format= it doesn't create
- # ustar tarball either.
- (tar --version) >/dev/null 2>&1 && continue
- am__tar='tar chf - "$$tardir"'
- am__tar_='tar chf - "$tardir"'
- am__untar='tar xf -'
- ;;
- pax)
- am__tar='pax -L -x $1 -w "$$tardir"'
- am__tar_='pax -L -x $1 -w "$tardir"'
- am__untar='pax -r'
- ;;
- cpio)
- am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
- am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
- am__untar='cpio -i -H $1 -d'
- ;;
- none)
- am__tar=false
- am__tar_=false
- am__untar=false
- ;;
- esac
- # If the value was cached, stop now. We just wanted to have am__tar
- # and am__untar set.
- test -n "${am_cv_prog_tar_$1}" && break
+m4_if([$1], [v7],
+ [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
+
+ [m4_case([$1],
+ [ustar],
+ [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
+ # There is notably a 21 bits limit for the UID and the GID. In fact,
+ # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
+ # and bug#13588).
+ am_max_uid=2097151 # 2^21 - 1
+ am_max_gid=$am_max_uid
+ # The $UID and $GID variables are not portable, so we need to resort
+ # to the POSIX-mandated id(1) utility. Errors in the 'id' calls
+ # below are definitely unexpected, so allow the users to see them
+ # (that is, avoid stderr redirection).
+ am_uid=`id -u || echo unknown`
+ am_gid=`id -g || echo unknown`
+ AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
+ if test $am_uid -le $am_max_uid; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ _am_tools=none
+ fi
+ AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
+ if test $am_gid -le $am_max_gid; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ _am_tools=none
+ fi],
+
+ [pax],
+ [],
+
+ [m4_fatal([Unknown tar format])])
+
+ AC_MSG_CHECKING([how to create a $1 tar archive])
+
+ # Go ahead even if we have the value already cached. We do so because we
+ # need to set the values for the 'am__tar' and 'am__untar' variables.
+ _am_tools=${am_cv_prog_tar_$1-$_am_tools}
+
+ for _am_tool in $_am_tools; do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar; do
+ AM_RUN_LOG([$_am_tar --version]) && break
+ done
+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x $1 -w "$$tardir"'
+ am__tar_='pax -L -x $1 -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+ am__untar='cpio -i -H $1 -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
- # tar/untar a dummy directory, and stop if the command works
- rm -rf conftest.dir
- mkdir conftest.dir
- echo GrepMe > conftest.dir/file
- AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_$1}" && break
+
+ # tar/untar a dummy directory, and stop if the command works.
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ AM_RUN_LOG([$am__untar <conftest.tar])
+ AM_RUN_LOG([cat conftest.dir/file])
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+ done
rm -rf conftest.dir
- if test -s conftest.tar; then
- AM_RUN_LOG([$am__untar <conftest.tar])
- grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
- fi
-done
-rm -rf conftest.dir
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+ AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+ AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+
AC_SUBST([am__tar])
AC_SUBST([am__untar])
]) # _AM_PROG_TAR
m4_include([m4/codeset.m4])
m4_include([m4/gettext.m4])
m4_include([m4/iconv.m4])
+m4_include([m4/intlmacosx.m4])
m4_include([m4/lib-ld.m4])
m4_include([m4/lib-link.m4])
m4_include([m4/lib-prefix.m4])
mode: code generation mode
no_aspell: if true do not include aspell in the name
- this_name: name for the paramater representing the current object
+ this_name: name for the parameter representing the current object
=item call_c_method CLASS ITEM PARMS ; %ACCUM
---
my $hm = "ASPELL_". to_upper($p{name})."__".to_upper($p{ext});
- $file .= "#ifndef $hm\n#define $hm\n\n" if $p{header};
+ $file .= "#ifndef $hm\n#define $hm\n\n" if $p{header} && $p{name} ne 'errors';
+ # hack to avoid including aerror_* symbols as two different type of symbols
+ $file .= "#if !defined($hm) && !defined(ASPELL_ASPELL__H)\n#define $hm\n\n" if $p{header} && $p{name} eq 'errors';
$file .= "#include \"aspell.h\"\n" if $p{type} eq 'cxx';
$file .= "#include \"settings.h\"\n" if $p{type} eq 'native_impl' && $p{name} eq 'errors';
$file .= "#include \"gettext.h\"\n" if $p{type} eq 'native_impl' && $p{name} eq 'errors';
cxx impl: use this as the cxx impl instead of the default
returns alt type: the constructor returns some type other than
the object from which it is a member of
- no native: do not attemt to create a native implementation
+ no native: do not attempt to create a native implementation
treat as object: treat as a object rather than a pointer
The %info structure is initialized as follows:
# /
# bool
}
+group: version
+{
+/
+func: version string
+ desc => Returns a version string, which may include additional
+ information on how Aspell was compiled.
+ /
+ string
+}
group: error
{
/
The speller class is expected to last until
this class is destroyed.
If config is given it will be used to override
- any relevent options set by this speller class.
+ any relevant options set by this speller class.
The config class is not once this function is done.
If filter is given then it will take ownership of
the filter class and use it to do the filtering.
the dictionary: 10=tiny, 20=really small,
30=small, 40=med-small, 50=med, 60=med-large,
70=large, 80=huge, 90=insane. Please check
- the README in aspell-lang-200?????.tar.bz2 or
+ the README in aspell-lang-20??????.tar.bz2 or
see SCOWL (http://wordlist.sourceforge.net)
for an example of how these sizes are used.
module info: module
each proc sub should take the following argv
$data: a subtree of $master_data
- $accum:
+ $accum:
<options> is one of:
cxx impl: use this as the cxx impl instead of the default
returns alt type: the constructor returns some type other than
the object from which it is a member of
- no native: do not attemt to create a native implementation
+ no native: do not attempt to create a native implementation
treat as object: treat as a object rather than a pointer
The %info structure is initialized as follows:
mode: code generation mode
no_aspell: if true do not include aspell in the name
- this_name: name for the paramater representing the current object
+ this_name: name for the parameter representing the current object
call_c_method CLASS ITEM PARMS ; %ACCUM
Like make_c_method but instead returns the appropriate string to
}
void remove_node(Node * n)
- // marks the node as availabe
+ // marks the node as available
// Note: the node's data memeber destructor is NOT called
{
n->next = first_available;
const char * name;
GlobalCacheBase * next;
GlobalCacheBase * * prev;
+ // The global cache lock must exist while any cache instance is active
+ static Mutex global_cache_lock;
protected:
Cacheable * first;
void del(Cacheable * d);
namespace acommon {
-static StackPtr<Mutex> global_cache_lock(new Mutex);
static GlobalCacheBase * first_cache = 0;
+Mutex GlobalCacheBase::global_cache_lock;
void Cacheable::copy() const
{
GlobalCacheBase::GlobalCacheBase(const char * n)
: name (n)
{
- LOCK(global_cache_lock);
+ LOCK(&global_cache_lock);
next = first_cache;
prev = &first_cache;
if (first_cache) first_cache->prev = &next;
GlobalCacheBase::~GlobalCacheBase()
{
detach_all();
- LOCK(global_cache_lock);
+ LOCK(&global_cache_lock);
*prev = next;
if (next) next->prev = prev;
}
bool reset_cache(const char * which)
{
- LOCK(global_cache_lock);
+ LOCK(&GlobalCacheBase::global_cache_lock);
bool any = false;
for (GlobalCacheBase * i = first_cache; i; i = i->next)
{
: out(o), first(false)
{
first_prefix = _("# default: ");
- num_blanks = strlen(first_prefix - 1);
+ num_blanks = strlen(first_prefix) - 1;
}
PosibErr<bool> ListDefaultDump::add(ParmStr d)
{"actual-dict-dir", KeyInfoString, "<dict-dir^master>", 0}
, {"actual-lang", KeyInfoString, "", 0}
, {"conf", KeyInfoString, "aspell.conf",
- /* TRANSLATORS: The remaing strings in config.cpp should be kept
+ /* TRANSLATORS: The remaining strings in config.cpp should be kept
under 50 characters, begin with a lower case character and not
include any trailing punctuation marks. */
N_("main configuration file")}
// -- setting a boolean value to an empty string is the same as setting
// it to true
//
- // lset - sets a list, items seperated by ':'
+ // lset - sets a list, items separated by ':'
// rem, remove - removes item from a list
// add - add an item to a list
// clear - removes all items from a list
PosibErr<String> retrieve(ParmStr key) const;
- // will also retrive a list, with one value per line
+ // will also retrieve a list, with one value per line
PosibErr<String> retrieve_any(ParmStr key) const;
bool have (ParmStr key) const;
}
};
+# define sanity(check) \
+ if (!(check)) return sanity_fail(__FILE__, FUNC, __LINE__, #check)
+
+ static PosibErrBase sanity_fail(const char * file, const char * func,
+ unsigned line, const char * check_str)
+ {
+ char mesg[500];
+ snprintf(mesg, 500, "%s:%d: %s: Assertion \"%s\" failed.",
+ file, line, func, check_str);
+ return make_err(bad_input_error, mesg);
+ }
+# define CREATE_NORM_TABLE(T, in, buf, res) \
+ do { PosibErr<NormTable<T> *> pe( create_norm_table<T>(in,buf) );\
+ if (pe.has_err()) return PosibErrBase(pe); \
+ res = pe.data; } while(false)
+
template <class T>
static PosibErr< NormTable<T> * > create_norm_table(IStream & in, String & buf)
{
+ const char FUNC[] = "create_norm_table";
const char * p = get_nb_line(in, buf);
- assert(*p == 'N');
+ sanity(*p == 'N');
++p;
int size = strtoul(p, (char **)&p, 10);
VARARRAY(T, d, size);
while (p = get_nb_line(in, buf), *p != '.') {
Uni32 f = strtoul(p, (char **)&p, 16);
cur->from = static_cast<typename T::From>(f);
- assert(f == cur->from);
+ sanity(f == cur->from);
tally0.add(f);
tally1.add(f);
tally2.add(f);
++p;
- assert(*p == '>');
+ sanity(*p == '>');
++p;
- assert(*p == ' ');
+ sanity(*p == ' ');
++p;
unsigned i = 0;
if (*p != '-') {
const char * q = p;
Uni32 t = strtoul(p, (char **)&p, 16);
if (q == p) break;
- assert(i < d->max_to);
+ sanity(i < d->max_to);
cur->to[i] = static_cast<typename T::To>(t);
- assert(t == static_cast<Uni32>(cur->to[i]));
+ sanity(t == static_cast<Uni32>(cur->to[i]));
}
} else {
cur->to[0] = 0;
cur->to[1] = T::to_non_char;
}
if (*p == ' ') ++p;
- if (*p == '/') cur->sub_table = create_norm_table<T>(in,buf);
+ if (*p == '/') CREATE_NORM_TABLE(T, in, buf, cur->sub_table);
++cur;
}
- assert(cur - d == size);
+ sanity(cur - d == size);
Tally * which = &tally0;
if (which->max > tally1.max) which = &tally1;
if (which->max > tally2.max) which = &tally2;
return final;
}
- PosibErr<NormTables *> NormTables::get_new(const String & encoding,
- const Config * config)
+ static PosibErr<void> init_norm_tables(FStream & in, NormTables * d)
{
- String dir1,dir2,file_name;
- fill_data_dir(config, dir1, dir2);
- find_file(file_name,dir1,dir2,encoding,".cmap");
-
- FStream in;
- PosibErrBase err = in.open(file_name, "r");
- if (err.get_err()) {
- char mesg[300];
- snprintf(mesg, 300, _("This could also mean that the file \"%s\" could not be opened for reading or does not exist."),
- file_name.c_str());
- return make_err(unknown_encoding, encoding, mesg); // FIXME
- }
-
- NormTables * d = new NormTables;
- d->key = encoding;
+ const char FUNC[] = "init_norm_tables";
String l;
get_nb_line(in, l);
remove_comments(l);
- assert (l == "INTERNAL");
+ sanity (l == "INTERNAL");
get_nb_line(in, l);
remove_comments(l);
- assert (l == "/");
- d->internal = create_norm_table<FromUniNormEntry>(in, l);
+ sanity (l == "/");
+ CREATE_NORM_TABLE(FromUniNormEntry, in, l, d->internal);
get_nb_line(in, l);
remove_comments(l);
- assert (l == "STRICT");
+ sanity (l == "STRICT");
char * p = get_nb_line(in, l);
remove_comments(l);
if (l == "/") {
- d->strict_d = create_norm_table<FromUniNormEntry>(in, l);
+ CREATE_NORM_TABLE(FromUniNormEntry, in, l, d->strict_d);
d->strict = d->strict_d;
} else {
- assert(*p == '=');
+ sanity(*p == '=');
++p; ++p;
- assert(strcmp(p, "INTERNAL") == 0);
+ sanity(strcmp(p, "INTERNAL") == 0);
d->strict = d->internal;
}
while (get_nb_line(in, l)) {
remove_comments(l);
- d->to_uni.push_back(ToUniTable());
- ToUniTable & e = d->to_uni.back();
+ d->to_uni.push_back(NormTables::ToUniTable());
+ NormTables::ToUniTable & e = d->to_uni.back();
e.name.resize(l.size());
for (unsigned i = 0; i != l.size(); ++i)
e.name[i] = asc_tolower(l[i]);
char * p = get_nb_line(in, l);
remove_comments(l);
if (l == "/") {
- e.ptr = e.data = create_norm_table<ToUniNormEntry>(in,l);
+ CREATE_NORM_TABLE(ToUniNormEntry, in, l, e.data);
+ e.ptr = e.data;
} else {
- assert(*p == '=');
+ sanity(*p == '=');
++p; ++p;
for (char * q = p; *q; ++q) *q = asc_tolower(*q);
- Vector<ToUniTable>::iterator i = d->to_uni.begin();
+ Vector<NormTables::ToUniTable>::iterator i = d->to_uni.begin();
while (i->name != p && i != d->to_uni.end()) ++i;
- assert(i != d->to_uni.end());
+ sanity(i != d->to_uni.end());
e.ptr = i->ptr;
get_nb_line(in, l);
}
}
+ return no_err;
+ }
+
+ PosibErr<NormTables *> NormTables::get_new(const String & encoding,
+ const Config * config)
+ {
+ String dir1,dir2,file_name;
+ fill_data_dir(config, dir1, dir2);
+ find_file(file_name,dir1,dir2,encoding,".cmap");
+
+ FStream in;
+ PosibErrBase err = in.open(file_name, "r");
+ if (err.get_err()) {
+ char mesg[300];
+ snprintf(mesg, 300, _("This could also mean that the file \"%s\" could not be opened for reading or does not exist."),
+ file_name.c_str());
+ return make_err(unknown_encoding, encoding, mesg); // FIXME
+ }
+
+ NormTables * d = new NormTables;
+ d->key = encoding;
+ err = init_norm_tables(in, d);
+ if (err.has_err()) {
+ return make_err(bad_file_format, file_name, err.get_err()->mesg);
+ }
+
return d;
+
}
NormTables::~NormTables()
ToUniLookup lookup;
void decode(const char * in, int size, FilterCharVector & out) const {
const char * stop = in + size; // this is OK even if size == -1
- while (*in && in != stop) {
+ while (in != stop && *in) {
out.append(from_utf8(in, stop));
}
}
FilterCharVector & out, ParmStr orig) const {
const char * begin = in;
const char * stop = in + size; // this is OK even if size == -1
- while (*in && in != stop) {
+ while (in != stop && *in) {
FilterChar c = from_utf8(in, stop, (Uni32)-1);
if (c == (Uni32)-1) {
char m[70];
* LGPL license along with this library if you did not you can find it
* at http://www.gnu.org/. */
-#ifndef ASPELL_ERRORS__HPP
+#if !defined(ASPELL_ERRORS__HPP) && !defined(ASPELL_ASPELL__H)
#define ASPELL_ERRORS__HPP
// Will return false if there is no more data
bool append_line(String &, char d);
- // These perform raw io with any sort of formating
+ // These perform raw io with any sort of formatting
bool read(void *, unsigned int i);
void write(ParmStr);
void write(char c);
namespace acommon {
-using namespace std;
-
void ObjStack::setup_chunk()
{
bottom = first_free->data;
char * dup(ParmString str) {return dup_top(str);}
// alloc_temp allocates an object from the bottom which can be
- // resized untill it is commited. If the resizing will involve
+ // resized until it is committed. If the resizing will involve
// moving the object than the data will be copied in the same way
// realloc does. Any previously allocated objects are aborted when
// alloc_temp is called.
// and operator* and StackPtr(T *) will be used. The explicit
// doesn't protect us here due to PosibErr
StackPtr(const StackPtr & other);
- // becuase I am paranoid
+ // because I am paranoid
StackPtr & operator=(const StackPtr & other);
public:
erase(begin_ + pos, begin_ + pos + s);
}
- //FIXME: Make this more efficent by rewriting the implemenation
+ //FIXME: Make this more efficient by rewriting the implementation
// to work with raw memory rather than using vector<char>
template <typename Itr>
void replace(iterator start, iterator stop, Itr rstart, Itr rstop)
private:
HashTable<Parms> lookup_;
ObjStack buffer_;
- const char empty_str[1];
+ /*const */ char empty_str[1];
void copy(const StringMap & other);
public:
PosibErr<void> clear() {lookup_.clear(); buffer_.reset(); return no_err;}
- StringMap() : empty_str() {}
- StringMap(const StringMap & other) : empty_str() {copy(other);}
+ StringMap() {empty_str[0] = '\0';}
+ StringMap(const StringMap & other) {empty_str[0] = '\0'; copy(other);}
StringMap & operator= (const StringMap & o) {clear(); copy(o); return *this;}
~StringMap() {}
Tokenizer::~Tokenizer()
{}
- void Tokenizer::reset (FilterChar * begin, FilterChar * end)
+ void Tokenizer::reset (FilterChar * start, FilterChar * stop)
{
- bool can_encode = conv_->encode(begin, end, buf_);
+ bool can_encode = conv_->encode(start, stop, buf_);
assert(can_encode);
end_pos = 0;
- word_end = begin;
- end = end;
+ word_end = start;
+ end = stop;
}
}
}
T * data() {return &*this->begin();}
T * data(int pos) {return &*this->begin() + pos;}
- T * data_end() {return &this->back()+1;}
+ T * data_end() {return &*this->begin() + this->size();}
T * pbegin() {return &*this->begin();}
- T * pend() {return &this->back()+1;}
+ T * pend() {return &*this->begin() + this->size();}
const T * pbegin() const {return &*this->begin();}
- const T * pend() const {return &this->back()+1;}
+ const T * pend() const {return &*this->begin() + this->size();}
template <typename U>
U * datap() {
--- /dev/null
+#include "settings.h"
+
+extern "C" const char * aspell_version_string() {
+#ifdef NDEBUG
+ return VERSION " NDEBUG";
+#endif
+ return VERSION;
+}
#! /bin/sh
-# Wrapper for compilers which do not understand `-c -o'.
+# Wrapper for compilers which do not understand '-c -o'.
-scriptversion=2009-10-06.20; # UTC
+scriptversion=2012-10-14.11; # UTC
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009 Free Software
-# Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
# 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, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
+nl='
+'
+
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent tools from complaining about whitespace usage.
+IFS=" "" $nl"
+
+file_conv=
+
+# func_file_conv build_file lazy
+# Convert a $build file to $host form and store it in $file
+# Currently only supports Windows hosts. If the determined conversion
+# type is listed in (the comma separated) LAZY, no conversion will
+# take place.
+func_file_conv ()
+{
+ file=$1
+ case $file in
+ / | /[!/]*) # absolute file, and not a UNC file
+ if test -z "$file_conv"; then
+ # lazily determine how to convert abs files
+ case `uname -s` in
+ MINGW*)
+ file_conv=mingw
+ ;;
+ CYGWIN*)
+ file_conv=cygwin
+ ;;
+ *)
+ file_conv=wine
+ ;;
+ esac
+ fi
+ case $file_conv/,$2, in
+ *,$file_conv,*)
+ ;;
+ mingw/*)
+ file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
+ ;;
+ cygwin/*)
+ file=`cygpath -m "$file" || echo "$file"`
+ ;;
+ wine/*)
+ file=`winepath -w "$file" || echo "$file"`
+ ;;
+ esac
+ ;;
+ esac
+}
+
+# func_cl_dashL linkdir
+# Make cl look for libraries in LINKDIR
+func_cl_dashL ()
+{
+ func_file_conv "$1"
+ if test -z "$lib_path"; then
+ lib_path=$file
+ else
+ lib_path="$lib_path;$file"
+ fi
+ linker_opts="$linker_opts -LIBPATH:$file"
+}
+
+# func_cl_dashl library
+# Do a library search-path lookup for cl
+func_cl_dashl ()
+{
+ lib=$1
+ found=no
+ save_IFS=$IFS
+ IFS=';'
+ for dir in $lib_path $LIB
+ do
+ IFS=$save_IFS
+ if $shared && test -f "$dir/$lib.dll.lib"; then
+ found=yes
+ lib=$dir/$lib.dll.lib
+ break
+ fi
+ if test -f "$dir/$lib.lib"; then
+ found=yes
+ lib=$dir/$lib.lib
+ break
+ fi
+ if test -f "$dir/lib$lib.a"; then
+ found=yes
+ lib=$dir/lib$lib.a
+ break
+ fi
+ done
+ IFS=$save_IFS
+
+ if test "$found" != yes; then
+ lib=$lib.lib
+ fi
+}
+
+# func_cl_wrapper cl arg...
+# Adjust compile command to suit cl
+func_cl_wrapper ()
+{
+ # Assume a capable shell
+ lib_path=
+ shared=:
+ linker_opts=
+ for arg
+ do
+ if test -n "$eat"; then
+ eat=
+ else
+ case $1 in
+ -o)
+ # configure might choose to run compile as 'compile cc -o foo foo.c'.
+ eat=1
+ case $2 in
+ *.o | *.[oO][bB][jJ])
+ func_file_conv "$2"
+ set x "$@" -Fo"$file"
+ shift
+ ;;
+ *)
+ func_file_conv "$2"
+ set x "$@" -Fe"$file"
+ shift
+ ;;
+ esac
+ ;;
+ -I)
+ eat=1
+ func_file_conv "$2" mingw
+ set x "$@" -I"$file"
+ shift
+ ;;
+ -I*)
+ func_file_conv "${1#-I}" mingw
+ set x "$@" -I"$file"
+ shift
+ ;;
+ -l)
+ eat=1
+ func_cl_dashl "$2"
+ set x "$@" "$lib"
+ shift
+ ;;
+ -l*)
+ func_cl_dashl "${1#-l}"
+ set x "$@" "$lib"
+ shift
+ ;;
+ -L)
+ eat=1
+ func_cl_dashL "$2"
+ ;;
+ -L*)
+ func_cl_dashL "${1#-L}"
+ ;;
+ -static)
+ shared=false
+ ;;
+ -Wl,*)
+ arg=${1#-Wl,}
+ save_ifs="$IFS"; IFS=','
+ for flag in $arg; do
+ IFS="$save_ifs"
+ linker_opts="$linker_opts $flag"
+ done
+ IFS="$save_ifs"
+ ;;
+ -Xlinker)
+ eat=1
+ linker_opts="$linker_opts $2"
+ ;;
+ -*)
+ set x "$@" "$1"
+ shift
+ ;;
+ *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
+ func_file_conv "$1"
+ set x "$@" -Tp"$file"
+ shift
+ ;;
+ *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
+ func_file_conv "$1" mingw
+ set x "$@" "$file"
+ shift
+ ;;
+ *)
+ set x "$@" "$1"
+ shift
+ ;;
+ esac
+ fi
+ shift
+ done
+ if test -n "$linker_opts"; then
+ linker_opts="-link$linker_opts"
+ fi
+ exec "$@" $linker_opts
+ exit 1
+}
+
+eat=
+
case $1 in
'')
- echo "$0: No command. Try \`$0 --help' for more information." 1>&2
+ echo "$0: No command. Try '$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: compile [--help] [--version] PROGRAM [ARGS]
-Wrapper for compilers which do not understand `-c -o'.
-Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
+Wrapper for compilers which do not understand '-c -o'.
+Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
arguments, and rename the output as expected.
If you are trying to build a whole package this is not the
-right script to run: please start by reading the file `INSTALL'.
+right script to run: please start by reading the file 'INSTALL'.
Report bugs to <bug-automake@gnu.org>.
EOF
echo "compile $scriptversion"
exit $?
;;
+ cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
+ func_cl_wrapper "$@" # Doesn't return...
+ ;;
esac
ofile=
cfile=
-eat=
for arg
do
else
case $1 in
-o)
- # configure might choose to run compile as `compile cc -o foo foo.c'.
- # So we strip `-o arg' only if arg is an object.
+ # configure might choose to run compile as 'compile cc -o foo foo.c'.
+ # So we strip '-o arg' only if arg is an object.
eat=1
case $2 in
*.o | *.obj)
done
if test -z "$ofile" || test -z "$cfile"; then
- # If no `-o' option was seen then we might have been invoked from a
+ # If no '-o' option was seen then we might have been invoked from a
# pattern rule where we don't need one. That is ok -- this is a
# normal compilation that the losing compiler can handle. If no
- # `.c' file was seen then we are probably linking. That is also
+ # '.c' file was seen then we are probably linking. That is also
# ok.
exec "$@"
fi
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
# Create the lock directory.
-# Note: use `[/\\:.-]' here to ensure that we don't use the same name
+# Note: use '[/\\:.-]' here to ensure that we don't use the same name
# that we are using for the .o file. Also, base the name on the expected
# object file name, since that is what matters with a parallel build.
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-# Free Software Foundation, Inc.
+# Copyright 1992-2014 Free Software Foundation, Inc.
-timestamp='2009-11-20'
+timestamp='2014-03-23'
# This file 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 2 of the License, or
+# 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
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Originally written by Per Bothner. Please send patches (context
-# diff format) to <config-patches@gnu.org> and include a ChangeLog
-# entry.
+# the same distribution terms that you use for the rest of that
+# program. This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
#
-# This script attempts to guess a canonical system name similar to
-# config.sub. If it succeeds, it prints the system name on stdout, and
-# exits with 0. Otherwise, it exits with 1.
+# Originally written by Per Bothner.
#
# You can get the latest version of this script from:
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+#
+# Please send patches with a ChangeLog entry to config-patches@gnu.org.
+
me=`echo "$0" | sed -e 's,.*/,,'`
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+Copyright 1992-2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+case "${UNAME_SYSTEM}" in
+Linux|GNU|GNU/*)
+ # If the system lacks a compiler, then just pick glibc.
+ # We could probably try harder.
+ LIBC=gnu
+
+ eval $set_cc_for_build
+ cat <<-EOF > $dummy.c
+ #include <features.h>
+ #if defined(__UCLIBC__)
+ LIBC=uclibc
+ #elif defined(__dietlibc__)
+ LIBC=dietlibc
+ #else
+ LIBC=gnu
+ #endif
+ EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
+ ;;
+esac
+
# Note: order is significant - the case branches are not exclusive.
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:NetBSD:*:*)
# NetBSD (nbsd) targets should (where applicable) match one or
- # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
# *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
# switched to ELF, *-*-netbsd* would select the old
# object file format. This provides both forward
fi
;;
*)
- os=netbsd
+ os=netbsd
;;
esac
# The OS release
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
echo "${machine}-${os}${release}"
exit ;;
+ *:Bitrig:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
+ exit ;;
*:OpenBSD:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
;;
*5.*)
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
;;
esac
# According to Compaq, /usr/sbin/psrinfo has been available on
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- exit ;;
+ # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
+ exitcode=$?
+ trap '' 0
+ exit $exitcode ;;
Alpha\ *:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# Should we change UNAME_MACHINE based on the output of uname instead
echo s390-ibm-zvmoe
exit ;;
*:OS400:*:*)
- echo powerpc-ibm-os400
+ echo powerpc-ibm-os400
exit ;;
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE}
exit ;;
- arm:riscos:*:*|arm:RISCOS:*:*)
+ arm*:riscos:*:*|arm*:RISCOS:*:*)
echo arm-unknown-riscos
exit ;;
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
# MiNT. But MiNT is downward compatible to TOS, so this should
# be no problem.
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
+ echo m68k-atari-mint${UNAME_RELEASE}
exit ;;
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
+ exit ;;
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
+ echo m68k-atari-mint${UNAME_RELEASE}
exit ;;
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
- echo m68k-milan-mint${UNAME_RELEASE}
- exit ;;
+ echo m68k-milan-mint${UNAME_RELEASE}
+ exit ;;
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
- echo m68k-hades-mint${UNAME_RELEASE}
- exit ;;
+ echo m68k-hades-mint${UNAME_RELEASE}
+ exit ;;
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
- echo m68k-unknown-mint${UNAME_RELEASE}
- exit ;;
+ echo m68k-unknown-mint${UNAME_RELEASE}
+ exit ;;
m68k:machten:*:*)
echo m68k-apple-machten${UNAME_RELEASE}
exit ;;
echo m88k-motorola-sysv3
exit ;;
AViiON:dgux:*:*)
- # DG/UX returns AViiON for all architectures
- UNAME_PROCESSOR=`/usr/bin/uname -p`
+ # DG/UX returns AViiON for all architectures
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
then
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
else
echo i586-dg-dgux${UNAME_RELEASE}
fi
- exit ;;
+ exit ;;
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
echo m88k-dolphin-sysv3
exit ;;
echo rs6000-ibm-aix3.2
fi
exit ;;
- *:AIX:*:[456])
+ *:AIX:*:[4567])
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
IBM_ARCH=rs6000
9000/[678][0-9][0-9])
if [ -x /usr/bin/getconf ]; then
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
- case "${sc_cpu_version}" in
- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
- 532) # CPU_PA_RISC2_0
- case "${sc_kernel_bits}" in
- 32) HP_ARCH="hppa2.0n" ;;
- 64) HP_ARCH="hppa2.0w" ;;
+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+ case "${sc_cpu_version}" in
+ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+ 532) # CPU_PA_RISC2_0
+ case "${sc_kernel_bits}" in
+ 32) HP_ARCH="hppa2.0n" ;;
+ 64) HP_ARCH="hppa2.0w" ;;
'') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
- esac ;;
- esac
+ esac ;;
+ esac
fi
if [ "${HP_ARCH}" = "" ]; then
eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
+ sed 's/^ //' << EOF >$dummy.c
- #define _HPUX_SOURCE
- #include <stdlib.h>
- #include <unistd.h>
+ #define _HPUX_SOURCE
+ #include <stdlib.h>
+ #include <unistd.h>
- int main ()
- {
- #if defined(_SC_KERNEL_BITS)
- long bits = sysconf(_SC_KERNEL_BITS);
- #endif
- long cpu = sysconf (_SC_CPU_VERSION);
+ int main ()
+ {
+ #if defined(_SC_KERNEL_BITS)
+ long bits = sysconf(_SC_KERNEL_BITS);
+ #endif
+ long cpu = sysconf (_SC_CPU_VERSION);
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
- case CPU_PA_RISC2_0:
- #if defined(_SC_KERNEL_BITS)
- switch (bits)
- {
- case 64: puts ("hppa2.0w"); break;
- case 32: puts ("hppa2.0n"); break;
- default: puts ("hppa2.0"); break;
- } break;
- #else /* !defined(_SC_KERNEL_BITS) */
- puts ("hppa2.0"); break;
- #endif
- default: puts ("hppa1.0"); break;
- }
- exit (0);
- }
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+ case CPU_PA_RISC2_0:
+ #if defined(_SC_KERNEL_BITS)
+ switch (bits)
+ {
+ case 64: puts ("hppa2.0w"); break;
+ case 32: puts ("hppa2.0n"); break;
+ default: puts ("hppa2.0"); break;
+ } break;
+ #else /* !defined(_SC_KERNEL_BITS) */
+ puts ("hppa2.0"); break;
+ #endif
+ default: puts ("hppa1.0"); break;
+ }
+ exit (0);
+ }
EOF
(CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
test -z "$HP_ARCH" && HP_ARCH=hppa
exit ;;
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
echo c1-convex-bsd
- exit ;;
+ exit ;;
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
- exit ;;
+ exit ;;
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
echo c34-convex-bsd
- exit ;;
+ exit ;;
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
echo c38-convex-bsd
- exit ;;
+ exit ;;
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
echo c4-convex-bsd
- exit ;;
+ exit ;;
CRAY*Y-MP:*:*:*)
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit ;;
exit ;;
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit ;;
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
5000:UNIX_System_V:4.*:*)
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
- echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit ;;
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
exit ;;
*:FreeBSD:*:*)
- case ${UNAME_MACHINE} in
- pc98)
- echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
+ case ${UNAME_PROCESSOR} in
amd64)
echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
*)
- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
esac
exit ;;
i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin
exit ;;
+ *:MINGW64*:*)
+ echo ${UNAME_MACHINE}-pc-mingw64
+ exit ;;
*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit ;;
+ *:MSYS*:*)
+ echo ${UNAME_MACHINE}-pc-msys
+ exit ;;
i*:windows32*:*)
- # uname -m includes "-pc" on this system.
- echo ${UNAME_MACHINE}-mingw32
+ # uname -m includes "-pc" on this system.
+ echo ${UNAME_MACHINE}-mingw32
exit ;;
i*:PW*:*)
echo ${UNAME_MACHINE}-pc-pw32
exit ;;
*:Interix*:*)
- case ${UNAME_MACHINE} in
+ case ${UNAME_MACHINE} in
x86)
echo i586-pc-interix${UNAME_RELEASE}
exit ;;
exit ;;
*:GNU:*:*)
# the GNU system
- echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
exit ;;
*:GNU/*:*:*)
# other systems with GNU libc and userland
- echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
exit ;;
i*86:Minix:*:*)
echo ${UNAME_MACHINE}-pc-minix
exit ;;
+ aarch64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ aarch64_be:Linux:*:*)
+ UNAME_MACHINE=aarch64_be
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
alpha:Linux:*:*)
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
EV5) UNAME_MACHINE=alphaev5 ;;
EV6) UNAME_MACHINE=alphaev6 ;;
EV67) UNAME_MACHINE=alphaev67 ;;
EV68*) UNAME_MACHINE=alphaev68 ;;
- esac
+ esac
objdump --private-headers /bin/sh | grep -q ld.so.1
- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+ if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ arc:Linux:*:* | arceb:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
arm*:Linux:*:*)
eval $set_cc_for_build
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_EABI__
then
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
else
- echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_PCS_VFP
+ then
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
+ else
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
+ fi
fi
exit ;;
avr32*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
cris:Linux:*:*)
- echo cris-axis-linux-gnu
+ echo ${UNAME_MACHINE}-axis-linux-${LIBC}
exit ;;
crisv32:Linux:*:*)
- echo crisv32-axis-linux-gnu
+ echo ${UNAME_MACHINE}-axis-linux-${LIBC}
exit ;;
frv:Linux:*:*)
- echo frv-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ hexagon:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
i*86:Linux:*:*)
- LIBC=gnu
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #ifdef __dietlibc__
- LIBC=dietlibc
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
- echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+ echo ${UNAME_MACHINE}-pc-linux-${LIBC}
exit ;;
ia64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
m32r*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
m68*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
mips:Linux:*:* | mips64:Linux:*:*)
eval $set_cc_for_build
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
;;
- or32:Linux:*:*)
- echo or32-unknown-linux-gnu
+ openrisc*:Linux:*:*)
+ echo or1k-unknown-linux-${LIBC}
+ exit ;;
+ or32:Linux:*:* | or1k*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
padre:Linux:*:*)
- echo sparc-unknown-linux-gnu
+ echo sparc-unknown-linux-${LIBC}
exit ;;
parisc64:Linux:*:* | hppa64:Linux:*:*)
- echo hppa64-unknown-linux-gnu
+ echo hppa64-unknown-linux-${LIBC}
exit ;;
parisc:Linux:*:* | hppa:Linux:*:*)
# Look for CPU level
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
- PA7*) echo hppa1.1-unknown-linux-gnu ;;
- PA8*) echo hppa2.0-unknown-linux-gnu ;;
- *) echo hppa-unknown-linux-gnu ;;
+ PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
+ PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
+ *) echo hppa-unknown-linux-${LIBC} ;;
esac
exit ;;
ppc64:Linux:*:*)
- echo powerpc64-unknown-linux-gnu
+ echo powerpc64-unknown-linux-${LIBC}
exit ;;
ppc:Linux:*:*)
- echo powerpc-unknown-linux-gnu
+ echo powerpc-unknown-linux-${LIBC}
+ exit ;;
+ ppc64le:Linux:*:*)
+ echo powerpc64le-unknown-linux-${LIBC}
+ exit ;;
+ ppcle:Linux:*:*)
+ echo powerpcle-unknown-linux-${LIBC}
exit ;;
s390:Linux:*:* | s390x:Linux:*:*)
- echo ${UNAME_MACHINE}-ibm-linux
+ echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
exit ;;
sh64*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
sh*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
sparc:Linux:*:* | sparc64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ tile*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
vax:Linux:*:*)
- echo ${UNAME_MACHINE}-dec-linux-gnu
+ echo ${UNAME_MACHINE}-dec-linux-${LIBC}
exit ;;
x86_64:Linux:*:*)
- echo x86_64-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
xtensa*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
i*86:DYNIX/ptx:4*:*)
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
echo i386-sequent-sysv4
exit ;;
i*86:UNIX_SV:4.2MP:2.*)
- # Unixware is an offshoot of SVR4, but it has its own version
- # number series starting with 2...
- # I am not positive that other SVR4 systems won't match this,
+ # Unixware is an offshoot of SVR4, but it has its own version
+ # number series starting with 2...
+ # I am not positive that other SVR4 systems won't match this,
# I just have to hope. -- rms.
- # Use sysv4.2uw... so that sysv4* matches it.
+ # Use sysv4.2uw... so that sysv4* matches it.
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
exit ;;
i*86:OS/2:*:*)
fi
exit ;;
i*86:*:5:[678]*)
- # UnixWare 7.x, OpenUNIX and OpenServer 6.
+ # UnixWare 7.x, OpenUNIX and OpenServer 6.
case `/bin/uname -X | grep "^Machine"` in
*486*) UNAME_MACHINE=i486 ;;
*Pentium) UNAME_MACHINE=i586 ;;
exit ;;
pc:*:*:*)
# Left here for compatibility:
- # uname -m prints for DJGPP always 'pc', but it prints nothing about
- # the processor, so we play safe by assuming i586.
+ # uname -m prints for DJGPP always 'pc', but it prints nothing about
+ # the processor, so we play safe by assuming i586.
# Note: whatever this is, it MUST be the same as what config.sub
# prints for the "djgpp" host, or else GDB configury will decide that
# this is a cross-build.
echo i586-pc-msdosdjgpp
- exit ;;
+ exit ;;
Intel:Mach:3*:*)
echo i386-pc-mach3
exit ;;
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
&& { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4; exit; } ;;
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4; exit; } ;;
NCR*:*:4.2:* | MPRAS*:*:4.2:*)
OS_REL='.3'
test -r /etc/.relid \
echo ns32k-sni-sysv
fi
exit ;;
- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
- # says <Richard.M.Bartel@ccMail.Census.GOV>
- echo i586-unisys-sysv4
- exit ;;
+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+ # says <Richard.M.Bartel@ccMail.Census.GOV>
+ echo i586-unisys-sysv4
+ exit ;;
*:UNIX_System_V:4*:FTX*)
# From Gerald Hewes <hewes@openmarket.com>.
# How about differentiating between stratus architectures? -djm
exit ;;
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
if [ -d /usr/nec ]; then
- echo mips-nec-sysv${UNAME_RELEASE}
+ echo mips-nec-sysv${UNAME_RELEASE}
else
- echo mips-unknown-sysv${UNAME_RELEASE}
+ echo mips-unknown-sysv${UNAME_RELEASE}
fi
- exit ;;
+ exit ;;
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
echo powerpc-be-beos
exit ;;
BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
echo i586-pc-haiku
exit ;;
+ x86_64:Haiku:*:*)
+ echo x86_64-unknown-haiku
+ exit ;;
SX-4:SUPER-UX:*:*)
echo sx4-nec-superux${UNAME_RELEASE}
exit ;;
exit ;;
*:Darwin:*:*)
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
- case $UNAME_PROCESSOR in
- i386)
- eval $set_cc_for_build
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
- if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
- UNAME_PROCESSOR="x86_64"
- fi
- fi ;;
- unknown) UNAME_PROCESSOR=powerpc ;;
- esac
+ eval $set_cc_for_build
+ if test "$UNAME_PROCESSOR" = unknown ; then
+ UNAME_PROCESSOR=powerpc
+ fi
+ if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ case $UNAME_PROCESSOR in
+ i386) UNAME_PROCESSOR=x86_64 ;;
+ powerpc) UNAME_PROCESSOR=powerpc64 ;;
+ esac
+ fi
+ fi
+ elif test "$UNAME_PROCESSOR" = i386 ; then
+ # Avoid executing cc on OS X 10.9, as it ships with a stub
+ # that puts up a graphical alert prompting to install
+ # developer tools. Any system running Mac OS X 10.7 or
+ # later (Darwin 11 and later) is required to have a 64-bit
+ # processor. This is not true of the ARM version of Darwin
+ # that Apple uses in portable devices.
+ UNAME_PROCESSOR=x86_64
+ fi
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
exit ;;
*:procnto*:*:* | *:QNX:[0123456789]*:*)
*:QNX:*:4*)
echo i386-pc-qnx
exit ;;
- NSE-?:NONSTOP_KERNEL:*:*)
+ NEO-?:NONSTOP_KERNEL:*:*)
+ echo neo-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ NSE-*:NONSTOP_KERNEL:*:*)
echo nse-tandem-nsk${UNAME_RELEASE}
exit ;;
NSR-?:NONSTOP_KERNEL:*:*)
echo pdp10-unknown-its
exit ;;
SEI:*:*:SEIUX)
- echo mips-sei-seiux${UNAME_RELEASE}
+ echo mips-sei-seiux${UNAME_RELEASE}
exit ;;
*:DragonFly:*:*)
echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
exit ;;
*:*VMS:*:*)
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
case "${UNAME_MACHINE}" in
A*) echo alpha-dec-vms ; exit ;;
I*) echo ia64-dec-vms ; exit ;;
i*86:AROS:*:*)
echo ${UNAME_MACHINE}-pc-aros
exit ;;
-esac
-
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
-eval $set_cc_for_build
-cat >$dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
- /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
- I don't know.... */
- printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
- printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
- "4"
-#else
- ""
-#endif
- ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
- printf ("arm-acorn-riscix\n"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
- printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
- int version;
- version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
- if (version < 4)
- printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
- else
- printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
- exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
- printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
- printf ("ns32k-encore-mach\n"); exit (0);
-#else
- printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
- printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
- printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
- printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
- struct utsname un;
-
- uname(&un);
-
- if (strncmp(un.version, "V2", 2) == 0) {
- printf ("i386-sequent-ptx2\n"); exit (0);
- }
- if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
- printf ("i386-sequent-ptx1\n"); exit (0);
- }
- printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-# include <sys/param.h>
-# if defined (BSD)
-# if BSD == 43
- printf ("vax-dec-bsd4.3\n"); exit (0);
-# else
-# if BSD == 199006
- printf ("vax-dec-bsd4.3reno\n"); exit (0);
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# endif
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# else
- printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
- printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
- exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
- { echo "$SYSTEM_NAME"; exit; }
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
- case `getsysinfo -f cpu_type` in
- c1*)
- echo c1-convex-bsd
- exit ;;
- c2*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit ;;
- c34*)
- echo c34-convex-bsd
- exit ;;
- c38*)
- echo c38-convex-bsd
- exit ;;
- c4*)
- echo c4-convex-bsd
+ x86_64:VMkernel:*:*)
+ echo ${UNAME_MACHINE}-unknown-esx
exit ;;
- esac
-fi
+esac
cat >&2 <<EOF
$0: unable to guess system type
# Output a system dependent set of variables, describing how to set the
# run time search path of shared libraries in an executable.
#
-# Copyright 1996-2006 Free Software Foundation, Inc.
+# Copyright 1996-2014 Free Software Foundation, Inc.
# Taken from GNU libtool, 2001
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
#
# known workaround is to choose shorter directory names for the build
# directory and/or the installation directory.
-# All known linkers require a `.a' archive for static linking (except MSVC,
+# All known linkers require a '.a' archive for static linking (except MSVC,
# which needs '.lib').
libext=a
shrext=.so
done
cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'`
-# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC.
+# Code taken from libtool.m4's _LT_COMPILER_PIC.
wl=
if test "$GCC" = yes; then
aix*)
wl='-Wl,'
;;
- darwin*)
- case $cc_basename in
- xlc*)
- wl='-Wl,'
- ;;
- esac
- ;;
- mingw* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
;;
hpux9* | hpux10* | hpux11*)
wl='-Wl,'
irix5* | irix6* | nonstopux*)
wl='-Wl,'
;;
- newsos6)
- ;;
- linux*)
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
case $cc_basename in
- icc* | ecc*)
+ ecc*)
+ wl='-Wl,'
+ ;;
+ icc* | ifort*)
wl='-Wl,'
;;
- pgcc | pgf77 | pgf90)
+ lf95*)
+ wl='-Wl,'
+ ;;
+ nagfor*)
+ wl='-Wl,-Wl,,'
+ ;;
+ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
wl='-Wl,'
;;
ccc*)
wl='-Wl,'
;;
+ xl* | bgxl* | bgf* | mpixl*)
+ wl='-Wl,'
+ ;;
como)
wl='-lopt='
;;
*)
case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ F* | *Sun*Fortran*)
+ wl=
+ ;;
*Sun\ C*)
wl='-Wl,'
;;
;;
esac
;;
+ newsos6)
+ ;;
+ *nto* | *qnx*)
+ ;;
osf3* | osf4* | osf5*)
wl='-Wl,'
;;
- sco3.2v5*)
+ rdos*)
;;
solaris*)
- wl='-Wl,'
+ case $cc_basename in
+ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+ wl='-Qoption ld '
+ ;;
+ *)
+ wl='-Wl,'
+ ;;
+ esac
;;
sunos4*)
wl='-Qoption ld '
;;
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ sysv4 | sysv4.2uw2* | sysv4.3*)
wl='-Wl,'
;;
sysv4*MP*)
;;
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ wl='-Wl,'
+ ;;
unicos*)
wl='-Wl,'
;;
esac
fi
-# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS.
+# Code taken from libtool.m4's _LT_LINKER_SHLIBS.
hardcode_libdir_flag_spec=
hardcode_libdir_separator=
hardcode_minus_L=no
case "$host_os" in
- cygwin* | mingw* | pw32*)
+ cygwin* | mingw* | pw32* | cegcc*)
# FIXME: the MSVC++ port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
# option of GNU ld is called -rpath, not --rpath.
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
case "$host_os" in
- aix3* | aix4* | aix5*)
+ aix[3-9]*)
# On AIX/PPC, the GNU linker is very broken
if test "$host_cpu" != ia64; then
ld_shlibs=no
fi
;;
amigaos*)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
- # that the semantics of dynamic libraries on AmigaOS, at least up
- # to version 4, is to share data among multiple programs linked
- # with the same dynamic library. Since this doesn't match the
- # behavior of shared libraries on other platforms, we cannot use
- # them.
- ld_shlibs=no
+ case "$host_cpu" in
+ powerpc)
+ ;;
+ m68k)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ esac
;;
beos*)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
ld_shlibs=no
fi
;;
- cygwin* | mingw* | pw32*)
+ cygwin* | mingw* | pw32* | cegcc*)
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
hardcode_libdir_flag_spec='-L$libdir'
ld_shlibs=no
fi
;;
- interix3*)
+ haiku*)
+ ;;
+ interix[3-9]*)
hardcode_direct=no
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
;;
- linux*)
+ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
hardcode_direct=unsupported
fi
;;
- aix4* | aix5*)
+ aix[4-9]*)
if test "$host_cpu" = ia64; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
# need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
for ld_flag in $LDFLAGS; do
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
aix_use_runtimelinking=yes
strings "$collect2name" | grep resolve_lib_name >/dev/null
then
# We have reworked collect2
- hardcode_direct=yes
+ :
else
# We have old collect2
hardcode_direct=unsupported
fi
;;
amigaos*)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- # see comment about different semantics on the GNU ld section
- ld_shlibs=no
+ case "$host_cpu" in
+ powerpc)
+ ;;
+ m68k)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ esac
;;
bsdi[45]*)
;;
- cygwin* | mingw* | pw32*)
+ cygwin* | mingw* | pw32* | cegcc*)
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
;;
darwin* | rhapsody*)
hardcode_direct=no
- if test "$GCC" = yes ; then
+ if { case $cc_basename in ifort*) true;; *) test "$GCC" = yes;; esac; }; then
:
else
- case $cc_basename in
- xlc*)
- ;;
- *)
- ld_shlibs=no
- ;;
- esac
+ ld_shlibs=no
fi
;;
dgux*)
hardcode_libdir_flag_spec='-L$libdir'
;;
- freebsd1*)
- ld_shlibs=no
- ;;
- freebsd2.2*)
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- ;;
- freebsd2*)
+ freebsd2.[01]*)
hardcode_direct=yes
hardcode_minus_L=yes
;;
- freebsd* | kfreebsd*-gnu | dragonfly*)
+ freebsd* | dragonfly*)
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
;;
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=:
;;
+ *nto* | *qnx*)
+ ;;
openbsd*)
- hardcode_direct=yes
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct=yes
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ else
+ case "$host_os" in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ *)
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
else
- case "$host_os" in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- hardcode_libdir_flag_spec='-R$libdir'
- ;;
- *)
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- ;;
- esac
+ ld_shlibs=no
fi
;;
os2*)
ld_shlibs=yes
fi
;;
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
;;
sysv5* | sco3.2v5* | sco5v6*)
hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
fi
# Check dynamic linker characteristics
-# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER.
+# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER.
+# Unlike libtool.m4, here we don't care about _all_ names of the library, but
+# only about the one the linker finds when passed -lNAME. This is the last
+# element of library_names_spec in libtool.m4, or possibly two of them if the
+# linker has special search rules.
+library_names_spec= # the last element of library_names_spec in libtool.m4
libname_spec='lib$name'
case "$host_os" in
aix3*)
+ library_names_spec='$libname.a'
;;
- aix4* | aix5*)
+ aix[4-9]*)
+ library_names_spec='$libname$shrext'
;;
amigaos*)
+ case "$host_cpu" in
+ powerpc*)
+ library_names_spec='$libname$shrext' ;;
+ m68k)
+ library_names_spec='$libname.a' ;;
+ esac
;;
beos*)
+ library_names_spec='$libname$shrext'
;;
bsdi[45]*)
+ library_names_spec='$libname$shrext'
;;
- cygwin* | mingw* | pw32*)
+ cygwin* | mingw* | pw32* | cegcc*)
shrext=.dll
+ library_names_spec='$libname.dll.a $libname.lib'
;;
darwin* | rhapsody*)
shrext=.dylib
+ library_names_spec='$libname$shrext'
;;
dgux*)
+ library_names_spec='$libname$shrext'
;;
- freebsd1*)
- ;;
- kfreebsd*-gnu)
+ freebsd[23].*)
+ library_names_spec='$libname$shrext$versuffix'
;;
freebsd* | dragonfly*)
+ library_names_spec='$libname$shrext'
;;
gnu*)
+ library_names_spec='$libname$shrext'
+ ;;
+ haiku*)
+ library_names_spec='$libname$shrext'
;;
hpux9* | hpux10* | hpux11*)
case $host_cpu in
shrext=.sl
;;
esac
+ library_names_spec='$libname$shrext'
;;
- interix3*)
+ interix[3-9]*)
+ library_names_spec='$libname$shrext'
;;
irix5* | irix6* | nonstopux*)
+ library_names_spec='$libname$shrext'
case "$host_os" in
irix5* | nonstopux*)
libsuff= shlibsuff=
;;
linux*oldld* | linux*aout* | linux*coff*)
;;
- linux*)
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ library_names_spec='$libname$shrext'
;;
knetbsd*-gnu)
+ library_names_spec='$libname$shrext'
;;
netbsd*)
+ library_names_spec='$libname$shrext'
;;
newsos6)
+ library_names_spec='$libname$shrext'
;;
- nto-qnx*)
+ *nto* | *qnx*)
+ library_names_spec='$libname$shrext'
;;
openbsd*)
+ library_names_spec='$libname$shrext$versuffix'
;;
os2*)
libname_spec='$name'
shrext=.dll
+ library_names_spec='$libname.a'
;;
osf3* | osf4* | osf5*)
+ library_names_spec='$libname$shrext'
+ ;;
+ rdos*)
;;
solaris*)
+ library_names_spec='$libname$shrext'
;;
sunos4*)
+ library_names_spec='$libname$shrext$versuffix'
;;
sysv4 | sysv4.3*)
+ library_names_spec='$libname$shrext'
;;
sysv4*MP*)
+ library_names_spec='$libname$shrext'
;;
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ library_names_spec='$libname$shrext'
+ ;;
+ tpf*)
+ library_names_spec='$libname$shrext'
;;
uts4*)
+ library_names_spec='$libname$shrext'
;;
esac
sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
+escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
+escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
# Shared library suffix (normally "so").
shlibext="$shlibext"
+# Format of library name prefix.
+libname_spec="$escaped_libname_spec"
+
+# Library names that the linker finds when passed -lNAME.
+library_names_spec="$escaped_library_names_spec"
+
# Flag to hardcode \$libdir into a binary during linking.
# This must work even if \$libdir does not exist.
hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
#! /bin/sh
# Configuration validation subroutine script.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-# Free Software Foundation, Inc.
+# Copyright 1992-2014 Free Software Foundation, Inc.
-timestamp='2009-11-20'
+timestamp='2014-09-11'
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine. It does not imply ALL GNU software can.
-#
-# This file 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 2 of the License, or
+# This file 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.
+# 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, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
+# the same distribution terms that you use for the rest of that
+# program. This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
-# Please send patches to <config-patches@gnu.org>. Submit a context
-# diff and a properly formatted GNU ChangeLog entry.
+# Please send patches with a ChangeLog entry to config-patches@gnu.org.
#
# Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument.
version="\
GNU config.sub ($timestamp)
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+Copyright 1992-2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
- nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
- uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
+ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+ knetbsd*-gnu* | netbsd*-gnu* | \
kopensolaris*-gnu* | \
storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
+ android-linux)
+ os=-linux-android
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
+ ;;
*)
basic_machine=`echo $1 | sed 's/-[^-]*$//'`
if [ $basic_machine != $1 ]
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
- -apple | -axis | -knuth | -cray | -microblaze)
+ -apple | -axis | -knuth | -cray | -microblaze*)
os=
basic_machine=$1
;;
- -bluegene*)
- os=-cnk
+ -bluegene*)
+ os=-cnk
;;
-sim | -cisco | -oki | -wec | -winbond)
os=
os=-chorusos
basic_machine=$1
;;
- -chorusrdb)
- os=-chorusrdb
+ -chorusrdb)
+ os=-chorusrdb
basic_machine=$1
- ;;
+ ;;
-hiux*)
os=-hiuxwe2
;;
-isc*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
+ -lynx*178)
+ os=-lynxos178
+ ;;
+ -lynx*5)
+ os=-lynxos5
+ ;;
-lynx*)
os=-lynxos
;;
# Some are omitted here because they have special meanings below.
1750a | 580 \
| a29k \
+ | aarch64 | aarch64_be \
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
+ | arc | arceb \
+ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
+ | avr | avr32 \
+ | be32 | be64 \
| bfin \
- | c4x | clipper \
+ | c4x | c8051 | clipper \
| d10v | d30v | dlx | dsp16xx \
+ | epiphany \
| fido | fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+ | hexagon \
| i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \
+ | k1om \
+ | le32 | le64 \
| lm32 \
| m32c | m32r | m32rle | m68000 | m68k | m88k \
- | maxq | mb | microblaze | mcore | mep | metag \
+ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
| mips64 | mips64el \
| mips64vr5900 | mips64vr5900el \
| mipsisa32 | mipsisa32el \
| mipsisa32r2 | mipsisa32r2el \
+ | mipsisa32r6 | mipsisa32r6el \
| mipsisa64 | mipsisa64el \
| mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64r6 | mipsisa64r6el \
| mipsisa64sb1 | mipsisa64sb1el \
| mipsisa64sr71k | mipsisa64sr71kel \
+ | mipsr5900 | mipsr5900el \
| mipstx39 | mipstx39el \
| mn10200 | mn10300 \
| moxie \
| mt \
| msp430 \
- | nios | nios2 \
+ | nds32 | nds32le | nds32be \
+ | nios | nios2 | nios2eb | nios2el \
| ns16k | ns32k \
- | or32 \
+ | open8 | or1k | or1knd | or32 \
| pdp10 | pdp11 | pj | pjl \
- | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+ | powerpc | powerpc64 | powerpc64le | powerpcle \
| pyramid \
- | rx \
+ | riscv32 | riscv64 \
+ | rl78 | rx \
| score \
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
- | spu | strongarm \
- | tahoe | thumb | tic4x | tic80 | tron \
+ | spu \
+ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
| ubicom32 \
- | v850 | v850e \
+ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
| we32k \
- | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
+ | x86 | xc16x | xstormy16 | xtensa \
| z8k | z80)
basic_machine=$basic_machine-unknown
;;
- m6811 | m68hc11 | m6812 | m68hc12 | picochip)
- # Motorola 68HC11/12.
+ c54x)
+ basic_machine=tic54x-unknown
+ ;;
+ c55x)
+ basic_machine=tic55x-unknown
+ ;;
+ c6x)
+ basic_machine=tic6x-unknown
+ ;;
+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
basic_machine=$basic_machine-unknown
os=-none
;;
basic_machine=mt-unknown
;;
+ strongarm | thumb | xscale)
+ basic_machine=arm-unknown
+ ;;
+ xgate)
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+ xscaleeb)
+ basic_machine=armeb-unknown
+ ;;
+
+ xscaleel)
+ basic_machine=armel-unknown
+ ;;
+
# We use `pc' rather than `unknown'
# because (1) that's what they normally are, and
# (2) the word "unknown" tends to confuse beginning users.
# Recognize the basic CPU types with company name.
580-* \
| a29k-* \
+ | aarch64-* | aarch64_be-* \
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* | avr32-* \
+ | be32-* | be64-* \
| bfin-* | bs2000-* \
- | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
- | clipper-* | craynv-* | cydra-* \
+ | c[123]* | c30-* | [cjt]90-* | c4x-* \
+ | c8051-* | clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
| elxsi-* \
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+ | hexagon-* \
| i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* | iq2000-* \
+ | k1om-* \
+ | le32-* | le64-* \
| lm32-* \
| m32c-* | m32r-* | m32rle-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
- | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+ | microblaze-* | microblazeel-* \
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
| mips16-* \
| mips64-* | mips64el-* \
| mips64vr5900-* | mips64vr5900el-* \
| mipsisa32-* | mipsisa32el-* \
| mipsisa32r2-* | mipsisa32r2el-* \
+ | mipsisa32r6-* | mipsisa32r6el-* \
| mipsisa64-* | mipsisa64el-* \
| mipsisa64r2-* | mipsisa64r2el-* \
+ | mipsisa64r6-* | mipsisa64r6el-* \
| mipsisa64sb1-* | mipsisa64sb1el-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
+ | mipsr5900-* | mipsr5900el-* \
| mipstx39-* | mipstx39el-* \
| mmix-* \
| mt-* \
| msp430-* \
- | nios-* | nios2-* \
+ | nds32-* | nds32le-* | nds32be-* \
+ | nios-* | nios2-* | nios2eb-* | nios2el-* \
| none-* | np1-* | ns16k-* | ns32k-* \
+ | open8-* \
+ | or1k*-* \
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
| pyramid-* \
- | romp-* | rs6000-* | rx-* \
+ | rl78-* | romp-* | rs6000-* | rx-* \
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
| sparclite-* \
- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
- | tahoe-* | thumb-* \
- | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
+ | tahoe-* \
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+ | tile*-* \
| tron-* \
| ubicom32-* \
- | v850-* | v850e-* | vax-* \
+ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
+ | vax-* \
| we32k-* \
- | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
+ | x86-* | x86_64-* | xc16x-* | xps100-* \
| xstormy16-* | xtensa*-* \
| ymp-* \
| z8k-* | z80-*)
basic_machine=a29k-amd
os=-udi
;;
- abacus)
+ abacus)
basic_machine=abacus-unknown
;;
adobe68k)
basic_machine=powerpc-ibm
os=-cnk
;;
+ c54x-*)
+ basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ c55x-*)
+ basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ c6x-*)
+ basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
c90)
basic_machine=c90-cray
os=-unicos
;;
- cegcc)
+ cegcc)
basic_machine=arm-unknown
os=-cegcc
;;
basic_machine=craynv-cray
os=-unicosmp
;;
- cr16)
+ cr16 | cr16-*)
basic_machine=cr16-unknown
os=-elf
;;
i370-ibm* | ibm*)
basic_machine=i370-ibm
;;
-# I'm not sure what "Sysv32" means. Should this be sysv3.2?
i*86v32)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv32
basic_machine=ns32k-utek
os=-sysv
;;
- microblaze)
+ microblaze*)
basic_machine=microblaze-xilinx
;;
+ mingw64)
+ basic_machine=x86_64-pc
+ os=-mingw64
+ ;;
mingw32)
- basic_machine=i386-pc
+ basic_machine=i686-pc
os=-mingw32
;;
mingw32ce)
basic_machine=powerpc-unknown
os=-morphos
;;
+ moxiebox)
+ basic_machine=moxie-unknown
+ os=-moxiebox
+ ;;
msdos)
basic_machine=i386-pc
os=-msdos
ms1-*)
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
;;
+ msys)
+ basic_machine=i686-pc
+ os=-msys
+ ;;
mvs)
basic_machine=i370-ibm
os=-mvs
;;
+ nacl)
+ basic_machine=le32-unknown
+ os=-nacl
+ ;;
ncr3000)
basic_machine=i486-ncr
os=-sysv4
np1)
basic_machine=np1-gould
;;
+ neo-tandem)
+ basic_machine=neo-tandem
+ ;;
+ nse-tandem)
+ basic_machine=nse-tandem
+ ;;
nsr-tandem)
basic_machine=nsr-tandem
;;
;;
power) basic_machine=power-ibm
;;
- ppc) basic_machine=powerpc-unknown
+ ppc | ppcbe) basic_machine=powerpc-unknown
;;
- ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ppc-* | ppcbe-*)
+ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ppcle | powerpclittle | ppc-le | powerpc-little)
basic_machine=powerpcle-unknown
basic_machine=i586-unknown
os=-pw32
;;
- rdos)
+ rdos | rdos64)
+ basic_machine=x86_64-pc
+ os=-rdos
+ ;;
+ rdos32)
basic_machine=i386-pc
os=-rdos
;;
basic_machine=i860-stratus
os=-sysv4
;;
+ strongarm-* | thumb-*)
+ basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
sun2)
basic_machine=m68000-sun
;;
basic_machine=t90-cray
os=-unicos
;;
- tic54x | c54x*)
- basic_machine=tic54x-unknown
- os=-coff
- ;;
- tic55x | c55x*)
- basic_machine=tic55x-unknown
- os=-coff
- ;;
- tic6x | c6x*)
- basic_machine=tic6x-unknown
- os=-coff
- ;;
tile*)
- basic_machine=tile-unknown
+ basic_machine=$basic_machine-unknown
os=-linux-gnu
;;
tx39)
xps | xps100)
basic_machine=xps100-honeywell
;;
+ xscale-* | xscalee[bl]-*)
+ basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
+ ;;
ymp)
basic_machine=ymp-cray
os=-unicos
if [ x"$os" != x"" ]
then
case $os in
- # First match some system type aliases
- # that might get confused with valid system types.
+ # First match some system type aliases
+ # that might get confused with valid system types.
# -solaris* is a basic system type, with this one exception.
- -auroraux)
- os=-auroraux
+ -auroraux)
+ os=-auroraux
;;
-solaris1 | -solaris1.*)
os=`echo $os | sed -e 's|solaris1|sunos4|'`
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
- | -sym* | -kopensolaris* \
+ | -sym* | -kopensolaris* | -plan9* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
| -aos* | -aros* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
- | -openbsd* | -solidbsd* \
+ | -bitrig* | -openbsd* | -solidbsd* \
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* | -cegcc* \
- | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
- | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+ | -linux-newlib* | -linux-musl* | -linux-uclibc* \
+ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
-opened*)
os=-openedition
;;
- -os400*)
+ -os400*)
os=-os400
;;
-wince*)
-sinix*)
os=-sysv4
;;
- -tpf*)
+ -tpf*)
os=-tpf
;;
-triton*)
-aros*)
os=-aros
;;
- -kaos*)
- os=-kaos
- ;;
-zvmoe)
os=-zvmoe
;;
-dicos*)
os=-dicos
;;
+ -nacl*)
+ ;;
-none)
;;
*)
# system, and we'll never get to this point.
case $basic_machine in
- score-*)
+ score-*)
os=-elf
;;
- spu-*)
+ spu-*)
os=-elf
;;
*-acorn)
arm*-semi)
os=-aout
;;
- c4x-* | tic4x-*)
- os=-coff
+ c4x-* | tic4x-*)
+ os=-coff
+ ;;
+ c8051-*)
+ os=-elf
+ ;;
+ hexagon-*)
+ os=-elf
+ ;;
+ tic54x-*)
+ os=-coff
+ ;;
+ tic55x-*)
+ os=-coff
+ ;;
+ tic6x-*)
+ os=-coff
;;
# This must come before the *-dec entry.
pdp10-*)
;;
m68000-sun)
os=-sunos3
- # This also exists in the configure program, but was not the
- # default.
- # os=-sunos4
;;
m68*-cisco)
os=-aout
;;
- mep-*)
+ mep-*)
os=-elf
;;
mips*-cisco)
*-ibm)
os=-aix
;;
- *-knuth)
+ *-knuth)
os=-mmixware
;;
*-wec)
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for GNU Aspell 0.60.6.1.
+# Generated by GNU Autoconf 2.69 for GNU Aspell 0.60.7.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
+#
#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
emulate sh
NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
else
- case `(set -o) 2>/dev/null` in
- *posix*) set -o posix ;;
+ case `(set -o) 2>/dev/null` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
esac
-
fi
-
-
-# PATH needs CR
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='print -r --'
+ as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
else
- PATH_SEPARATOR=:
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in #(
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
fi
- rm -f conf$$.sh
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
fi
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
fi
# there to prevent editors from complaining about space-tab.
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
# splitting by setting IFS to empty value.)
-as_nl='
-'
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
-case $0 in
+as_myself=
+case $0 in #((
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+ done
IFS=$as_save_IFS
;;
as_myself=$0
fi
if test ! -f "$as_myself"; then
- echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- { (exit 1); exit 1; }
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ exit 1
fi
-# Work around bugs in pre-3.0 UWIN ksh.
-for as_var in ENV MAIL MAILPATH
-do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there. '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
done
PS1='$ '
PS2='> '
PS4='+ '
# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+# Use a proper internal environment variable to ensure we don't fall
+ # into an infinite loop, continuously re-executing ourselves.
+ if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+ _as_can_reexec=no; export _as_can_reexec;
+ # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+ fi
+ # We don't want this to propagate to other subprocesses.
+ { _as_can_reexec=; unset _as_can_reexec;}
+if test "x$CONFIG_SHELL" = x; then
+ as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '\${1+\"\$@\"}'='\"\$@\"'
+ setopt NO_GLOB_SUBST
+else
+ case \`(set -o) 2>/dev/null\` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
+fi
+"
+ as_required="as_fn_return () { (exit \$1); }
+as_fn_success () { as_fn_return 0; }
+as_fn_failure () { as_fn_return 1; }
+as_fn_ret_success () { return 0; }
+as_fn_ret_failure () { return 1; }
+
+exitcode=0
+as_fn_success || { exitcode=1; echo as_fn_success failed.; }
+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+
+else
+ exitcode=1; echo positional parameters were not saved.
+fi
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
+ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
+ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
+
+ test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
+ ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
+ ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
+ PATH=/empty FPATH=/empty; export PATH FPATH
+ test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
+ || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
+test \$(( 1 + 1 )) = 2 || exit 1"
+ if (eval "$as_required") 2>/dev/null; then :
+ as_have_required=yes
+else
+ as_have_required=no
+fi
+ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ as_found=:
+ case $as_dir in #(
+ /*)
+ for as_base in sh bash ksh sh5; do
+ # Try only shells that exist, to save several forks.
+ as_shell=$as_dir/$as_base
+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+ CONFIG_SHELL=$as_shell as_have_required=yes
+ if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+ break 2
+fi
+fi
+ done;;
+ esac
+ as_found=false
+done
+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
+ CONFIG_SHELL=$SHELL as_have_required=yes
+fi; }
+IFS=$as_save_IFS
+
+
+ if test "x$CONFIG_SHELL" != x; then :
+ export CONFIG_SHELL
+ # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
+fi
+
+ if test x$as_have_required = xno; then :
+ $as_echo "$0: This script requires a shell more modern than all"
+ $as_echo "$0: the shells that I found on your system."
+ if test x${ZSH_VERSION+set} = xset ; then
+ $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+ $as_echo "$0: be upgraded to zsh 4.3.4 or later."
else
- ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
+$0: including any error possibly output before this
+$0: message. Then install a modern shell, or manually run
+$0: the script under such a shell if you do have one."
fi
-done
+ exit 1
+fi
+fi
+fi
+SHELL=${CONFIG_SHELL-/bin/sh}
+export SHELL
+# Unset more variables known to interfere with behavior of common tools.
+CLICOLOR_FORCE= GREP_OPTIONS=
+unset CLICOLOR_FORCE GREP_OPTIONS
+
+## --------------------- ##
+## M4sh Shell Functions. ##
+## --------------------- ##
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+ { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+ return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+ set +e
+ as_fn_set_status $1
+ exit $1
+} # as_fn_exit
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || eval $as_mkdir_p || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+ eval 'as_fn_append ()
+ {
+ eval $1+=\$2
+ }'
+else
+ as_fn_append ()
+ {
+ eval $1=\$$1\$2
+ }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+ eval 'as_fn_arith ()
+ {
+ as_val=$(( $* ))
+ }'
+else
+ as_fn_arith ()
+ {
+ as_val=`expr "$@" || test $? -eq 1`
+ }
+fi # as_fn_arith
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ fi
+ $as_echo "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+} # as_fn_error
-# Required to use basename.
if expr a : '\(a\)' >/dev/null 2>&1 &&
test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
as_basename=false
fi
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
-# Name of the executable.
as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X/"$0" |
+$as_echo X/"$0" |
sed '/^.*\/\([^/][^/]*\)\/*$/{
s//\1/
q
}
s/.*/./; q'`
-# CDPATH.
-$as_unset CDPATH
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
-if test "x$CONFIG_SHELL" = x; then
- if (eval ":") 2>/dev/null; then
- as_have_required=yes
-else
- as_have_required=no
-fi
+ as_lineno_1=$LINENO as_lineno_1a=$LINENO
+ as_lineno_2=$LINENO as_lineno_2a=$LINENO
+ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
- if test $as_have_required = yes && (eval ":
-(as_func_return () {
- (exit \$1)
-}
-as_func_success () {
- as_func_return 0
-}
-as_func_failure () {
- as_func_return 1
-}
-as_func_ret_success () {
- return 0
-}
-as_func_ret_failure () {
- return 1
+ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+ # already done that, so ensure we don't try to do so again and fall
+ # in an infinite loop. This has already happened in practice.
+ _as_can_reexec=no; export _as_can_reexec
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
}
-exitcode=0
-if as_func_success; then
- :
-else
- exitcode=1
- echo as_func_success failed.
-fi
-
-if as_func_failure; then
- exitcode=1
- echo as_func_failure succeeded.
-fi
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+ case `echo 'xy\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ xy) ECHO_C='\c';;
+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
+ ECHO_T=' ';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
-if as_func_ret_success; then
- :
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
else
- exitcode=1
- echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
- exitcode=1
- echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
- :
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -pR'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -pR'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -pR'
+ fi
else
- exitcode=1
- echo positional parameters were not saved.
+ as_ln_s='cp -pR'
fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
-test \$exitcode = 0) || { (exit 1); exit 1; }
-
-(
- as_lineno_1=\$LINENO
- as_lineno_2=\$LINENO
- test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
- test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
-") 2> /dev/null; then
- :
-else
- as_candidate_shells=
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- case $as_dir in
- /*)
- for as_base in sh bash ksh sh5; do
- as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
- done;;
- esac
-done
-IFS=$as_save_IFS
-
-
- for as_shell in $as_candidate_shells $SHELL; do
- # Try only shells that exist, to save several forks.
- if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- { ("$as_shell") 2> /dev/null <<\_ASEOF
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p='mkdir -p "$as_dir"'
else
- case `(set -o) 2>/dev/null` in
- *posix*) set -o posix ;;
-esac
-
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
fi
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
-:
-_ASEOF
-}; then
- CONFIG_SHELL=$as_shell
- as_have_required=yes
- if { "$as_shell" 2> /dev/null <<\_ASEOF
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in
- *posix*) set -o posix ;;
-esac
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-fi
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+SHELL=${CONFIG_SHELL-/bin/sh}
-:
-(as_func_return () {
- (exit $1)
-}
-as_func_success () {
- as_func_return 0
-}
-as_func_failure () {
- as_func_return 1
-}
-as_func_ret_success () {
- return 0
-}
-as_func_ret_failure () {
- return 1
-}
-exitcode=0
-if as_func_success; then
- :
-else
- exitcode=1
- echo as_func_success failed.
-fi
-
-if as_func_failure; then
- exitcode=1
- echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
- :
-else
- exitcode=1
- echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
- exitcode=1
- echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = "$1" ); then
- :
-else
- exitcode=1
- echo positional parameters were not saved.
-fi
-
-test $exitcode = 0) || { (exit 1); exit 1; }
-
-(
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
-
-_ASEOF
-}; then
- break
-fi
-
-fi
-
- done
-
- if test "x$CONFIG_SHELL" != x; then
- for as_var in BASH_ENV ENV
- do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
- done
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
-fi
-
-
- if test $as_have_required = no; then
- echo This script requires a shell more modern than all the
- echo shells that I found on your system. Please install a
- echo modern shell, or manually run the script under such a
- echo shell if you do have one.
- { (exit 1); exit 1; }
-fi
-
-
-fi
-
-fi
-
-
-
-(eval "as_func_return () {
- (exit \$1)
-}
-as_func_success () {
- as_func_return 0
-}
-as_func_failure () {
- as_func_return 1
-}
-as_func_ret_success () {
- return 0
-}
-as_func_ret_failure () {
- return 1
-}
-
-exitcode=0
-if as_func_success; then
- :
-else
- exitcode=1
- echo as_func_success failed.
-fi
-
-if as_func_failure; then
- exitcode=1
- echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
- :
-else
- exitcode=1
- echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
- exitcode=1
- echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
- :
-else
- exitcode=1
- echo positional parameters were not saved.
-fi
-
-test \$exitcode = 0") || {
- echo No shell found that supports shell functions.
- echo Please tell autoconf@gnu.org about your system,
- echo including any error possibly output before this
- echo message
-}
-
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line after each line using $LINENO; the second 'sed'
- # does the real work. The second script uses 'N' to pair each
- # line-number line with the line containing $LINENO, and appends
- # trailing '-' during substitution so that $LINENO is not a special
- # case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # scripts with optimization help from Paolo Bonzini. Blame Lee
- # E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
- sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
- N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- s/-\n.*//
- ' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
- { (exit 1); exit 1; }; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
-
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in
--n*)
- case `echo 'x\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- *) ECHO_C='\c';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir
-fi
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-
-
-# Check that we are running under the correct shell.
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-case X$lt_ECHO in
-X*--fallback-echo)
- # Remove one level of quotation (which was required for Make).
- ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','`
- ;;
-esac
-
-ECHO=${lt_ECHO-echo}
-if test "X$1" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
-elif test "X$1" = X--fallback-echo; then
- # Avoid inline document here, it may be left over
- :
-elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
- # Yippee, $ECHO works!
- :
-else
- # Restart under the correct shell.
- exec $SHELL "$0" --no-reexec ${1+"$@"}
-fi
-
-if test "X$1" = X--fallback-echo; then
- # used as fallback echo
- shift
- cat <<_LT_EOF
-$*
-_LT_EOF
- exit 0
-fi
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test -z "$lt_ECHO"; then
- if test "X${echo_test_string+set}" != Xset; then
- # find a string as large as possible, as long as the shell can cope with it
- for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
- # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
- if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
- { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
- then
- break
- fi
- done
- fi
-
- if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- :
- else
- # The Solaris, AIX, and Digital Unix default echo programs unquote
- # backslashes. This makes it impossible to quote backslashes using
- # echo "$something" | sed 's/\\/\\\\/g'
- #
- # So, first we look for a working echo in the user's PATH.
-
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for dir in $PATH /usr/ucb; do
- IFS="$lt_save_ifs"
- if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
- test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- ECHO="$dir/echo"
- break
- fi
- done
- IFS="$lt_save_ifs"
-
- if test "X$ECHO" = Xecho; then
- # We didn't find a better echo, so look for alternatives.
- if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # This shell has a builtin print -r that does the trick.
- ECHO='print -r'
- elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
- test "X$CONFIG_SHELL" != X/bin/ksh; then
- # If we have ksh, try running configure again with it.
- ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
- export ORIGINAL_CONFIG_SHELL
- CONFIG_SHELL=/bin/ksh
- export CONFIG_SHELL
- exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
- else
- # Try using printf.
- ECHO='printf %s\n'
- if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # Cool, printf works
- :
- elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
- export CONFIG_SHELL
- SHELL="$CONFIG_SHELL"
- export SHELL
- ECHO="$CONFIG_SHELL $0 --fallback-echo"
- elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- ECHO="$CONFIG_SHELL $0 --fallback-echo"
- else
- # maybe with a smaller string...
- prev=:
-
- for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
- if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
- then
- break
- fi
- prev="$cmd"
- done
-
- if test "$prev" != 'sed 50q "$0"'; then
- echo_test_string=`eval $prev`
- export echo_test_string
- exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
- else
- # Oops. We lost completely, so just stick with echo.
- ECHO=echo
- fi
- fi
- fi
- fi
- fi
-fi
-
-# Copy echo and quote the copy suitably for passing to libtool from
-# the Makefile, instead of quoting the original, which is used later.
-lt_ECHO=$ECHO
-if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
- lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
-fi
-
-
-
-
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
# Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
# so uname gets run too.
ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
subdirs=
MFLAGS=
MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='GNU Aspell'
PACKAGE_TARNAME='aspell'
-PACKAGE_VERSION='0.60.6.1'
-PACKAGE_STRING='GNU Aspell 0.60.6.1'
+PACKAGE_VERSION='0.60.7'
+PACKAGE_STRING='GNU Aspell 0.60.7'
PACKAGE_BUGREPORT=''
+PACKAGE_URL='http://www.gnu.org/software/aspell/'
ac_unique_file="prog/aspell.cpp"
# Factoring default headers for most tests.
#endif"
gt_needs=
-ac_subst_vars='SHELL
-PATH_SEPARATOR
-PACKAGE_NAME
-PACKAGE_TARNAME
-PACKAGE_VERSION
-PACKAGE_STRING
-PACKAGE_BUGREPORT
-exec_prefix
-prefix
-program_transform_name
-bindir
-sbindir
-libexecdir
-datarootdir
-datadir
-sysconfdir
-sharedstatedir
-localstatedir
-includedir
-oldincludedir
-docdir
-infodir
-htmldir
-dvidir
-pdfdir
-psdir
-libdir
-localedir
-mandir
-DEFS
-ECHO_C
-ECHO_N
-ECHO_T
-LIBS
-build_alias
-host_alias
-target_alias
-build
-build_cpu
-build_vendor
-build_os
-host
-host_cpu
-host_vendor
-host_os
-target
-target_cpu
-target_vendor
-target_os
-INSTALL_PROGRAM
-INSTALL_SCRIPT
-INSTALL_DATA
-am__isrc
-CYGPATH_W
-PACKAGE
-VERSION
-ACLOCAL
-AUTOCONF
-AUTOMAKE
-AUTOHEADER
-MAKEINFO
-install_sh
-STRIP
-INSTALL_STRIP_PROGRAM
-mkdir_p
-AWK
-SET_MAKE
-am__leading_dot
-AMTAR
-am__tar
-am__untar
-MAINTAINER_MODE_TRUE
-MAINTAINER_MODE_FALSE
-MAINT
-pkgdocdir
-pkgdatadir
-pkglibdir
-CXX
-CXXFLAGS
-LDFLAGS
-CPPFLAGS
-ac_ct_CXX
-EXEEXT
-OBJEXT
-DEPDIR
-am__include
-am__quote
-AMDEP_TRUE
-AMDEP_FALSE
-AMDEPBACKSLASH
-CXXDEPMODE
-am__fastdepCXX_TRUE
-am__fastdepCXX_FALSE
-CC
-CFLAGS
-ac_ct_CC
-CCDEPMODE
-am__fastdepCC_TRUE
-am__fastdepCC_FALSE
-LIBTOOL
-SED
-GREP
-EGREP
-FGREP
-LD
-DUMPBIN
-ac_ct_DUMPBIN
-NM
-LN_S
-AR
-RANLIB
-lt_ECHO
-DSYMUTIL
-NMEDIT
-CPP
-CXXCPP
-PERLPROG
-COMPILE_IN_FILTERS_TRUE
-COMPILE_IN_FILTERS_FALSE
-PSPELL_COMPATIBILITY_TRUE
-PSPELL_COMPATIBILITY_FALSE
-INCREMENTED_SONAME_TRUE
-INCREMENTED_SONAME_FALSE
-USE_NLS
-MSGFMT
-GMSGFMT
-MSGFMT_015
-GMSGFMT_015
-XGETTEXT
-XGETTEXT_015
-MSGMERGE
-INTL_MACOSX_LIBS
-LIBICONV
-LTLIBICONV
-INTLLIBS
-LIBINTL
-LTLIBINTL
-POSUB
-PTHREAD_LIB
-CURSES_LIB
-CURSES_INCLUDE
+ac_subst_vars='am__EXEEXT_FALSE
+am__EXEEXT_TRUE
+LTLIBOBJS
LIBOBJS
-LTLIBOBJS'
+CURSES_INCLUDE
+CURSES_LIB
+PTHREAD_LIB
+POSUB
+LTLIBINTL
+LIBINTL
+INTLLIBS
+LTLIBICONV
+LIBICONV
+INTL_MACOSX_LIBS
+XGETTEXT_EXTRA_OPTIONS
+MSGMERGE
+XGETTEXT_015
+XGETTEXT
+GMSGFMT_015
+MSGFMT_015
+GMSGFMT
+MSGFMT
+GETTEXT_MACRO_VERSION
+USE_NLS
+INCREMENTED_SONAME_FALSE
+INCREMENTED_SONAME_TRUE
+PSPELL_COMPATIBILITY_FALSE
+PSPELL_COMPATIBILITY_TRUE
+COMPILE_IN_FILTERS_FALSE
+COMPILE_IN_FILTERS_TRUE
+PERLPROG
+CXXCPP
+CPP
+OTOOL64
+OTOOL
+LIPO
+NMEDIT
+DSYMUTIL
+MANIFEST_TOOL
+RANLIB
+ac_ct_AR
+AR
+DLLTOOL
+OBJDUMP
+LN_S
+NM
+ac_ct_DUMPBIN
+DUMPBIN
+LD
+FGREP
+EGREP
+GREP
+SED
+LIBTOOL
+am__fastdepCC_FALSE
+am__fastdepCC_TRUE
+CCDEPMODE
+ac_ct_CC
+CFLAGS
+CC
+am__fastdepCXX_FALSE
+am__fastdepCXX_TRUE
+CXXDEPMODE
+am__nodep
+AMDEPBACKSLASH
+AMDEP_FALSE
+AMDEP_TRUE
+am__quote
+am__include
+DEPDIR
+OBJEXT
+EXEEXT
+ac_ct_CXX
+CPPFLAGS
+LDFLAGS
+CXXFLAGS
+CXX
+pkglibdir
+pkgdatadir
+pkgdocdir
+MAINT
+MAINTAINER_MODE_FALSE
+MAINTAINER_MODE_TRUE
+AM_BACKSLASH
+AM_DEFAULT_VERBOSITY
+AM_DEFAULT_V
+AM_V
+am__untar
+am__tar
+AMTAR
+am__leading_dot
+SET_MAKE
+AWK
+mkdir_p
+MKDIR_P
+INSTALL_STRIP_PROGRAM
+STRIP
+install_sh
+MAKEINFO
+AUTOHEADER
+AUTOMAKE
+AUTOCONF
+ACLOCAL
+VERSION
+PACKAGE
+CYGPATH_W
+am__isrc
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+target_os
+target_vendor
+target_cpu
+target
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_URL
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+enable_silent_rules
+enable_maintainer_mode
+enable_docdir
+enable_pkgdatadir
+enable_pkgdata_dir
+enable_pkglibdir
+enable_dict_dir
+enable_win32_relocatable
+enable_curses
+enable_curses_include
+enable_wide_curses
+enable_regex
+enable_compile_in_filters
+enable_filter_version_control
+enable_32_bit_hash_fun
+enable_pspell_compatibility
+enable_incremented_soname
+enable_dependency_tracking
+enable_static
+enable_shared
+with_pic
+enable_fast_install
+with_gnu_ld
+with_sysroot
+enable_libtool_lock
+enable_nls
+enable_rpath
+with_libiconv_prefix
+with_libintl_prefix
+'
ac_precious_vars='build_alias
host_alias
target_alias
# Initialize some variables set by options.
ac_init_help=
ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
# The variables have the same names as the options, with
# dashes changed to underlines.
cache_file=/dev/null
fi
case $ac_option in
- *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *) ac_optarg=yes ;;
+ *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+ *=) ac_optarg= ;;
+ *) ac_optarg=yes ;;
esac
# Accept the important Cygnus configure options, so we can diagnose typos.
datarootdir=$ac_optarg ;;
-disable-* | --disable-*)
- ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
- { (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
- eval enable_$ac_feature=no ;;
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid feature name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=no ;;
-docdir | --docdir | --docdi | --doc | --do)
ac_prev=docdir ;;
dvidir=$ac_optarg ;;
-enable-* | --enable-*)
- ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
- { (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
- eval enable_$ac_feature=\$ac_optarg ;;
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid feature name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=\$ac_optarg ;;
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
| --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
ac_init_version=: ;;
-with-* | --with-*)
- ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
- { (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
- eval with_$ac_package=\$ac_optarg ;;
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid package name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=\$ac_optarg ;;
-without-* | --without-*)
- ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
- { (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
- eval with_$ac_package=no ;;
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid package name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=no ;;
--x)
# Obsolete; use --with-x.
| --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
x_libraries=$ac_optarg ;;
- -*) { echo "$as_me: error: unrecognized option: $ac_option
-Try \`$0 --help' for more information." >&2
- { (exit 1); exit 1; }; }
+ -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
;;
*=*)
ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
# Reject names that are not valid shell variable names.
- expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
- { (exit 1); exit 1; }; }
+ case $ac_envvar in #(
+ '' | [0-9]* | *[!_$as_cr_alnum]* )
+ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
+ esac
eval $ac_envvar=\$ac_optarg
export $ac_envvar ;;
*)
# FIXME: should be removed in autoconf 3.0.
- echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
;;
esac
if test -n "$ac_prev"; then
ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- { echo "$as_me: error: missing argument to $ac_option" >&2
- { (exit 1); exit 1; }; }
+ as_fn_error $? "missing argument to $ac_option"
fi
-# Be sure to have absolute directory names.
+if test -n "$ac_unrecognized_opts"; then
+ case $enable_option_checking in
+ no) ;;
+ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+ esac
+fi
+
+# Check all directory arguments for consistency.
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
libdir localedir mandir
do
eval ac_val=\$$ac_var
+ # Remove trailing slashes.
+ case $ac_val in
+ */ )
+ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+ eval $ac_var=\$ac_val;;
+ esac
+ # Be sure to have absolute directory names.
case $ac_val in
[\\/$]* | ?:[\\/]* ) continue;;
NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
esac
- { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; }
+ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
done
# There might be people who depend on the old broken behavior: `$host'
if test "x$host_alias" != x; then
if test "x$build_alias" = x; then
cross_compiling=maybe
- echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used." >&2
elif test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes
fi
ac_pwd=`pwd` && test -n "$ac_pwd" &&
ac_ls_di=`ls -di .` &&
ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- { echo "$as_me: error: Working directory cannot be determined" >&2
- { (exit 1); exit 1; }; }
+ as_fn_error $? "working directory cannot be determined"
test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- { echo "$as_me: error: pwd does not report name of working directory" >&2
- { (exit 1); exit 1; }; }
+ as_fn_error $? "pwd does not report name of working directory"
# Find the source files, if location was not specified.
if test -z "$srcdir"; then
ac_srcdir_defaulted=yes
# Try the directory containing this script, then the parent directory.
- ac_confdir=`$as_dirname -- "$0" ||
-$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$0" : 'X\(//\)[^/]' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$0" |
+ ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_myself" : 'X\(//\)[^/]' \| \
+ X"$as_myself" : 'X\(//\)$' \| \
+ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
fi
if test ! -r "$srcdir/$ac_unique_file"; then
test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
- { (exit 1); exit 1; }; }
+ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
fi
ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
- { (exit 1); exit 1; }; }
+ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
pwd)`
# When building in place, set srcdir=.
if test "$ac_abs_confdir" = "$ac_pwd"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures GNU Aspell 0.60.6.1 to adapt to many kinds of systems.
+\`configure' configures GNU Aspell 0.60.7 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
--help=short display options specific to this package
--help=recursive display the short help of all the included packages
-V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking...' messages
+ -q, --quiet, --silent do not print \`checking ...' messages
--cache-file=FILE cache test results in FILE [disabled]
-C, --config-cache alias for \`--cache-file=config.cache'
-n, --no-create do not create output files
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
+ [$ac_default_prefix]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
+ [PREFIX]
By default, \`make install' will install all the files in
\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
For better control, use the options below.
Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/aspell]
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --infodir=DIR info documentation [DATAROOTDIR/info]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/aspell]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
_ACEOF
cat <<\_ACEOF
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of GNU Aspell 0.60.6.1:";;
+ short | recursive ) echo "Configuration of GNU Aspell 0.60.7:";;
esac
cat <<\_ACEOF
Optional Features:
+ --disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --enable-maintainer-mode enable make rules and dependencies not useful
- (and sometimes confusing) to the casual installer
+ --enable-silent-rules less verbose build output (undo: "make V=1")
+ --disable-silent-rules verbose build output (undo: "make V=0")
+ --enable-maintainer-mode
+ enable make rules and dependencies not useful (and
+ sometimes confusing) to the casual installer
--enable-docdir=DIR documentation files in DIR [PREFIX/share/doc/aspell]
--enable-pkgdatadir=DIR device dependent data files [LIBDIR/aspell-0.60]
--enable-data-dir=DIR alias for pkgdatadir
--disable-regex
--enable-compile-in-filters
--disable-filter-version-control
+ --enable-32-bit-hash-fun
+ use 32-bit hash function for compiled dictionaries
--disable-pspell-compatibility
don't install pspell compatibility libraries
--enable-incremented-soname
break aspell 0.50 binary compatibility
- --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors
+ --enable-dependency-tracking
+ do not reject slow dependency extractors
+ --disable-dependency-tracking
+ speeds up one-time build
--enable-static[=PKGS] build static libraries [default=no]
--enable-shared[=PKGS] build shared libraries [default=yes]
--enable-fast-install[=PKGS]
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-pic try to use only PIC/non-PIC objects [default=use
+ --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use
both]
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
- --with-gnu-ld assume the C compiler uses GNU ld default=no
+ --with-sysroot=DIR Search for dependent libraries within DIR
+ (or the compiler's sysroot if not specified).
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
--with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib
--without-libiconv-prefix don't search for libiconv in includedir and libdir
--with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
LIBS libraries to pass to the linker, e.g. -l<library>
- CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+ CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
you have headers in a nonstandard directory <include dir>
CC C compiler command
CFLAGS C compiler flags
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
+Report bugs to the package provider.
+GNU Aspell home page: <http://www.gnu.org/software/aspell/>.
+General help using GNU software: <http://www.gnu.org/gethelp/>.
_ACEOF
ac_status=$?
fi
if test "$ac_init_help" = "recursive"; then
# If there are subdirs, report their specific --help.
for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" || continue
+ test -d "$ac_dir" ||
+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+ continue
ac_builddir=.
case "$ac_dir" in
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
*)
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
# A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
case $ac_top_builddir_sub in
"") ac_top_builddir_sub=. ac_top_build_prefix= ;;
*) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
echo &&
$SHELL "$ac_srcdir/configure" --help=recursive
else
- echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
fi || ac_status=$?
cd "$ac_pwd" || { ac_status=$?; break; }
done
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-GNU Aspell configure 0.60.6.1
-generated by GNU Autoconf 2.61
+GNU Aspell configure 0.60.7
+generated by GNU Autoconf 2.69
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
exit
fi
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-It was created by GNU Aspell $as_me 0.60.6.1, which was
-generated by GNU Autoconf 2.61. Invocation command line was
+## ------------------------ ##
+## Autoconf initialization. ##
+## ------------------------ ##
- $ $0 $@
-
-_ACEOF
-exec 5>>config.log
+# ac_fn_cxx_try_compile LINENO
+# ----------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_compile ()
{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext
+ if { { ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_cxx_try_compile
+
+# ac_fn_c_try_compile LINENO
+# --------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext
+ if { { ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_compile
+
+# ac_fn_c_try_link LINENO
+# -----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_link ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext conftest$ac_exeext
+ if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ test -x conftest$ac_exeext
+ }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+ # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+ # interfere with the next link command; also delete a directory that is
+ # left behind by Apple's compiler. We do this before executing the actions.
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_link
+
+# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists and can be compiled using the include files in
+# INCLUDES, setting the cache variable VAR accordingly.
+ac_fn_c_check_header_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$3=yes"
+else
+ eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_header_compile
+
+# ac_fn_c_try_cpp LINENO
+# ----------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_cpp ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } > conftest.i && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_cpp
+
+# ac_fn_c_try_run LINENO
+# ----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
+# that executables *can* be run.
+ac_fn_c_try_run ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=$ac_status
+fi
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_run
+
+# ac_fn_c_check_func LINENO FUNC VAR
+# ----------------------------------
+# Tests whether FUNC exists, setting the cache variable VAR accordingly
+ac_fn_c_check_func ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $2 innocuous_$2
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $2 (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $2
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $2 ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$2 || defined __stub___$2
+choke me
+#endif
+
+int
+main ()
+{
+return $2 ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ eval "$3=yes"
+else
+ eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_func
+
+# ac_fn_cxx_try_cpp LINENO
+# ------------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_cpp ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } > conftest.i && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_cxx_try_cpp
+
+# ac_fn_cxx_try_link LINENO
+# -------------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_link ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext conftest$ac_exeext
+ if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ test -x conftest$ac_exeext
+ }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+ # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+ # interfere with the next link command; also delete a directory that is
+ # left behind by Apple's compiler. We do this before executing the actions.
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_cxx_try_link
+
+# ac_fn_cxx_check_header_mongrel LINENO HEADER VAR INCLUDES
+# ---------------------------------------------------------
+# Tests whether HEADER exists, giving a warning if it cannot be compiled using
+# the include files in INCLUDES and setting the cache variable VAR
+# accordingly.
+ac_fn_cxx_check_header_mongrel ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if eval \${$3+:} false; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
+$as_echo_n "checking $2 usability... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_header_compiler=yes
+else
+ ac_header_compiler=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
+$as_echo_n "checking $2 presence... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <$2>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+ ac_header_preproc=yes
+else
+ ac_header_preproc=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in #((
+ yes:no: )
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+ ;;
+esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ eval "$3=\$ac_header_compiler"
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_cxx_check_header_mongrel
+
+# ac_fn_cxx_check_func LINENO FUNC VAR
+# ------------------------------------
+# Tests whether FUNC exists, setting the cache variable VAR accordingly
+ac_fn_cxx_check_func ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $2 innocuous_$2
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $2 (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $2
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $2 ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$2 || defined __stub___$2
+choke me
+#endif
+
+int
+main ()
+{
+return $2 ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ eval "$3=yes"
+else
+ eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_cxx_check_func
+
+# ac_fn_cxx_try_run LINENO
+# ------------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
+# that executables *can* be run.
+ac_fn_cxx_try_run ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=$ac_status
+fi
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_cxx_try_run
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by GNU Aspell $as_me 0.60.7, which was
+generated by GNU Autoconf 2.69. Invocation command line was
+
+ $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- echo "PATH: $as_dir"
-done
+ $as_echo "PATH: $as_dir"
+ done
IFS=$as_save_IFS
} >&5
| -silent | --silent | --silen | --sile | --sil)
continue ;;
*\'*)
- ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
case $ac_pass in
- 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+ 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
2)
- ac_configure_args1="$ac_configure_args1 '$ac_arg'"
+ as_fn_append ac_configure_args1 " '$ac_arg'"
if test $ac_must_keep_next = true; then
ac_must_keep_next=false # Got value, back to normal.
else
-* ) ac_must_keep_next=true ;;
esac
fi
- ac_configure_args="$ac_configure_args '$ac_arg'"
+ as_fn_append ac_configure_args " '$ac_arg'"
;;
esac
done
done
-$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
-$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
+{ ac_configure_args0=; unset ac_configure_args0;}
+{ ac_configure_args1=; unset ac_configure_args1;}
# When interrupted or exit'd, cleanup temporary files, and complete
# config.log. We remove comments because anyway the quotes in there
{
echo
- cat <<\_ASBOX
-## ---------------- ##
+ $as_echo "## ---------------- ##
## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
echo
# The following way of writing the cache mishandles newlines in values,
(
case $ac_val in #(
*${as_nl}*)
case $ac_var in #(
- *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
esac
case $ac_var in #(
_ | IFS | as_nl) ;; #(
- *) $as_unset $ac_var ;;
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) { eval $ac_var=; unset $ac_var;} ;;
esac ;;
esac
done
)
echo
- cat <<\_ASBOX
-## ----------------- ##
+ $as_echo "## ----------------- ##
## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
echo
for ac_var in $ac_subst_vars
do
eval ac_val=\$$ac_var
case $ac_val in
- *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
esac
- echo "$ac_var='\''$ac_val'\''"
+ $as_echo "$ac_var='\''$ac_val'\''"
done | sort
echo
if test -n "$ac_subst_files"; then
- cat <<\_ASBOX
-## ------------------- ##
+ $as_echo "## ------------------- ##
## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
echo
for ac_var in $ac_subst_files
do
eval ac_val=\$$ac_var
case $ac_val in
- *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
esac
- echo "$ac_var='\''$ac_val'\''"
+ $as_echo "$ac_var='\''$ac_val'\''"
done | sort
echo
fi
if test -s confdefs.h; then
- cat <<\_ASBOX
-## ----------- ##
+ $as_echo "## ----------- ##
## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
echo
cat confdefs.h
echo
fi
test "$ac_signal" != 0 &&
- echo "$as_me: caught signal $ac_signal"
- echo "$as_me: exit $exit_status"
+ $as_echo "$as_me: caught signal $ac_signal"
+ $as_echo "$as_me: exit $exit_status"
} >&5
rm -f core *.core core.conftest.* &&
rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
exit $exit_status
' 0
for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+ trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
done
ac_signal=0
# confdefs.h avoids OS command line length limits that DEFS can exceed.
rm -f -r conftest* confdefs.h
+$as_echo "/* confdefs.h */" > confdefs.h
+
# Predefined preprocessor variables.
cat >>confdefs.h <<_ACEOF
#define PACKAGE_NAME "$PACKAGE_NAME"
_ACEOF
-
cat >>confdefs.h <<_ACEOF
#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
_ACEOF
-
cat >>confdefs.h <<_ACEOF
#define PACKAGE_VERSION "$PACKAGE_VERSION"
_ACEOF
-
cat >>confdefs.h <<_ACEOF
#define PACKAGE_STRING "$PACKAGE_STRING"
_ACEOF
-
cat >>confdefs.h <<_ACEOF
#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
_ACEOF
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_URL "$PACKAGE_URL"
+_ACEOF
+
# Let the site file select an alternate cache file if it wants to.
-# Prefer explicitly selected file to automatically selected ones.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
if test -n "$CONFIG_SITE"; then
- set x "$CONFIG_SITE"
+ # We do not want a PATH search for config.site.
+ case $CONFIG_SITE in #((
+ -*) ac_site_file1=./$CONFIG_SITE;;
+ */*) ac_site_file1=$CONFIG_SITE;;
+ *) ac_site_file1=./$CONFIG_SITE;;
+ esac
elif test "x$prefix" != xNONE; then
- set x "$prefix/share/config.site" "$prefix/etc/config.site"
+ ac_site_file1=$prefix/share/config.site
+ ac_site_file2=$prefix/etc/config.site
else
- set x "$ac_default_prefix/share/config.site" \
- "$ac_default_prefix/etc/config.site"
+ ac_site_file1=$ac_default_prefix/share/config.site
+ ac_site_file2=$ac_default_prefix/etc/config.site
fi
-shift
-for ac_site_file
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
do
- if test -r "$ac_site_file"; then
- { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-echo "$as_me: loading site script $ac_site_file" >&6;}
+ test "x$ac_site_file" = xNONE && continue
+ if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file"
+ . "$ac_site_file" \
+ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
fi
done
if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special
- # files actually), so we avoid doing that.
- if test -f "$cache_file"; then
- { echo "$as_me:$LINENO: loading cache $cache_file" >&5
-echo "$as_me: loading cache $cache_file" >&6;}
+ # Some versions of bash will fail to source /dev/null (special files
+ # actually), so we avoid doing that. DJGPP emulates it as a regular file.
+ if test /dev/null != "$cache_file" && test -f "$cache_file"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
case $cache_file in
[\\/]* | ?:[\\/]* ) . "$cache_file";;
*) . "./$cache_file";;
esac
fi
else
- { echo "$as_me:$LINENO: creating cache $cache_file" >&5
-echo "$as_me: creating cache $cache_file" >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
>$cache_file
fi
eval ac_new_val=\$ac_env_${ac_var}_value
case $ac_old_set,$ac_new_set in
set,)
- { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
ac_cache_corrupted=: ;;
,set)
- { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
ac_cache_corrupted=: ;;
,);;
*)
if test "x$ac_old_val" != "x$ac_new_val"; then
- { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
-echo "$as_me: former value: $ac_old_val" >&2;}
- { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
-echo "$as_me: current value: $ac_new_val" >&2;}
- ac_cache_corrupted=:
+ # differences in whitespace do not lead to failure.
+ ac_old_val_w=`echo x $ac_old_val`
+ ac_new_val_w=`echo x $ac_new_val`
+ if test "$ac_old_val_w" != "$ac_new_val_w"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ ac_cache_corrupted=:
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+ eval $ac_var=\$ac_old_val
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
+$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
+$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
fi;;
esac
# Pass precious variables to config.status.
if test "$ac_new_set" = set; then
case $ac_new_val in
- *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
*) ac_arg=$ac_var=$ac_new_val ;;
esac
case " $ac_configure_args " in
*" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) as_fn_append ac_configure_args " '$ac_arg'" ;;
esac
fi
done
if $ac_cache_corrupted; then
- { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
-echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
- { (exit 1); exit 1; }; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+## -------------------- ##
+## Main body of script. ##
+## -------------------- ##
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
fi
done
if test -z "$ac_aux_dir"; then
- { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
-echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
- { (exit 1); exit 1; }; }
+ as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
fi
# These three variables are undocumented and unsupported,
# Make sure we can run config.sub.
$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
-echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
- { (exit 1); exit 1; }; }
+ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-{ echo "$as_me:$LINENO: checking build system type" >&5
-echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
-if test "${ac_cv_build+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if ${ac_cv_build+:} false; then :
+ $as_echo_n "(cached) " >&6
else
ac_build_alias=$build_alias
test "x$ac_build_alias" = x &&
ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
test "x$ac_build_alias" = x &&
- { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
-echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
- { (exit 1); exit 1; }; }
+ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
-echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
- { (exit 1); exit 1; }; }
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5
-echo "${ECHO_T}$ac_cv_build" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
case $ac_cv_build in
*-*-*) ;;
-*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
-echo "$as_me: error: invalid value of canonical build" >&2;}
- { (exit 1); exit 1; }; };;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
esac
build=$ac_cv_build
ac_save_IFS=$IFS; IFS='-'
case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-{ echo "$as_me:$LINENO: checking host system type" >&5
-echo $ECHO_N "checking host system type... $ECHO_C" >&6; }
-if test "${ac_cv_host+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if ${ac_cv_host+:} false; then :
+ $as_echo_n "(cached) " >&6
else
if test "x$host_alias" = x; then
ac_cv_host=$ac_cv_build
else
ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
- { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
-echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
- { (exit 1); exit 1; }; }
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
fi
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5
-echo "${ECHO_T}$ac_cv_host" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
case $ac_cv_host in
*-*-*) ;;
-*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
-echo "$as_me: error: invalid value of canonical host" >&2;}
- { (exit 1); exit 1; }; };;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
esac
host=$ac_cv_host
ac_save_IFS=$IFS; IFS='-'
case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-{ echo "$as_me:$LINENO: checking target system type" >&5
-echo $ECHO_N "checking target system type... $ECHO_C" >&6; }
-if test "${ac_cv_target+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
+$as_echo_n "checking target system type... " >&6; }
+if ${ac_cv_target+:} false; then :
+ $as_echo_n "(cached) " >&6
else
if test "x$target_alias" = x; then
ac_cv_target=$ac_cv_host
else
ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
- { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5
-echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;}
- { (exit 1); exit 1; }; }
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
fi
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_target" >&5
-echo "${ECHO_T}$ac_cv_target" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
+$as_echo "$ac_cv_target" >&6; }
case $ac_cv_target in
*-*-*) ;;
-*) { { echo "$as_me:$LINENO: error: invalid value of canonical target" >&5
-echo "$as_me: error: invalid value of canonical target" >&2;}
- { (exit 1); exit 1; }; };;
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
esac
target=$ac_cv_target
ac_save_IFS=$IFS; IFS='-'
test "$program_prefix$program_suffix$program_transform_name" = \
NONENONEs,x,x, &&
program_prefix=${target_alias}-
-am__api_version='1.10'
+
+am__api_version='1.14'
# Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# OS/2's system install, which has a completely different semantic
# ./install, which can be erroneously created by make from ./install.sh.
-{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+if ${ac_cv_path_install+:} false; then :
+ $as_echo_n "(cached) " >&6
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in
- ./ | .// | /cC/* | \
+ # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in #((
+ ./ | .// | /[cC]/* | \
/etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
+ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
/usr/ucb/* ) ;;
*)
# OSF1 and SCO ODT 3.0 have their own names for install.
# by default.
for ac_prog in ginstall scoinst install; do
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
if test $ac_prog = install &&
grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
# AIX install. It has an incompatible calling convention.
# program-specific install script used by HP pwplus--don't use.
:
else
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
+ rm -rf conftest.one conftest.two conftest.dir
+ echo one > conftest.one
+ echo two > conftest.two
+ mkdir conftest.dir
+ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+ test -s conftest.one && test -s conftest.two &&
+ test -s conftest.dir/conftest.one &&
+ test -s conftest.dir/conftest.two
+ then
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
fi
fi
done
done
;;
esac
-done
+
+ done
IFS=$as_save_IFS
+rm -rf conftest.one conftest.two conftest.dir
fi
if test "${ac_cv_path_install+set}" = set; then
INSTALL=$ac_install_sh
fi
fi
-{ echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&6; }
# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
# It thinks the first close brace ends the variable substitution.
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5
-echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Do `set' in a subshell so we don't clobber the current shell's
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
+$as_echo_n "checking whether build environment is sane... " >&6; }
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name. Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+ *[\\\"\#\$\&\'\`$am_lf]*)
+ as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
+esac
+case $srcdir in
+ *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
+ as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
+esac
+
+# Do 'set' in a subshell so we don't clobber the current shell's
# arguments. Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
- set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
- if test "$*" = "X"; then
- # -L didn't work.
- set X `ls -t $srcdir/configure conftest.file`
- fi
- rm -f conftest.file
- if test "$*" != "X $srcdir/configure conftest.file" \
- && test "$*" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
-alias in your environment" >&5
-echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
-alias in your environment" >&2;}
- { (exit 1); exit 1; }; }
- fi
-
+ am_has_slept=no
+ for am_try in 1 2; do
+ echo "timestamp, slept: $am_has_slept" > conftest.file
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t "$srcdir/configure" conftest.file`
+ fi
+ if test "$*" != "X $srcdir/configure conftest.file" \
+ && test "$*" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
+ alias in your environment" "$LINENO" 5
+ fi
+ if test "$2" = conftest.file || test $am_try -eq 2; then
+ break
+ fi
+ # Just in case.
+ sleep 1
+ am_has_slept=yes
+ done
test "$2" = conftest.file
)
then
# Ok.
:
else
- { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
-Check your system clock" >&5
-echo "$as_me: error: newly created file is older than distributed files!
-Check your system clock" >&2;}
- { (exit 1); exit 1; }; }
+ as_fn_error $? "newly created file is older than distributed files!
+Check your system clock" "$LINENO" 5
fi
-{ echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+ ( sleep 1 ) &
+ am_sleep_pid=$!
+fi
+
+rm -f conftest.file
+
test "$program_prefix" != NONE &&
program_transform_name="s&^&$program_prefix&;$program_transform_name"
# Use a double $ so make ignores it.
test "$program_suffix" != NONE &&
program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $. echo might interpret backslashes.
+# Double any \ or $.
# By default was `s,x,x', remove it if useless.
-cat <<\_ACEOF >conftest.sed
-s/[\\$]/&&/g;s/;s,x,x,$//
-_ACEOF
-program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
-rm -f conftest.sed
+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+if test x"${MISSING+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+ *)
+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
+ esac
+fi
# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
+if eval "$MISSING --is-lightweight"; then
+ am_missing_run="$MISSING "
else
am_missing_run=
- { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
-echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
fi
-install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
+if test x"${install_sh}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+ *)
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
+ esac
+fi
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip". However 'strip' might not be the right
# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
+# will honor the 'STRIP' environment variable to overrule this program.
if test "$cross_compiling" != no; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
else
if test -n "$STRIP"; then
ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
IFS=$as_save_IFS
fi
fi
STRIP=$ac_cv_prog_STRIP
if test -n "$STRIP"; then
- { echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
ac_ct_STRIP=$STRIP
# Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_STRIP"; then
ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_STRIP="strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
IFS=$as_save_IFS
fi
fi
ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
if test -n "$ac_ct_STRIP"; then
- { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
if test "x$ac_ct_STRIP" = x; then
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
STRIP=$ac_ct_STRIP
fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-{ echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
-echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
+$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
if test -z "$MKDIR_P"; then
- if test "${ac_cv_path_mkdir+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ if ${ac_cv_path_mkdir+:} false; then :
+ $as_echo_n "(cached) " >&6
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_prog in mkdir gmkdir; do
+ for ac_prog in mkdir gmkdir; do
for ac_exec_ext in '' $ac_executable_extensions; do
- { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
+ as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
'mkdir (GNU coreutils) '* | \
'mkdir (coreutils) '* | \
esac
done
done
-done
+ done
IFS=$as_save_IFS
fi
+ test -d ./--version && rmdir ./--version
if test "${ac_cv_path_mkdir+set}" = set; then
MKDIR_P="$ac_cv_path_mkdir -p"
else
# value for MKDIR_P within a source directory, because that will
# break other packages using the cache if that directory is
# removed, or if the value is a relative name.
- test -d ./--version && rmdir ./--version
MKDIR_P="$ac_install_sh -d"
fi
fi
-{ echo "$as_me:$LINENO: result: $MKDIR_P" >&5
-echo "${ECHO_T}$MKDIR_P" >&6; }
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
- [\\/$]* | ?:[\\/]*) ;;
- */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
+$as_echo "$MKDIR_P" >&6; }
for ac_prog in gawk mawk nawk awk
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AWK+:} false; then :
+ $as_echo_n "(cached) " >&6
else
if test -n "$AWK"; then
ac_cv_prog_AWK="$AWK" # Let the user override the test.
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_AWK="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
IFS=$as_save_IFS
fi
fi
AWK=$ac_cv_prog_AWK
if test -n "$AWK"; then
- { echo "$as_me:$LINENO: result: $AWK" >&5
-echo "${ECHO_T}$AWK" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
test -n "$AWK" && break
done
-{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
-set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
+ $as_echo_n "(cached) " >&6
else
cat >conftest.make <<\_ACEOF
SHELL = /bin/sh
all:
@echo '@@@%%%=$(MAKE)=@@@%%%'
_ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
case `${MAKE-make} -f conftest.make 2>/dev/null` in
*@@@%%%=?*=@@@%%%*)
eval ac_cv_prog_make_${ac_make}_set=yes;;
rm -f conftest.make
fi
if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
SET_MAKE=
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
SET_MAKE="MAKE=${MAKE-make}"
fi
fi
rmdir .tst 2>/dev/null
+# Check whether --enable-silent-rules was given.
+if test "${enable_silent_rules+set}" = set; then :
+ enableval=$enable_silent_rules;
+fi
+
+case $enable_silent_rules in # (((
+ yes) AM_DEFAULT_VERBOSITY=0;;
+ no) AM_DEFAULT_VERBOSITY=1;;
+ *) AM_DEFAULT_VERBOSITY=1;;
+esac
+am_make=${MAKE-make}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
+$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
+if ${am_cv_make_support_nested_variables+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if $as_echo 'TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+ @$(TRUE)
+.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
+ am_cv_make_support_nested_variables=yes
+else
+ am_cv_make_support_nested_variables=no
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
+$as_echo "$am_cv_make_support_nested_variables" >&6; }
+if test $am_cv_make_support_nested_variables = yes; then
+ AM_V='$(V)'
+ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+ AM_V=$AM_DEFAULT_VERBOSITY
+ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AM_BACKSLASH='\'
+
if test "`cd $srcdir && pwd`" != "`pwd`"; then
# Use -I$(srcdir) only when $(srcdir) != ., so that make's output
# is not polluted with repeated "-I."
am__isrc=' -I$(srcdir)'
# test to see if srcdir already configured
if test -f $srcdir/config.status; then
- { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
-echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
- { (exit 1); exit 1; }; }
+ as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
fi
fi
# Define the identity of the package.
PACKAGE='aspell'
- VERSION='0.60.6.1'
+ VERSION='0.60.7'
cat >>confdefs.h <<_ACEOF
MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+# For better backward compatibility. To be removed once Automake 1.9.x
+# dies out for good. For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+mkdir_p='$(MKDIR_P)'
+
# We need awk for the "check" target. The system "awk" is bad on
# some platforms.
-# Always define AMTAR for backward compatibility.
+# Always define AMTAR for backward compatibility. Yes, it's still used
+# in the wild :-( We should find a proper way to deprecate it ...
+AMTAR='$${TAR-tar}'
+
+
+# We'll loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar pax cpio none'
+
+am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
+
+
+
+
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes. So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+ cat >&2 <<'END'
+Oops!
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present. This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message. This
+can help us improve future automake versions.
+END
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+ echo 'Configuration will proceed anyway, since you have set the' >&2
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+ echo >&2
+ else
+ cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+END
+ as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
+ fi
+fi
ac_config_headers="$ac_config_headers gen/settings.h"
-{ echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
-echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6; }
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
+$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
# Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then
+if test "${enable_maintainer_mode+set}" = set; then :
enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
else
USE_MAINTAINER_MODE=no
fi
- { echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
-echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
+$as_echo "$USE_MAINTAINER_MODE" >&6; }
if test $USE_MAINTAINER_MODE = yes; then
MAINTAINER_MODE_TRUE=
MAINTAINER_MODE_FALSE='#'
# Check whether --enable-docdir was given.
-if test "${enable_docdir+set}" = set; then
+if test "${enable_docdir+set}" = set; then :
enableval=$enable_docdir; pkgdocdir=$enable_docdir
else
pkgdocdir=\${prefix}/share/doc/aspell
pkgdatadir=undef
# Check whether --enable-pkgdatadir was given.
-if test "${enable_pkgdatadir+set}" = set; then
+if test "${enable_pkgdatadir+set}" = set; then :
enableval=$enable_pkgdatadir; pkgdatadir=$enable_pkgdatadir
fi
# Check whether --enable-pkgdata-dir was given.
-if test "${enable_pkgdata_dir+set}" = set; then
+if test "${enable_pkgdata_dir+set}" = set; then :
enableval=$enable_pkgdata_dir; pkgdatadir=$enable_dict_dir
fi
pkglibdir=undef
# Check whether --enable-pkglibdir was given.
-if test "${enable_pkglibdir+set}" = set; then
+if test "${enable_pkglibdir+set}" = set; then :
enableval=$enable_pkglibdir; pkglibdir=$enable_pkglibdir
fi
# Check whether --enable-dict-dir was given.
-if test "${enable_dict_dir+set}" = set; then
+if test "${enable_dict_dir+set}" = set; then :
enableval=$enable_dict_dir; pkglibdir=$enable_dict_dir
fi
# Check whether --enable-win32-relocatable was given.
-if test "${enable_win32_relocatable+set}" = set; then
+if test "${enable_win32_relocatable+set}" = set; then :
enableval=$enable_win32_relocatable;
fi
# Check whether --enable-curses was given.
-if test "${enable_curses+set}" = set; then
+if test "${enable_curses+set}" = set; then :
enableval=$enable_curses;
fi
# Check whether --enable-curses-include was given.
-if test "${enable_curses_include+set}" = set; then
+if test "${enable_curses_include+set}" = set; then :
enableval=$enable_curses_include;
fi
# Check whether --enable-wide-curses was given.
-if test "${enable_wide_curses+set}" = set; then
+if test "${enable_wide_curses+set}" = set; then :
enableval=$enable_wide_curses;
fi
# Check whether --enable-regex was given.
-if test "${enable_regex+set}" = set; then
+if test "${enable_regex+set}" = set; then :
enableval=$enable_regex;
fi
# Check whether --enable-compile-in-filters was given.
-if test "${enable_compile_in_filters+set}" = set; then
+if test "${enable_compile_in_filters+set}" = set; then :
enableval=$enable_compile_in_filters;
fi
# Check whether --enable-filter-version-control was given.
-if test "${enable_filter_version_control+set}" = set; then
+if test "${enable_filter_version_control+set}" = set; then :
enableval=$enable_filter_version_control;
fi
+# Check whether --enable-32-bit-hash-fun was given.
+if test "${enable_32_bit_hash_fun+set}" = set; then :
+ enableval=$enable_32_bit_hash_fun;
+fi
+
+
# Check whether --enable-pspell-compatibility was given.
-if test "${enable_pspell_compatibility+set}" = set; then
+if test "${enable_pspell_compatibility+set}" = set; then :
enableval=$enable_pspell_compatibility;
fi
# Check whether --enable-incremented-soname was given.
-if test "${enable_incremented_soname+set}" = set; then
+if test "${enable_incremented_soname+set}" = set; then :
enableval=$enable_incremented_soname;
fi
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
else
if test -n "$CXX"; then
ac_cv_prog_CXX="$CXX" # Let the user override the test.
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
IFS=$as_save_IFS
fi
fi
CXX=$ac_cv_prog_CXX
if test -n "$CXX"; then
- { echo "$as_me:$LINENO: result: $CXX" >&5
-echo "${ECHO_T}$CXX" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
+$as_echo "$CXX" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CXX"; then
ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CXX="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
IFS=$as_save_IFS
fi
fi
ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
if test -n "$ac_ct_CXX"; then
- { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
-echo "${ECHO_T}$ac_ct_CXX" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
+$as_echo "$ac_ct_CXX" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CXX=$ac_ct_CXX
fi
fi
# Provide some information about the compiler.
-echo "$as_me:$LINENO: checking for C++ compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (ac_try="$ac_compiler --version >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compiler --version >&5") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (ac_try="$ac_compiler -v >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compiler -v >&5") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (ac_try="$ac_compiler -V >&5"
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+ { { ac_try="$ac_compiler $ac_option >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compiler -V >&5") 2>&5
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compiler $ac_option >&5") 2>conftest.err
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
+ if test -s conftest.err; then
+ sed '10a\
+... rest of stderr output deleted ...
+ 10q' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ fi
+ rm -f conftest.er1 conftest.err
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+done
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
}
_ACEOF
ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.exe b.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
# Try to create an executable without -o first, disregard a.out.
# It will help us diagnose broken compilers, and finding out an intuition
# of exeext.
-{ echo "$as_me:$LINENO: checking for C++ compiler default output file name" >&5
-echo $ECHO_N "checking for C++ compiler default output file name... $ECHO_C" >&6; }
-ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-#
-# List of possible output files, starting from the most likely.
-# The algorithm is not robust to junk in `.', hence go to wildcards (a.*)
-# only as a last resort. b.out is created by i960 compilers.
-ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out'
-#
-# The IRIX 6 linker writes into existing files which may not be
-# executable, retaining their permissions. Remove them first so a
-# subsequent execution test works.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5
+$as_echo_n "checking whether the C++ compiler works... " >&6; }
+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+
+# The possible output files:
+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
+
ac_rmfiles=
for ac_file in $ac_files
do
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
* ) ac_rmfiles="$ac_rmfiles $ac_file";;
esac
done
rm -f $ac_rmfiles
-if { (ac_try="$ac_link_default"
+if { { ac_try="$ac_link_default"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
(eval "$ac_link_default") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then :
# Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
# in a Makefile. We should not override ac_cv_exeext if it was cached,
do
test -f "$ac_file" || continue
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj )
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
;;
[ab].out )
# We found the default executable, but exeext='' is most
# certainly right.
break;;
*.* )
- if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+ if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
then :; else
ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
fi
else
ac_file=''
fi
-
-{ echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6; }
-if test -z "$ac_file"; then
- echo "$as_me: failed program was:" >&5
+if test -z "$ac_file"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-{ { echo "$as_me:$LINENO: error: C++ compiler cannot create executables
-See \`config.log' for more details." >&5
-echo "$as_me: error: C++ compiler cannot create executables
-See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "C++ compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
fi
-
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5
+$as_echo_n "checking for C++ compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
ac_exeext=$ac_cv_exeext
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5
-echo $ECHO_N "checking whether the C++ compiler works... $ECHO_C" >&6; }
-# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
- if { ac_try='./$ac_file'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { echo "$as_me:$LINENO: error: cannot run C++ compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run C++ compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
- fi
- fi
-fi
-{ echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-rm -f a.out a.exe conftest$ac_cv_exeext b.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: $cross_compiling" >&5
-echo "${ECHO_T}$cross_compiling" >&6; }
-
-{ echo "$as_me:$LINENO: checking for suffix of executables" >&5
-echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; }
-if { (ac_try="$ac_link"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
+$as_echo_n "checking for suffix of executables... " >&6; }
+if { { ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
(eval "$ac_link") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then :
# If both `conftest.exe' and `conftest' are `present' (well, observable)
# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
# work properly (i.e., refer to `conftest.exe'), while it won't with
for ac_file in conftest.exe conftest conftest.*; do
test -f "$ac_file" || continue
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
*.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
break;;
* ) break;;
esac
done
else
- { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
fi
-
-rm -f conftest$ac_cv_exeext
-{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-echo "${ECHO_T}$ac_cv_exeext" >&6; }
+rm -f conftest conftest$ac_cv_exeext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
+$as_echo "$ac_cv_exeext" >&6; }
rm -f conftest.$ac_ext
EXEEXT=$ac_cv_exeext
ac_exeext=$EXEEXT
-{ echo "$as_me:$LINENO: checking for suffix of object files" >&5
-echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; }
-if test "${ac_cv_objext+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+ { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if { ac_try='./conftest$ac_cv_exeext'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C++ compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+ fi
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
+if ${ac_cv_objext+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
}
_ACEOF
rm -f conftest.o conftest.obj
-if { (ac_try="$ac_compile"
+if { { ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
(eval "$ac_compile") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then :
for ac_file in conftest.o conftest.obj conftest.*; do
test -f "$ac_file" || continue;
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;;
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
*) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
break;;
esac
done
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
fi
-
rm -f conftest.$ac_cv_objext conftest.$ac_ext
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-echo "${ECHO_T}$ac_cv_objext" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
OBJEXT=$ac_cv_objext
ac_objext=$OBJEXT
-{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; }
-if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
+$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
+if ${ac_cv_cxx_compiler_gnu+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
+if ac_fn_cxx_try_compile "$LINENO"; then :
ac_compiler_gnu=yes
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_compiler_gnu=no
+ ac_compiler_gnu=no
fi
-
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; }
-GXX=`test $ac_compiler_gnu = yes && echo yes`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5
+$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GXX=yes
+else
+ GXX=
+fi
ac_test_CXXFLAGS=${CXXFLAGS+set}
ac_save_CXXFLAGS=$CXXFLAGS
-{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
-echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; }
-if test "${ac_cv_prog_cxx_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
+$as_echo_n "checking whether $CXX accepts -g... " >&6; }
+if ${ac_cv_prog_cxx_g+:} false; then :
+ $as_echo_n "(cached) " >&6
else
ac_save_cxx_werror_flag=$ac_cxx_werror_flag
ac_cxx_werror_flag=yes
ac_cv_prog_cxx_g=no
CXXFLAGS="-g"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
+if ac_fn_cxx_try_compile "$LINENO"; then :
ac_cv_prog_cxx_g=yes
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- CXXFLAGS=""
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ CXXFLAGS=""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_cxx_try_compile "$LINENO"; then :
- ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+else
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
CXXFLAGS="-g"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
+if ac_fn_cxx_try_compile "$LINENO"; then :
ac_cv_prog_cxx_g=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
fi
-
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cxx_werror_flag=$ac_save_cxx_werror_flag
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5
+$as_echo "$ac_cv_prog_cxx_g" >&6; }
if test "$ac_test_CXXFLAGS" = set; then
CXXFLAGS=$ac_save_CXXFLAGS
elif test $ac_cv_prog_cxx_g = yes; then
am_make=${MAKE-make}
cat > confinc << 'END'
am__doit:
- @echo done
+ @echo this is the am__doit target
.PHONY: am__doit
END
# If we don't find an include directive, just comment out the code.
-{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
-echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
+$as_echo_n "checking for style of include used by $am_make... " >&6; }
am__include="#"
am__quote=
_am_result=none
# First try GNU make style include.
echo "include confinc" > confmf
-# We grep out `Entering directory' and `Leaving directory'
-# messages which can occur if `w' ends up in MAKEFLAGS.
-# In particular we don't look at `^make:' because GNU make might
-# be invoked under some other name (usually "gmake"), in which
-# case it prints its new name instead of `make'.
-if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
- am__include=include
- am__quote=
- _am_result=GNU
-fi
+# Ignore all kinds of additional output from 'make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
+esac
# Now try BSD make style include.
if test "$am__include" = "#"; then
echo '.include "confinc"' > confmf
- if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
- am__include=.include
- am__quote="\""
- _am_result=BSD
- fi
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
fi
-{ echo "$as_me:$LINENO: result: $_am_result" >&5
-echo "${ECHO_T}$_am_result" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
+$as_echo "$_am_result" >&6; }
rm -f confinc confmf
# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then
+if test "${enable_dependency_tracking+set}" = set; then :
enableval=$enable_dependency_tracking;
fi
if test "x$enable_dependency_tracking" != xno; then
am_depcomp="$ac_aux_dir/depcomp"
AMDEPBACKSLASH='\'
+ am__nodep='_no'
fi
if test "x$enable_dependency_tracking" != xno; then
AMDEP_TRUE=
depcc="$CXX" am_compiler_list=
-{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
-if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if ${am_cv_CXX_dependencies_compiler_type+:} false; then :
+ $as_echo_n "(cached) " >&6
else
if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
# We make a subdir and do the tests there. Otherwise we can end up
# making bogus files that we don't know about and never remove. For
# instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
+ # making a dummy file named 'D' -- because '-MD' means "put the output
+ # in D".
+ rm -rf conftest.dir
mkdir conftest.dir
# Copy depcomp to subdir because otherwise we won't find it if we're
# using a relative directory.
: > sub/conftest.c
for i in 1 2 3 4 5 6; do
echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
+ # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+ # Solaris 10 /bin/sh.
+ echo '/* dummy */' > sub/conftst$i.h
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # We check with '-c' and '-o' for the sake of the "dashmstdout"
# mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
+ # handle '-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs.
am__obj=sub/conftest.${OBJEXT-o}
am__minus_obj="-o $am__obj"
case $depmode in
test "$am__universal" = false || continue
;;
nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
+ # After this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested.
if test "x$enable_dependency_tracking" = xyes; then
continue
else
break
fi
;;
- msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+ # This compiler won't grok '-c -o', but also, the minuso test has
# not run yet. These depmodes are late enough in the game, and
# so weak that their functioning should not be impacted.
am__obj=conftest.${OBJEXT-o}
fi
fi
-{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
if
fi
-if test "$GXX" = "yes" && expr "$CXXFLAGS" : '.*-O' > /dev/null
+if test "$GXX" = "yes" && expr x"$CXXFLAGS" : '.*-O' > /dev/null
then
CXXFLAGS="$CXXFLAGS -fno-exceptions"
fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
ac_ct_CC=$CC
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
IFS=$as_save_IFS
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
- { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
if test "x$ac_ct_CC" = x; then
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
ac_prog_rejected=yes
continue
fi
ac_cv_prog_CC="cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
IFS=$as_save_IFS
if test $ac_prog_rejected = yes; then
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
IFS=$as_save_IFS
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
- { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
fi
-test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&5
-echo "$as_me: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
# Provide some information about the compiler.
-echo "$as_me:$LINENO: checking for C compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (ac_try="$ac_compiler --version >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compiler --version >&5") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (ac_try="$ac_compiler -v >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compiler -v >&5") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (ac_try="$ac_compiler -V >&5"
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+ { { ac_try="$ac_compiler $ac_option >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compiler -V >&5") 2>&5
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compiler $ac_option >&5") 2>conftest.err
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
+ if test -s conftest.err; then
+ sed '10a\
+... rest of stderr output deleted ...
+ 10q' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ fi
+ rm -f conftest.er1 conftest.err
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+done
-{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+if ${ac_cv_c_compiler_gnu+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
ac_compiler_gnu=yes
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_compiler_gnu=no
+ ac_compiler_gnu=no
fi
-
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_c_compiler_gnu=$ac_compiler_gnu
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
-GCC=`test $ac_compiler_gnu = yes && echo yes`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GCC=yes
+else
+ GCC=
+fi
ac_test_CFLAGS=${CFLAGS+set}
ac_save_CFLAGS=$CFLAGS
-{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if ${ac_cv_prog_cc_g+:} false; then :
+ $as_echo_n "(cached) " >&6
else
ac_save_c_werror_flag=$ac_c_werror_flag
ac_c_werror_flag=yes
ac_cv_prog_cc_g=no
CFLAGS="-g"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_prog_cc_g=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- CFLAGS=""
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
;
return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_c_werror_flag=$ac_save_c_werror_flag
- CFLAGS="-g"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
+}
_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_g=yes
+else
+ CFLAGS=""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_prog_cc_g=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ ac_c_werror_flag=$ac_save_c_werror_flag
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int
+main ()
+{
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_g=yes
fi
-
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_c_werror_flag=$ac_save_c_werror_flag
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
if test "$ac_test_CFLAGS" = set; then
CFLAGS=$ac_save_CFLAGS
elif test $ac_cv_prog_cc_g = yes; then
CFLAGS=
fi
fi
-{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
-echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if ${ac_cv_prog_cc_c89+:} false; then :
+ $as_echo_n "(cached) " >&6
else
ac_cv_prog_cc_c89=no
ac_save_CC=$CC
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdarg.h>
#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
struct buf { int x; };
FILE * (*rcsopen) (struct buf *, struct stat *, int);
-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
do
CC="$ac_save_CC $ac_arg"
- rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
+ if ac_fn_c_try_compile "$LINENO"; then :
ac_cv_prog_cc_c89=$ac_arg
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
fi
-
rm -f core conftest.err conftest.$ac_objext
test "x$ac_cv_prog_cc_c89" != "xno" && break
done
# AC_CACHE_VAL
case "x$ac_cv_prog_cc_c89" in
x)
- { echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6; } ;;
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
xno)
- { echo "$as_me:$LINENO: result: unsupported" >&5
-echo "${ECHO_T}unsupported" >&6; } ;;
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
*)
CC="$CC $ac_cv_prog_cc_c89"
- { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
esac
+if test "x$ac_cv_prog_cc_c89" != xno; then :
+
+fi
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int
+main ()
+{
+ ;
+ return 0;
+}
+_ACEOF
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+ ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
depcc="$CC" am_compiler_list=
-{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
+ $as_echo_n "(cached) " >&6
else
if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
# We make a subdir and do the tests there. Otherwise we can end up
# making bogus files that we don't know about and never remove. For
# instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
+ # making a dummy file named 'D' -- because '-MD' means "put the output
+ # in D".
+ rm -rf conftest.dir
mkdir conftest.dir
# Copy depcomp to subdir because otherwise we won't find it if we're
# using a relative directory.
: > sub/conftest.c
for i in 1 2 3 4 5 6; do
echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
+ # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+ # Solaris 10 /bin/sh.
+ echo '/* dummy */' > sub/conftst$i.h
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # We check with '-c' and '-o' for the sake of the "dashmstdout"
# mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
+ # handle '-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs.
am__obj=sub/conftest.${OBJEXT-o}
am__minus_obj="-o $am__obj"
case $depmode in
test "$am__universal" = false || continue
;;
nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
+ # After this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested.
if test "x$enable_dependency_tracking" = xyes; then
continue
else
break
fi
;;
- msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+ # This compiler won't grok '-c -o', but also, the minuso test has
# not run yet. These depmodes are late enough in the game, and
# so weak that their functioning should not be impacted.
am__obj=conftest.${OBJEXT-o}
fi
fi
-{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
if
fi
-if test "x$CC" != xcc; then
- { echo "$as_me:$LINENO: checking whether $CC and cc understand -c and -o together" >&5
-echo $ECHO_N "checking whether $CC and cc understand -c and -o together... $ECHO_C" >&6; }
-else
- { echo "$as_me:$LINENO: checking whether cc understands -c and -o together" >&5
-echo $ECHO_N "checking whether cc understands -c and -o together... $ECHO_C" >&6; }
-fi
-set dummy $CC; ac_cc=`echo $2 |
- sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if { as_var=ac_cv_prog_cc_${ac_cc}_c_o; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- test -f conftest2.$ac_objext && { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); };
-then
- eval ac_cv_prog_cc_${ac_cc}_c_o=yes
- if test "x$CC" != xcc; then
- # Test first that cc exists at all.
- if { ac_try='cc -c conftest.$ac_ext >&5'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
- rm -f conftest2.*
- if { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- test -f conftest2.$ac_objext && { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); };
- then
- # cc works too.
- :
- else
- # cc exists but doesn't like -o.
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
- fi
- fi
- fi
-else
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define NO_MINUS_C_MINUS_O 1
-_ACEOF
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-
# Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then
+if test "${enable_static+set}" = set; then :
enableval=$enable_static; p=${PACKAGE-default}
case $enableval in
yes) enable_static=yes ;;
case `pwd` in
*\ * | *\ *)
- { echo "$as_me:$LINENO: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
+$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
esac
-macro_version='2.2.2'
-macro_revision='1.2627'
+macro_version='2.4.2'
+macro_revision='1.3337'
ltmain="$ac_aux_dir/ltmain.sh"
-{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
-echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; }
-if test "${ac_cv_path_SED+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+# Backslashify metacharacters that are still active within
+# double-quoted strings.
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
+$as_echo_n "checking how to print strings... " >&6; }
+# Test print first, because it will be a builtin if present.
+if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='print -r --'
+elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='printf %s\n'
+else
+ # Use this function as a fallback that always works.
+ func_fallback_echo ()
+ {
+ eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+ }
+ ECHO='func_fallback_echo'
+fi
+
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+ $ECHO ""
+}
+
+case "$ECHO" in
+ printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
+$as_echo "printf" >&6; } ;;
+ print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
+$as_echo "print -r" >&6; } ;;
+ *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
+$as_echo "cat" >&6; } ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
+$as_echo_n "checking for a sed that does not truncate output... " >&6; }
+if ${ac_cv_path_SED+:} false; then :
+ $as_echo_n "(cached) " >&6
else
ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
for ac_i in 1 2 3 4 5 6 7; do
ac_script="$ac_script$as_nl$ac_script"
done
- echo "$ac_script" | sed 99q >conftest.sed
- $as_unset ac_script || ac_script=
- # Extract the first word of "sed gsed" to use in msg output
-if test -z "$SED"; then
-set dummy sed gsed; ac_prog_name=$2
-if test "${ac_cv_path_SED+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+ echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
+ { ac_script=; unset ac_script;}
+ if test -z "$SED"; then
ac_path_SED_found=false
-# Loop through the user's path and test for each of PROGNAME-LIST
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_prog in sed gsed; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
- # Check for GNU ac_path_SED and select it if it is found.
+ for ac_prog in sed gsed; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_SED" || continue
+# Check for GNU ac_path_SED and select it if it is found.
# Check for GNU $ac_path_SED
case `"$ac_path_SED" --version 2>&1` in
*GNU*)
ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
*)
ac_count=0
- echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+ $as_echo_n 0123456789 >"conftest.in"
while :
do
cat "conftest.in" "conftest.in" >"conftest.tmp"
mv "conftest.tmp" "conftest.in"
cp "conftest.in" "conftest.nl"
- echo '' >> "conftest.nl"
+ $as_echo '' >> "conftest.nl"
"$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- ac_count=`expr $ac_count + 1`
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
if test $ac_count -gt ${ac_path_SED_max-0}; then
# Best one so far, save it but keep looking for a better one
ac_cv_path_SED="$ac_path_SED"
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
esac
-
- $ac_path_SED_found && break 3
+ $ac_path_SED_found && break 3
+ done
+ done
done
-done
-
-done
IFS=$as_save_IFS
-
-
-fi
-
-SED="$ac_cv_path_SED"
-if test -z "$SED"; then
- { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in \$PATH" >&5
-echo "$as_me: error: no acceptable $ac_prog_name could be found in \$PATH" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
+ if test -z "$ac_cv_path_SED"; then
+ as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
+ fi
else
ac_cv_path_SED=$SED
fi
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_path_SED" >&5
-echo "${ECHO_T}$ac_cv_path_SED" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
+$as_echo "$ac_cv_path_SED" >&6; }
SED="$ac_cv_path_SED"
rm -f conftest.sed
-{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
-echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # Extract the first word of "grep ggrep" to use in msg output
-if test -z "$GREP"; then
-set dummy grep ggrep; ac_prog_name=$2
-if test "${ac_cv_path_GREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if ${ac_cv_path_GREP+:} false; then :
+ $as_echo_n "(cached) " >&6
else
+ if test -z "$GREP"; then
ac_path_GREP_found=false
-# Loop through the user's path and test for each of PROGNAME-LIST
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
- # Check for GNU ac_path_GREP and select it if it is found.
+ for ac_prog in grep ggrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_GREP" || continue
+# Check for GNU ac_path_GREP and select it if it is found.
# Check for GNU $ac_path_GREP
case `"$ac_path_GREP" --version 2>&1` in
*GNU*)
ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
*)
ac_count=0
- echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+ $as_echo_n 0123456789 >"conftest.in"
while :
do
cat "conftest.in" "conftest.in" >"conftest.tmp"
mv "conftest.tmp" "conftest.in"
cp "conftest.in" "conftest.nl"
- echo 'GREP' >> "conftest.nl"
+ $as_echo 'GREP' >> "conftest.nl"
"$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- ac_count=`expr $ac_count + 1`
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
if test $ac_count -gt ${ac_path_GREP_max-0}; then
# Best one so far, save it but keep looking for a better one
ac_cv_path_GREP="$ac_path_GREP"
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
esac
-
- $ac_path_GREP_found && break 3
+ $ac_path_GREP_found && break 3
+ done
+ done
done
-done
-
-done
IFS=$as_save_IFS
-
-
-fi
-
-GREP="$ac_cv_path_GREP"
-if test -z "$GREP"; then
- { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
+ if test -z "$ac_cv_path_GREP"; then
+ as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
else
ac_cv_path_GREP=$GREP
fi
-
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
-echo "${ECHO_T}$ac_cv_path_GREP" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
GREP="$ac_cv_path_GREP"
-{ echo "$as_me:$LINENO: checking for egrep" >&5
-echo $ECHO_N "checking for egrep... $ECHO_C" >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if ${ac_cv_path_EGREP+:} false; then :
+ $as_echo_n "(cached) " >&6
else
if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
then ac_cv_path_EGREP="$GREP -E"
else
- # Extract the first word of "egrep" to use in msg output
-if test -z "$EGREP"; then
-set dummy egrep; ac_prog_name=$2
-if test "${ac_cv_path_EGREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+ if test -z "$EGREP"; then
ac_path_EGREP_found=false
-# Loop through the user's path and test for each of PROGNAME-LIST
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_prog in egrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
- # Check for GNU ac_path_EGREP and select it if it is found.
+ for ac_prog in egrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_EGREP" || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
# Check for GNU $ac_path_EGREP
case `"$ac_path_EGREP" --version 2>&1` in
*GNU*)
ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
*)
ac_count=0
- echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+ $as_echo_n 0123456789 >"conftest.in"
while :
do
cat "conftest.in" "conftest.in" >"conftest.tmp"
mv "conftest.tmp" "conftest.in"
cp "conftest.in" "conftest.nl"
- echo 'EGREP' >> "conftest.nl"
+ $as_echo 'EGREP' >> "conftest.nl"
"$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- ac_count=`expr $ac_count + 1`
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
if test $ac_count -gt ${ac_path_EGREP_max-0}; then
# Best one so far, save it but keep looking for a better one
ac_cv_path_EGREP="$ac_path_EGREP"
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
esac
-
- $ac_path_EGREP_found && break 3
+ $ac_path_EGREP_found && break 3
+ done
+ done
done
-done
-
-done
IFS=$as_save_IFS
-
-
-fi
-
-EGREP="$ac_cv_path_EGREP"
-if test -z "$EGREP"; then
- { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
+ if test -z "$ac_cv_path_EGREP"; then
+ as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
else
ac_cv_path_EGREP=$EGREP
fi
-
fi
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
-echo "${ECHO_T}$ac_cv_path_EGREP" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
EGREP="$ac_cv_path_EGREP"
-{ echo "$as_me:$LINENO: checking for fgrep" >&5
-echo $ECHO_N "checking for fgrep... $ECHO_C" >&6; }
-if test "${ac_cv_path_FGREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
+$as_echo_n "checking for fgrep... " >&6; }
+if ${ac_cv_path_FGREP+:} false; then :
+ $as_echo_n "(cached) " >&6
else
if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
then ac_cv_path_FGREP="$GREP -F"
else
- # Extract the first word of "fgrep" to use in msg output
-if test -z "$FGREP"; then
-set dummy fgrep; ac_prog_name=$2
-if test "${ac_cv_path_FGREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+ if test -z "$FGREP"; then
ac_path_FGREP_found=false
-# Loop through the user's path and test for each of PROGNAME-LIST
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_prog in fgrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
- # Check for GNU ac_path_FGREP and select it if it is found.
+ for ac_prog in fgrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_FGREP" || continue
+# Check for GNU ac_path_FGREP and select it if it is found.
# Check for GNU $ac_path_FGREP
case `"$ac_path_FGREP" --version 2>&1` in
*GNU*)
ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
*)
ac_count=0
- echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+ $as_echo_n 0123456789 >"conftest.in"
while :
do
cat "conftest.in" "conftest.in" >"conftest.tmp"
mv "conftest.tmp" "conftest.in"
cp "conftest.in" "conftest.nl"
- echo 'FGREP' >> "conftest.nl"
+ $as_echo 'FGREP' >> "conftest.nl"
"$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- ac_count=`expr $ac_count + 1`
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
if test $ac_count -gt ${ac_path_FGREP_max-0}; then
# Best one so far, save it but keep looking for a better one
ac_cv_path_FGREP="$ac_path_FGREP"
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
esac
-
- $ac_path_FGREP_found && break 3
+ $ac_path_FGREP_found && break 3
+ done
+ done
done
-done
-
-done
IFS=$as_save_IFS
-
-
-fi
-
-FGREP="$ac_cv_path_FGREP"
-if test -z "$FGREP"; then
- { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
+ if test -z "$ac_cv_path_FGREP"; then
+ as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
else
ac_cv_path_FGREP=$FGREP
fi
-
fi
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_path_FGREP" >&5
-echo "${ECHO_T}$ac_cv_path_FGREP" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
+$as_echo "$ac_cv_path_FGREP" >&6; }
FGREP="$ac_cv_path_FGREP"
# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then
+if test "${with_gnu_ld+set}" = set; then :
withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
else
with_gnu_ld=no
ac_prog=ld
if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
- { echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return which upsets mingw
;;
esac
elif test "$with_gnu_ld" = yes; then
- { echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
else
- { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
fi
-if test "${lt_cv_path_LD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+if ${lt_cv_path_LD+:} false; then :
+ $as_echo_n "(cached) " >&6
else
if test -z "$LD"; then
lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
LD="$lt_cv_path_LD"
if test -n "$LD"; then
- { echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+$as_echo "$LD" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
-test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
- { (exit 1); exit 1; }; }
-{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if ${lt_cv_prog_gnu_ld+:} false; then :
+ $as_echo_n "(cached) " >&6
else
# I'd rather use --version here, but apparently some GNU lds only accept -v.
case `$LD -v 2>&1 </dev/null` in
;;
esac
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
with_gnu_ld=$lt_cv_prog_gnu_ld
-{ echo "$as_me:$LINENO: checking for BSD- or MS-compatible name lister (nm)" >&5
-echo $ECHO_N "checking for BSD- or MS-compatible name lister (nm)... $ECHO_C" >&6; }
-if test "${lt_cv_path_NM+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
+$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
+if ${lt_cv_path_NM+:} false; then :
+ $as_echo_n "(cached) " >&6
else
if test -n "$NM"; then
# Let the user override the test.
: ${lt_cv_path_NM=no}
fi
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
-echo "${ECHO_T}$lt_cv_path_NM" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
+$as_echo "$lt_cv_path_NM" >&6; }
if test "$lt_cv_path_NM" != "no"; then
NM="$lt_cv_path_NM"
else
# Didn't find any BSD compatible name lister, look for dumpbin.
- if test -n "$ac_tool_prefix"; then
- for ac_prog in "dumpbin -symbols" "link -dump -symbols"
+ if test -n "$DUMPBIN"; then :
+ # Let the user override the test.
+ else
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in dumpbin "link -dump"
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_DUMPBIN+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DUMPBIN+:} false; then :
+ $as_echo_n "(cached) " >&6
else
if test -n "$DUMPBIN"; then
ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
IFS=$as_save_IFS
fi
fi
DUMPBIN=$ac_cv_prog_DUMPBIN
if test -n "$DUMPBIN"; then
- { echo "$as_me:$LINENO: result: $DUMPBIN" >&5
-echo "${ECHO_T}$DUMPBIN" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
+$as_echo "$DUMPBIN" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
fi
if test -z "$DUMPBIN"; then
ac_ct_DUMPBIN=$DUMPBIN
- for ac_prog in "dumpbin -symbols" "link -dump -symbols"
+ for ac_prog in dumpbin "link -dump"
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_DUMPBIN"; then
ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
IFS=$as_save_IFS
fi
fi
ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
if test -n "$ac_ct_DUMPBIN"; then
- { echo "$as_me:$LINENO: result: $ac_ct_DUMPBIN" >&5
-echo "${ECHO_T}$ac_ct_DUMPBIN" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
+$as_echo "$ac_ct_DUMPBIN" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
DUMPBIN=$ac_ct_DUMPBIN
fi
fi
+ case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
+ *COFF*)
+ DUMPBIN="$DUMPBIN -symbols"
+ ;;
+ *)
+ DUMPBIN=:
+ ;;
+ esac
+ fi
if test "$DUMPBIN" != ":"; then
NM="$DUMPBIN"
-{ echo "$as_me:$LINENO: checking the name lister ($NM) interface" >&5
-echo $ECHO_N "checking the name lister ($NM) interface... $ECHO_C" >&6; }
-if test "${lt_cv_nm_interface+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
+$as_echo_n "checking the name lister ($NM) interface... " >&6; }
+if ${lt_cv_nm_interface+:} false; then :
+ $as_echo_n "(cached) " >&6
else
lt_cv_nm_interface="BSD nm"
echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:5183: $ac_compile\"" >&5)
+ (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
(eval "$ac_compile" 2>conftest.err)
cat conftest.err >&5
- (eval echo "\"\$as_me:5186: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+ (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
(eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
cat conftest.err >&5
- (eval echo "\"\$as_me:5189: output\"" >&5)
+ (eval echo "\"\$as_me:$LINENO: output\"" >&5)
cat conftest.out >&5
if $GREP 'External.*some_variable' conftest.out > /dev/null; then
lt_cv_nm_interface="MS dumpbin"
fi
rm -f conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_nm_interface" >&5
-echo "${ECHO_T}$lt_cv_nm_interface" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
+$as_echo "$lt_cv_nm_interface" >&6; }
-{ echo "$as_me:$LINENO: checking whether ln -s works" >&5
-echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
+$as_echo_n "checking whether ln -s works... " >&6; }
LN_S=$as_ln_s
if test "$LN_S" = "ln -s"; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
else
- { echo "$as_me:$LINENO: result: no, using $LN_S" >&5
-echo "${ECHO_T}no, using $LN_S" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
+$as_echo "no, using $LN_S" >&6; }
fi
# find the maximum length of command line arguments
-{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
-echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; }
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
+$as_echo_n "checking the maximum length of command line arguments... " >&6; }
+if ${lt_cv_sys_max_cmd_len+:} false; then :
+ $as_echo_n "(cached) " >&6
else
i=0
teststring="ABCD"
lt_cv_sys_max_cmd_len=-1;
;;
- cygwin* | mingw*)
+ cygwin* | mingw* | cegcc*)
# On Win9x/ME, this test blows up -- it succeeds, but takes
# about 5 minutes as the teststring grows exponentially.
# Worse, since 9x/ME are not pre-emptively multitasking,
lt_cv_sys_max_cmd_len=8192;
;;
+ mint*)
+ # On MiNT this can take a long time and run out of memory.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
amigaos*)
# On AmigaOS with pdksh, this test takes hours, literally.
# So we just punt and use a minimum line length of 8192.
lt_cv_sys_max_cmd_len=196608
;;
+ os2*)
+ # The test takes a long time on OS/2.
+ lt_cv_sys_max_cmd_len=8192
+ ;;
+
osf*)
# Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
# due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
;;
*)
lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
- if test -n "$lt_cv_sys_max_cmd_len"; then
+ if test -n "$lt_cv_sys_max_cmd_len" && \
+ test undefined != "$lt_cv_sys_max_cmd_len"; then
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
else
# If test is not a shell built-in, we'll probably end up computing a
# maximum length that is only half of the actual maximum length, but
# we can't tell.
- while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
- = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
+ while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
+ = "X$teststring$teststring"; } >/dev/null 2>&1 &&
test $i != 17 # 1/2 MB should be enough
do
i=`expr $i + 1`
fi
if test -n $lt_cv_sys_max_cmd_len ; then
- { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
-echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
+$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
else
- { echo "$as_me:$LINENO: result: none" >&5
-echo "${ECHO_T}none" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
+$as_echo "none" >&6; }
fi
max_cmd_len=$lt_cv_sys_max_cmd_len
: ${MV="mv -f"}
: ${RM="rm -f"}
-{ echo "$as_me:$LINENO: checking whether the shell understands some XSI constructs" >&5
-echo $ECHO_N "checking whether the shell understands some XSI constructs... $ECHO_C" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
+$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
# Try some XSI features
xsi_shell=no
( _lt_dummy="a/b/c"
- test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
- = c,a/b,, ) >/dev/null 2>&1 \
+ test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
+ = c,a/b,b/c, \
+ && eval 'test $(( 1 + 1 )) -eq 2 \
+ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
&& xsi_shell=yes
-{ echo "$as_me:$LINENO: result: $xsi_shell" >&5
-echo "${ECHO_T}$xsi_shell" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
+$as_echo "$xsi_shell" >&6; }
-{ echo "$as_me:$LINENO: checking whether the shell understands \"+=\"" >&5
-echo $ECHO_N "checking whether the shell understands \"+=\"... $ECHO_C" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
+$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
lt_shell_append=no
( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
>/dev/null 2>&1 \
&& lt_shell_append=yes
-{ echo "$as_me:$LINENO: result: $lt_shell_append" >&5
-echo "${ECHO_T}$lt_shell_append" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
+$as_echo "$lt_shell_append" >&6; }
if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
-echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; }
-if test "${lt_cv_ld_reload_flag+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
+$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
+if ${lt_cv_to_host_file_cmd+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $host in
+ *-*-mingw* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
+ ;;
+ *-*-cygwin* )
+ lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
+ ;;
+ * ) # otherwise, assume *nix
+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
+ ;;
+ esac
+ ;;
+ *-*-cygwin* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
+ ;;
+ *-*-cygwin* )
+ lt_cv_to_host_file_cmd=func_convert_file_noop
+ ;;
+ * ) # otherwise, assume *nix
+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
+ ;;
+ esac
+ ;;
+ * ) # unhandled hosts (and "normal" native builds)
+ lt_cv_to_host_file_cmd=func_convert_file_noop
+ ;;
+esac
+
+fi
+
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
+$as_echo "$lt_cv_to_host_file_cmd" >&6; }
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
+$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
+if ${lt_cv_to_tool_file_cmd+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ #assume ordinary cross tools, or native build.
+lt_cv_to_tool_file_cmd=func_convert_file_noop
+case $host in
+ *-*-mingw* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
+ ;;
+ esac
+ ;;
+esac
+
+fi
+
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
+$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
+$as_echo_n "checking for $LD option to reload object files... " >&6; }
+if ${lt_cv_ld_reload_flag+:} false; then :
+ $as_echo_n "(cached) " >&6
else
lt_cv_ld_reload_flag='-r'
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
-echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
+$as_echo "$lt_cv_ld_reload_flag" >&6; }
reload_flag=$lt_cv_ld_reload_flag
case $reload_flag in
"" | " "*) ;;
esac
reload_cmds='$LD$reload_flag -o $output$reload_objs'
case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ if test "$GCC" != yes; then
+ reload_cmds=false
+ fi
+ ;;
darwin*)
if test "$GCC" = yes; then
reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
+set dummy ${ac_tool_prefix}objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_OBJDUMP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OBJDUMP"; then
+ ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+OBJDUMP=$ac_cv_prog_OBJDUMP
+if test -n "$OBJDUMP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
+$as_echo "$OBJDUMP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OBJDUMP"; then
+ ac_ct_OBJDUMP=$OBJDUMP
+ # Extract the first word of "objdump", so it can be a program name with args.
+set dummy objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OBJDUMP"; then
+ ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_OBJDUMP="objdump"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
+if test -n "$ac_ct_OBJDUMP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
+$as_echo "$ac_ct_OBJDUMP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_OBJDUMP" = x; then
+ OBJDUMP="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OBJDUMP=$ac_ct_OBJDUMP
+ fi
+else
+ OBJDUMP="$ac_cv_prog_OBJDUMP"
+fi
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+
+
+
+
+
+
+
+
-{ echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5
-echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; }
-if test "${lt_cv_deplibs_check_method+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
+$as_echo_n "checking how to recognize dependent libraries... " >&6; }
+if ${lt_cv_deplibs_check_method+:} false; then :
+ $as_echo_n "(cached) " >&6
else
lt_cv_file_magic_cmd='$MAGIC_CMD'
lt_cv_file_magic_test_file=
# Base MSYS/MinGW do not provide the 'file' command needed by
# func_win32_libid shell function, so use a weaker test based on 'objdump',
# unless we find 'file', for example because we are cross-compiling.
- if ( file / ) >/dev/null 2>&1; then
+ # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
+ if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
lt_cv_file_magic_cmd='func_win32_libid'
else
- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+ # Keep this pattern in sync with the one in func_win32_libid.
+ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
lt_cv_file_magic_cmd='$OBJDUMP -f'
fi
;;
+cegcc*)
+ # use the weaker test based on 'objdump'. See mingw*.
+ lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ ;;
+
darwin* | rhapsody*)
lt_cv_deplibs_check_method=pass_all
;;
fi
;;
-gnu*)
+haiku*)
lt_cv_deplibs_check_method=pass_all
;;
lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
;;
hppa*64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
;;
*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
lt_cv_file_magic_test_file=/usr/lib/libc.sl
;;
esac
lt_cv_deplibs_check_method=pass_all
;;
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
lt_cv_deplibs_check_method=pass_all
;;
-netbsd*)
+netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
else
esac
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
-echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
+$as_echo "$lt_cv_deplibs_check_method" >&6; }
+
+file_magic_glob=
+want_nocaseglob=no
+if test "$build" = "$host"; then
+ case $host_os in
+ mingw* | pw32*)
+ if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
+ want_nocaseglob=yes
+ else
+ file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
+ fi
+ ;;
+ esac
+fi
+
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DLLTOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$DLLTOOL"; then
+ ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+DLLTOOL=$ac_cv_prog_DLLTOOL
+if test -n "$DLLTOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
+$as_echo "$DLLTOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_DLLTOOL"; then
+ ac_ct_DLLTOOL=$DLLTOOL
+ # Extract the first word of "dlltool", so it can be a program name with args.
+set dummy dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_DLLTOOL"; then
+ ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_DLLTOOL="dlltool"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
+if test -n "$ac_ct_DLLTOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
+$as_echo "$ac_ct_DLLTOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_DLLTOOL" = x; then
+ DLLTOOL="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ DLLTOOL=$ac_ct_DLLTOOL
+ fi
+else
+ DLLTOOL="$ac_cv_prog_DLLTOOL"
+fi
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
+$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
+if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_sharedlib_from_linklib_cmd='unknown'
+
+case $host_os in
+cygwin* | mingw* | pw32* | cegcc*)
+ # two different shell functions defined in ltmain.sh
+ # decide which to use based on capabilities of $DLLTOOL
+ case `$DLLTOOL --help 2>&1` in
+ *--identify-strict*)
+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
+ ;;
+ *)
+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
+ ;;
+ esac
+ ;;
+*)
+ # fallback: assume linklib IS sharedlib
+ lt_cv_sharedlib_from_linklib_cmd="$ECHO"
+ ;;
+esac
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
+$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
+sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
+test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
+
+
+
+
+
+
+
+
if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ for ac_prog in ar
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
else
if test -n "$AR"; then
ac_cv_prog_AR="$AR" # Let the user override the test.
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AR="${ac_tool_prefix}ar"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
IFS=$as_save_IFS
fi
fi
AR=$ac_cv_prog_AR
if test -n "$AR"; then
- { echo "$as_me:$LINENO: result: $AR" >&5
-echo "${ECHO_T}$AR" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
+ test -n "$AR" && break
+ done
fi
-if test -z "$ac_cv_prog_AR"; then
+if test -z "$AR"; then
ac_ct_AR=$AR
- # Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ for ac_prog in ar
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_AR"; then
ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_AR="ar"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_AR="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
IFS=$as_save_IFS
fi
fi
ac_ct_AR=$ac_cv_prog_ac_ct_AR
if test -n "$ac_ct_AR"; then
- { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
-echo "${ECHO_T}$ac_ct_AR" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
+
+ test -n "$ac_ct_AR" && break
+done
+
if test "x$ac_ct_AR" = x; then
AR="false"
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
AR=$ac_ct_AR
fi
-else
- AR="$ac_cv_prog_AR"
fi
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
+: ${AR=ar}
+: ${AR_FLAGS=cru}
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
+$as_echo_n "checking for archiver @FILE support... " >&6; }
+if ${lt_cv_ar_at_file+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ar_at_file=no
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ echo conftest.$ac_objext > conftest.lst
+ lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
+ (eval $lt_ar_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if test "$ac_status" -eq 0; then
+ # Ensure the archiver fails upon bogus file names.
+ rm -f conftest.$ac_objext libconftest.a
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
+ (eval $lt_ar_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if test "$ac_status" -ne 0; then
+ lt_cv_ar_at_file=@
+ fi
+ fi
+ rm -f conftest.* libconftest.a
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
+$as_echo "$lt_cv_ar_at_file" >&6; }
+
+if test "x$lt_cv_ar_at_file" = xno; then
+ archiver_list_spec=
+else
+ archiver_list_spec=$lt_cv_ar_at_file
+fi
+
+
+
+
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
else
if test -n "$STRIP"; then
ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
IFS=$as_save_IFS
fi
fi
STRIP=$ac_cv_prog_STRIP
if test -n "$STRIP"; then
- { echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
ac_ct_STRIP=$STRIP
# Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_STRIP"; then
ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_STRIP="strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
IFS=$as_save_IFS
fi
fi
ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
if test -n "$ac_ct_STRIP"; then
- { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
if test "x$ac_ct_STRIP" = x; then
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
STRIP=$ac_ct_STRIP
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_RANLIB+:} false; then :
+ $as_echo_n "(cached) " >&6
else
if test -n "$RANLIB"; then
ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
IFS=$as_save_IFS
fi
fi
RANLIB=$ac_cv_prog_RANLIB
if test -n "$RANLIB"; then
- { echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
ac_ct_RANLIB=$RANLIB
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_RANLIB"; then
ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_RANLIB="ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
IFS=$as_save_IFS
fi
fi
ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
if test -n "$ac_ct_RANLIB"; then
- { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
if test "x$ac_ct_RANLIB" = x; then
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
RANLIB=$ac_ct_RANLIB
if test -n "$RANLIB"; then
case $host_os in
openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
;;
*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
;;
esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
fi
+case $host_os in
+ darwin*)
+ lock_old_archive_extraction=yes ;;
+ *)
+ lock_old_archive_extraction=no ;;
+esac
+
+
+
+
+
+
# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
-echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; }
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
+$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
+if ${lt_cv_sys_global_symbol_pipe+:} false; then :
+ $as_echo_n "(cached) " >&6
else
# These are sane defaults that work on at least a few old systems.
aix*)
symcode='[BCDT]'
;;
-cygwin* | mingw* | pw32*)
+cygwin* | mingw* | pw32* | cegcc*)
symcode='[ABCDGISTW]'
;;
hpux*)
lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
# Handle CRLF in mingw tool chain
opt_cr=
# which start with @ or ?.
lt_cv_sys_global_symbol_pipe="$AWK '"\
" {last_section=section; section=\$ 3};"\
+" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
" \$ 0!~/External *\|/{next};"\
" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
else
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
fi
+ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
# Check to see that the pipe works correctly.
pipe_works=no
int main(){nm_test_var='a';nm_test_func();return(0);}
_LT_EOF
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
# Now try to grab the symbols.
nlist=conftest.nm
- if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5
- (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
+ (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && test -s "$nlist"; then
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s "$nlist"; then
# Try sorting and uniquifying the output.
if sort "$nlist" | uniq > "$nlist"T; then
mv -f "$nlist"T "$nlist"
if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
cat <<_LT_EOF > conftest.$ac_ext
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
+#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
+/* DATA imports from DLLs on WIN32 con't be const, because runtime
+ relocations are performed -- see ld's documentation on pseudo-relocs. */
+# define LT_DLSYM_CONST
+#elif defined(__osf__)
+/* This system does not cope well with relocations in const data. */
+# define LT_DLSYM_CONST
+#else
+# define LT_DLSYM_CONST const
+#endif
+
#ifdef __cplusplus
extern "C" {
#endif
cat <<_LT_EOF >> conftest.$ac_ext
/* The mapping between symbol names and symbols. */
-const struct {
+LT_DLSYM_CONST struct {
const char *name;
void *address;
}
_LT_EOF
# Now try linking the two files.
mv conftest.$ac_objext conftstm.$ac_objext
- lt_save_LIBS="$LIBS"
- lt_save_CFLAGS="$CFLAGS"
+ lt_globsym_save_LIBS=$LIBS
+ lt_globsym_save_CFLAGS=$CFLAGS
LIBS="conftstm.$ac_objext"
CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
- if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && test -s conftest${ac_exeext}; then
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s conftest${ac_exeext}; then
pipe_works=yes
fi
- LIBS="$lt_save_LIBS"
- CFLAGS="$lt_save_CFLAGS"
+ LIBS=$lt_globsym_save_LIBS
+ CFLAGS=$lt_globsym_save_CFLAGS
else
echo "cannot find nm_test_func in $nlist" >&5
fi
lt_cv_sys_global_symbol_to_cdecl=
fi
if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- { echo "$as_me:$LINENO: result: failed" >&5
-echo "${ECHO_T}failed" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+$as_echo "failed" >&6; }
else
- { echo "$as_me:$LINENO: result: ok" >&5
-echo "${ECHO_T}ok" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
+$as_echo "ok" >&6; }
fi
+# Response file support.
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ nm_file_list_spec='@'
+elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
+ nm_file_list_spec='@'
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+$as_echo_n "checking for sysroot... " >&6; }
+# Check whether --with-sysroot was given.
+if test "${with_sysroot+set}" = set; then :
+ withval=$with_sysroot;
+else
+ with_sysroot=no
+fi
+lt_sysroot=
+case ${with_sysroot} in #(
+ yes)
+ if test "$GCC" = yes; then
+ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+ fi
+ ;; #(
+ /*)
+ lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
+ ;; #(
+ no|'')
+ ;; #(
+ *)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
+$as_echo "${with_sysroot}" >&6; }
+ as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
+ ;;
+esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
+$as_echo "${lt_sysroot:-no}" >&6; }
# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then
+if test "${enable_libtool_lock+set}" = set; then :
enableval=$enable_libtool_lock;
fi
ia64-*-hpux*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
case `/usr/bin/file conftest.$ac_objext` in
*ELF-32*)
HPUX_IA64_MODE="32"
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 6298 "configure"' > conftest.$ac_ext
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ echo '#line '$LINENO' "configure"' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
if test "$lt_cv_prog_gnu_ld" = yes; then
case `/usr/bin/file conftest.$ac_objext` in
*32-bit*)
rm -rf conftest*
;;
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
case `/usr/bin/file conftest.o` in
*32-bit*)
case $host in
LD="${LD-ld} -m elf_i386_fbsd"
;;
x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
+ case `/usr/bin/file conftest.o` in
+ *x86-64*)
+ LD="${LD-ld} -m elf32_x86_64"
+ ;;
+ *)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ esac
;;
- ppc64-*linux*|powerpc64-*linux*)
+ powerpc64le-*)
+ LD="${LD-ld} -m elf32lppclinux"
+ ;;
+ powerpc64-*)
LD="${LD-ld} -m elf32ppclinux"
;;
s390x-*linux*)
x86_64-*linux*)
LD="${LD-ld} -m elf_x86_64"
;;
- ppc*-*linux*|powerpc*-*linux*)
+ powerpcle-*)
+ LD="${LD-ld} -m elf64lppc"
+ ;;
+ powerpc-*)
LD="${LD-ld} -m elf64ppc"
;;
s390*-*linux*|s390*-*tpf*)
LD="${LD-ld} -m elf64_s390"
;;
- sparc*-*linux*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -belf"
- { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
-echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; }
-if test "${lt_cv_cc_needs_belf+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- lt_cv_cc_needs_belf=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- lt_cv_cc_needs_belf=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
-echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; }
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
- fi
- ;;
-sparc*-*solaris*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- case `/usr/bin/file conftest.o` in
- *64-bit*)
- case $lt_cv_prog_gnu_ld in
- yes*) LD="${LD-ld} -m elf64_sparc" ;;
- *)
- if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
- LD="${LD-ld} -64"
- fi
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-esac
-
-need_locks="$enable_libtool_lock"
-
-
- case $host_os in
- rhapsody* | darwin*)
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$DSYMUTIL"; then
- ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
- { echo "$as_me:$LINENO: result: $DSYMUTIL" >&5
-echo "${ECHO_T}$DSYMUTIL" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
- ac_ct_DSYMUTIL=$DSYMUTIL
- # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_DSYMUTIL"; then
- ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
- { echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5
-echo "${ECHO_T}$ac_ct_DSYMUTIL" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
- if test "x$ac_ct_DSYMUTIL" = x; then
- DSYMUTIL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- DSYMUTIL=$ac_ct_DSYMUTIL
- fi
-else
- DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_NMEDIT+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$NMEDIT"; then
- ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
- { echo "$as_me:$LINENO: result: $NMEDIT" >&5
-echo "${ECHO_T}$NMEDIT" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
- ac_ct_NMEDIT=$NMEDIT
- # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_NMEDIT"; then
- ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_NMEDIT="nmedit"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
- { echo "$as_me:$LINENO: result: $ac_ct_NMEDIT" >&5
-echo "${ECHO_T}$ac_ct_NMEDIT" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
- if test "x$ac_ct_NMEDIT" = x; then
- NMEDIT=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- NMEDIT=$ac_ct_NMEDIT
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ ;;
+ esac
fi
-else
- NMEDIT="$ac_cv_prog_NMEDIT"
-fi
-
-
-
-
-
-
-
-
-
-
-
+ rm -rf conftest*
+ ;;
- { echo "$as_me:$LINENO: checking for -single_module linker flag" >&5
-echo $ECHO_N "checking for -single_module linker flag... $ECHO_C" >&6; }
-if test "${lt_cv_apple_cc_single_mod+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_apple_cc_single_mod=no
- if test -z "${LT_MULTI_MODULE}"; then
- # By default we will add the -single_module flag. You can override
- # by either setting the environment variable LT_MULTI_MODULE
- # non-empty at configure time, or by adding -multi_module to the
- # link flags.
- rm -rf libconftest.dylib*
- echo "int foo(void){return 1;}" > conftest.c
- echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&5
- $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
- -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
- _lt_result=$?
- if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
- lt_cv_apple_cc_single_mod=yes
- else
- cat conftest.err >&5
- fi
- rm -rf libconftest.dylib*
- rm -f conftest.*
- fi
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5
-echo "${ECHO_T}$lt_cv_apple_cc_single_mod" >&6; }
- { echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5
-echo $ECHO_N "checking for -exported_symbols_list linker flag... $ECHO_C" >&6; }
-if test "${lt_cv_ld_exported_symbols_list+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+*-*-sco3.2v5*)
+ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+ SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -belf"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
+$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
+if ${lt_cv_cc_needs_belf+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- lt_cv_ld_exported_symbols_list=no
- save_LDFLAGS=$LDFLAGS
- echo "_main" > conftest.sym
- LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- lt_cv_ld_exported_symbols_list=yes
+if ac_fn_c_try_link "$LINENO"; then :
+ lt_cv_cc_needs_belf=yes
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- lt_cv_ld_exported_symbols_list=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
-
+ lt_cv_cc_needs_belf=no
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5
-echo "${ECHO_T}$lt_cv_ld_exported_symbols_list" >&6; }
- case $host_os in
- rhapsody* | darwin1.[012])
- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
- darwin1.*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- darwin*) # darwin 5.x on
- # if running on 10.5 or later, the deployment target defaults
- # to the OS version, if on x86, and 10.4, the deployment
- # target defaults to 10.4. Don't you love it?
- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
- 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- 10.[012]*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- 10.*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- esac
- ;;
- esac
- if test "$lt_cv_apple_cc_single_mod" = "yes"; then
- _lt_dar_single_mod='$single_module'
- fi
- if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
- _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
- else
- _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
- fi
- if test "$DSYMUTIL" != ":"; then
- _lt_dsymutil='~$DSYMUTIL $lib || :'
- else
- _lt_dsymutil=
- fi
- ;;
- esac
-
-ac_ext=c
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if test "${ac_cv_prog_CPP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # Double quotes because CPP needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- # Broken: fails on valid input.
-continue
fi
-
-rm -f conftest.err conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
+$as_echo "$lt_cv_cc_needs_belf" >&6; }
+ if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+ CFLAGS="$SAVE_CFLAGS"
+ fi
+ ;;
+*-*solaris*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- # Broken: success on invalid input.
-continue
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
- break
-fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ case `/usr/bin/file conftest.o` in
+ *64-bit*)
+ case $lt_cv_prog_gnu_ld in
+ yes*)
+ case $host in
+ i?86-*-solaris*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ sparc*-*-solaris*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
+ if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+ LD="${LD-ld}_sol2"
+ fi
+ ;;
+ *)
+ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+ LD="${LD-ld} -64"
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+esac
- done
- ac_cv_prog_CPP=$CPP
+need_locks="$enable_libtool_lock"
-fi
- CPP=$ac_cv_prog_CPP
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
+set dummy ${ac_tool_prefix}mt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- ac_cv_prog_CPP=$CPP
-fi
-{ echo "$as_me:$LINENO: result: $CPP" >&5
-echo "${ECHO_T}$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- :
+ if test -n "$MANIFEST_TOOL"; then
+ ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
- # Broken: fails on valid input.
-continue
+fi
+fi
+MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
+if test -n "$MANIFEST_TOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
+$as_echo "$MANIFEST_TOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
-rm -f conftest.err conftest.$ac_ext
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- # Broken: success on invalid input.
-continue
+fi
+if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
+ ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
+ # Extract the first word of "mt", so it can be a program name with args.
+set dummy mt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ if test -n "$ac_ct_MANIFEST_TOOL"; then
+ ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
- # Passes both tests.
-ac_preproc_ok=:
-break
+fi
+fi
+ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
+if test -n "$ac_ct_MANIFEST_TOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
+$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
-rm -f conftest.err conftest.$ac_ext
+ if test "x$ac_ct_MANIFEST_TOOL" = x; then
+ MANIFEST_TOOL=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
+ fi
+else
+ MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
+fi
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
- :
+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
+$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
+if ${lt_cv_path_mainfest_tool+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&5
-echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ lt_cv_path_mainfest_tool=no
+ echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
+ $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
+ cat conftest.err >&5
+ if $GREP 'Manifest Tool' conftest.out > /dev/null; then
+ lt_cv_path_mainfest_tool=yes
+ fi
+ rm -f conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
+$as_echo "$lt_cv_path_mainfest_tool" >&6; }
+if test "x$lt_cv_path_mainfest_tool" != xyes; then
+ MANIFEST_TOOL=:
fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-int
-main ()
-{
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_header_stdc=yes
+
+ case $host_os in
+ rhapsody* | darwin*)
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DSYMUTIL+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ if test -n "$DSYMUTIL"; then
+ ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
- ac_cv_header_stdc=no
+fi
+fi
+DSYMUTIL=$ac_cv_prog_DSYMUTIL
+if test -n "$DSYMUTIL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
+$as_echo "$DSYMUTIL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <string.h>
+fi
+if test -z "$ac_cv_prog_DSYMUTIL"; then
+ ac_ct_DSYMUTIL=$DSYMUTIL
+ # Extract the first word of "dsymutil", so it can be a program name with args.
+set dummy dsymutil; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_DSYMUTIL"; then
+ ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then
- :
+fi
+fi
+ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
+if test -n "$ac_ct_DSYMUTIL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
+$as_echo "$ac_ct_DSYMUTIL" >&6; }
else
- ac_cv_header_stdc=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
-rm -f conftest*
+ if test "x$ac_ct_DSYMUTIL" = x; then
+ DSYMUTIL=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ DSYMUTIL=$ac_ct_DSYMUTIL
+ fi
+else
+ DSYMUTIL="$ac_cv_prog_DSYMUTIL"
fi
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
+set dummy ${ac_tool_prefix}nmedit; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_NMEDIT+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$NMEDIT"; then
+ ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then
- :
+fi
+fi
+NMEDIT=$ac_cv_prog_NMEDIT
+if test -n "$NMEDIT"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
+$as_echo "$NMEDIT" >&6; }
else
- ac_cv_header_stdc=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
-rm -f conftest*
+
fi
+if test -z "$ac_cv_prog_NMEDIT"; then
+ ac_ct_NMEDIT=$NMEDIT
+ # Extract the first word of "nmedit", so it can be a program name with args.
+set dummy nmedit; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_NMEDIT"; then
+ ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_NMEDIT="nmedit"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then
- :
+fi
+fi
+ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
+if test -n "$ac_ct_NMEDIT"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
+$as_echo "$ac_ct_NMEDIT" >&6; }
else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
+ if test "x$ac_ct_NMEDIT" = x; then
+ NMEDIT=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
+ NMEDIT=$ac_ct_NMEDIT
+ fi
else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ NMEDIT="$ac_cv_prog_NMEDIT"
fi
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
+set dummy ${ac_tool_prefix}lipo; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_LIPO+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$LIPO"; then
+ ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
fi
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define STDC_HEADERS 1
-_ACEOF
-
+LIPO=$ac_cv_prog_LIPO
+if test -n "$LIPO"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
+$as_echo "$LIPO" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-
-
-
-
-
-
-
-
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
- inttypes.h stdint.h unistd.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- eval "$as_ac_Header=yes"
+fi
+if test -z "$ac_cv_prog_LIPO"; then
+ ac_ct_LIPO=$LIPO
+ # Extract the first word of "lipo", so it can be a program name with args.
+set dummy lipo; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ if test -n "$ac_ct_LIPO"; then
+ ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_LIPO="lipo"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
- eval "$as_ac_Header=no"
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
+ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
+if test -n "$ac_ct_LIPO"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
+$as_echo "$ac_ct_LIPO" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
-done
-
-
+ if test "x$ac_ct_LIPO" = x; then
+ LIPO=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ LIPO=$ac_ct_LIPO
+ fi
+else
+ LIPO="$ac_cv_prog_LIPO"
+fi
-for ac_header in dlfcn.h
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_OTOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OTOOL"; then
+ ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- eval "$as_ac_Header=yes"
+fi
+fi
+OTOOL=$ac_cv_prog_OTOOL
+if test -n "$OTOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
+$as_echo "$OTOOL" >&6; }
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- eval "$as_ac_Header=no"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
fi
-
+if test -z "$ac_cv_prog_OTOOL"; then
+ ac_ct_OTOOL=$OTOOL
+ # Extract the first word of "otool", so it can be a program name with args.
+set dummy otool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OTOOL"; then
+ ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_OTOOL="otool"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
done
+ done
+IFS=$as_save_IFS
+fi
+fi
+ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
+if test -n "$ac_ct_OTOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
+$as_echo "$ac_ct_OTOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-if test -z "$CXX"; then
- if test -n "$CCC"; then
- CXX=$CCC
+ if test "x$ac_ct_OTOOL" = x; then
+ OTOOL=":"
else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OTOOL=$ac_ct_OTOOL
+ fi
+else
+ OTOOL="$ac_cv_prog_OTOOL"
+fi
+
if test -n "$ac_tool_prefix"; then
- for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool64; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_OTOOL64+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- if test -n "$CXX"; then
- ac_cv_prog_CXX="$CXX" # Let the user override the test.
+ if test -n "$OTOOL64"; then
+ ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
IFS=$as_save_IFS
fi
fi
-CXX=$ac_cv_prog_CXX
-if test -n "$CXX"; then
- { echo "$as_me:$LINENO: result: $CXX" >&5
-echo "${ECHO_T}$CXX" >&6; }
+OTOOL64=$ac_cv_prog_OTOOL64
+if test -n "$OTOOL64"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
+$as_echo "$OTOOL64" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
- test -n "$CXX" && break
- done
fi
-if test -z "$CXX"; then
- ac_ct_CXX=$CXX
- for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+if test -z "$ac_cv_prog_OTOOL64"; then
+ ac_ct_OTOOL64=$OTOOL64
+ # Extract the first word of "otool64", so it can be a program name with args.
+set dummy otool64; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- if test -n "$ac_ct_CXX"; then
- ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
+ if test -n "$ac_ct_OTOOL64"; then
+ ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CXX="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_OTOOL64="otool64"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
IFS=$as_save_IFS
fi
fi
-ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
-if test -n "$ac_ct_CXX"; then
- { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
-echo "${ECHO_T}$ac_ct_CXX" >&6; }
+ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
+if test -n "$ac_ct_OTOOL64"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
+$as_echo "$ac_ct_OTOOL64" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
-
- test -n "$ac_ct_CXX" && break
-done
-
- if test "x$ac_ct_CXX" = x; then
- CXX="g++"
+ if test "x$ac_ct_OTOOL64" = x; then
+ OTOOL64=":"
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
- CXX=$ac_ct_CXX
+ OTOOL64=$ac_ct_OTOOL64
fi
+else
+ OTOOL64="$ac_cv_prog_OTOOL64"
fi
- fi
-fi
-# Provide some information about the compiler.
-echo "$as_me:$LINENO: checking for C++ compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (ac_try="$ac_compiler --version >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compiler --version >&5") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (ac_try="$ac_compiler -v >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compiler -v >&5") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (ac_try="$ac_compiler -V >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compiler -V >&5") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; }
-if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_compiler_gnu=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; }
-GXX=`test $ac_compiler_gnu = yes && echo yes`
-ac_test_CXXFLAGS=${CXXFLAGS+set}
-ac_save_CXXFLAGS=$CXXFLAGS
-{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
-echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; }
-if test "${ac_cv_prog_cxx_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_save_cxx_werror_flag=$ac_cxx_werror_flag
- ac_cxx_werror_flag=yes
- ac_cv_prog_cxx_g=no
- CXXFLAGS="-g"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-int
-main ()
-{
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_prog_cxx_g=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- CXXFLAGS=""
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-int
-main ()
-{
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- :
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
+$as_echo_n "checking for -single_module linker flag... " >&6; }
+if ${lt_cv_apple_cc_single_mod+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ lt_cv_apple_cc_single_mod=no
+ if test -z "${LT_MULTI_MODULE}"; then
+ # By default we will add the -single_module flag. You can override
+ # by either setting the environment variable LT_MULTI_MODULE
+ # non-empty at configure time, or by adding -multi_module to the
+ # link flags.
+ rm -rf libconftest.dylib*
+ echo "int foo(void){return 1;}" > conftest.c
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&5
+ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+ _lt_result=$?
+ # If there is a non-empty error log, and "single_module"
+ # appears in it, assume the flag caused a linker warning
+ if test -s conftest.err && $GREP single_module conftest.err; then
+ cat conftest.err >&5
+ # Otherwise, if the output was created with a 0 exit code from
+ # the compiler, it worked.
+ elif test -f libconftest.dylib && test $_lt_result -eq 0; then
+ lt_cv_apple_cc_single_mod=yes
+ else
+ cat conftest.err >&5
+ fi
+ rm -rf libconftest.dylib*
+ rm -f conftest.*
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
+$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
- ac_cxx_werror_flag=$ac_save_cxx_werror_flag
- CXXFLAGS="-g"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
+$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
+if ${lt_cv_ld_exported_symbols_list+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ld_exported_symbols_list=no
+ save_LDFLAGS=$LDFLAGS
+ echo "_main" > conftest.sym
+ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_prog_cxx_g=yes
+if ac_fn_c_try_link "$LINENO"; then :
+ lt_cv_ld_exported_symbols_list=yes
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ lt_cv_ld_exported_symbols_list=no
fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$save_LDFLAGS"
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_cxx_werror_flag=$ac_save_cxx_werror_flag
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; }
-if test "$ac_test_CXXFLAGS" = set; then
- CXXFLAGS=$ac_save_CXXFLAGS
-elif test $ac_cv_prog_cxx_g = yes; then
- if test "$GXX" = yes; then
- CXXFLAGS="-g -O2"
- else
- CXXFLAGS="-g"
- fi
-else
- if test "$GXX" = yes; then
- CXXFLAGS="-O2"
- else
- CXXFLAGS=
- fi
fi
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-depcc="$CXX" am_compiler_list=
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
+$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
-{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
-if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
+$as_echo_n "checking for -force_load linker flag... " >&6; }
+if ${lt_cv_ld_force_load+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CXX_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- am__universal=false
- case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
+ lt_cv_ld_force_load=no
+ cat > conftest.c << _LT_EOF
+int forced_loaded() { return 2;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
+ $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
+ echo "$AR cru libconftest.a conftest.o" >&5
+ $AR cru libconftest.a conftest.o 2>&5
+ echo "$RANLIB libconftest.a" >&5
+ $RANLIB libconftest.a 2>&5
+ cat > conftest.c << _LT_EOF
+int main() { return 0;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
+ $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
+ _lt_result=$?
+ if test -s conftest.err && $GREP force_load conftest.err; then
+ cat conftest.err >&5
+ elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
+ lt_cv_ld_force_load=yes
else
- break
- fi
- ;;
- msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CXX_dependencies_compiler_type=$depmode
- break
+ cat conftest.err >&5
fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CXX_dependencies_compiler_type=none
-fi
+ rm -f conftest.err libconftest.a conftest conftest.c
+ rm -rf conftest.dSYM
fi
-{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; }
-CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
+$as_echo "$lt_cv_ld_force_load" >&6; }
+ case $host_os in
+ rhapsody* | darwin1.[012])
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+ darwin1.*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ darwin*) # darwin 5.x on
+ # if running on 10.5 or later, the deployment target defaults
+ # to the OS version, if on x86, and 10.4, the deployment
+ # target defaults to 10.4. Don't you love it?
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+ 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ 10.[012]*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ 10.*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ esac
+ ;;
+ esac
+ if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+ _lt_dar_single_mod='$single_module'
+ fi
+ if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+ _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+ else
+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ fi
+ if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
+ _lt_dsymutil='~$DSYMUTIL $lib || :'
+ else
+ _lt_dsymutil=
+ fi
+ ;;
+ esac
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
- am__fastdepCXX_TRUE=
- am__fastdepCXX_FALSE='#'
-else
- am__fastdepCXX_TRUE='#'
- am__fastdepCXX_FALSE=
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+ CPP=
fi
-
-
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
- (test "X$CXX" != "Xg++"))) ; then
- ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
-echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; }
-if test -z "$CXXCPP"; then
- if test "${ac_cv_prog_CXXCPP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # Double quotes because CXXCPP needs to be expanded
- for CXXCPP in "$CXX -E" "/lib/cpp"
+if test -z "$CPP"; then
+ if ${ac_cv_prog_CPP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ # Double quotes because CPP needs to be expanded
+ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
do
ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
+for ac_c_preproc_warn_flag in '' yes
do
# Use a header file that comes with gcc, so configuring glibc
# with a fresh cross-compiler works.
# <limits.h> exists even on freestanding compilers.
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp. "Syntax error" is here to catch this case.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifdef __STDC__
# include <limits.h>
#endif
Syntax error
_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- }; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_c_try_cpp "$LINENO"; then :
+else
# Broken: fails on valid input.
continue
fi
-
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
# OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <ac_nonexistent.h>
_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- }; then
+if ac_fn_c_try_cpp "$LINENO"; then :
# Broken: success on invalid input.
continue
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
# Passes both tests.
ac_preproc_ok=:
break
fi
-
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
done
# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
break
fi
done
- ac_cv_prog_CXXCPP=$CXXCPP
+ ac_cv_prog_CPP=$CPP
fi
- CXXCPP=$ac_cv_prog_CXXCPP
+ CPP=$ac_cv_prog_CPP
else
- ac_cv_prog_CXXCPP=$CXXCPP
+ ac_cv_prog_CPP=$CPP
fi
-{ echo "$as_me:$LINENO: result: $CXXCPP" >&5
-echo "${ECHO_T}$CXXCPP" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
+for ac_c_preproc_warn_flag in '' yes
do
# Use a header file that comes with gcc, so configuring glibc
# with a fresh cross-compiler works.
# <limits.h> exists even on freestanding compilers.
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp. "Syntax error" is here to catch this case.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifdef __STDC__
# include <limits.h>
#endif
Syntax error
_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- }; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_c_try_cpp "$LINENO"; then :
+else
# Broken: fails on valid input.
continue
fi
-
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
# OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <ac_nonexistent.h>
_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- }; then
+if ac_fn_c_try_cpp "$LINENO"; then :
# Broken: success on invalid input.
continue
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
# Passes both tests.
ac_preproc_ok=:
break
fi
-
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
done
# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
- :
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
else
- _lt_caught_CXX_error=yes
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
fi
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if ${ac_cv_header_stdc+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- _lt_caught_CXX_error=yes
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_header_stdc=yes
+else
+ ac_cv_header_stdc=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "memchr" >/dev/null 2>&1; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "free" >/dev/null 2>&1; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
fi
+if test $ac_cv_header_stdc = yes; then
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+ if test "$cross_compiling" = yes; then :
+ :
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+ (('a' <= (c) && (c) <= 'i') \
+ || ('j' <= (c) && (c) <= 'r') \
+ || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+ int i;
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+ return 2;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+ inttypes.h stdint.h unistd.h
+do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+for ac_header in dlfcn.h
+do :
+ ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+
+fi
+
+done
+
+
+
+func_stripname_cnf ()
+{
+ case ${2} in
+ .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+ *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+ esac
+} # func_stripname_cnf
+
# Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then
+if test "${enable_shared+set}" = set; then :
enableval=$enable_shared; p=${PACKAGE-default}
case $enableval in
yes) enable_shared=yes ;;
# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then
- withval=$with_pic; pic_mode="$withval"
+if test "${with_pic+set}" = set; then :
+ withval=$with_pic; lt_p=${PACKAGE-default}
+ case $withval in
+ yes|no) pic_mode=$withval ;;
+ *)
+ pic_mode=default
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for lt_pkg in $withval; do
+ IFS="$lt_save_ifs"
+ if test "X$lt_pkg" = "X$lt_p"; then
+ pic_mode=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
else
pic_mode=default
fi
# Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then
+if test "${enable_fast_install+set}" = set; then :
enableval=$enable_fast_install; p=${PACKAGE-default}
case $enableval in
yes) enable_fast_install=yes ;;
+
+
+
+
+
test -z "$LN_S" && LN_S="ln -s"
setopt NO_GLOB_SUBST
fi
-{ echo "$as_me:$LINENO: checking for objdir" >&5
-echo $ECHO_N "checking for objdir... $ECHO_C" >&6; }
-if test "${lt_cv_objdir+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
+$as_echo_n "checking for objdir... " >&6; }
+if ${lt_cv_objdir+:} false; then :
+ $as_echo_n "(cached) " >&6
else
rm -f .libs 2>/dev/null
mkdir .libs 2>/dev/null
fi
rmdir .libs 2>/dev/null
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
-echo "${ECHO_T}$lt_cv_objdir" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
+$as_echo "$lt_cv_objdir" >&6; }
objdir=$lt_cv_objdir
-
-
-
-
-
-
-
-
-
-
-
-
-
case $host_os in
aix3*)
# AIX sometimes has problems with the GCC collect2 program. For some
;;
esac
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
# Global variables:
ofile=libtool
can_build_shared=yes
*) break;;
esac
done
-cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
# Only perform the check for file, if the check method requires it
case $deplibs_check_method in
file_magic*)
if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
-echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
+$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
+ $as_echo_n "(cached) " >&6
else
case $MAGIC_CMD in
[\\/*] | ?:[\\/]*)
MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
if test -n "$MAGIC_CMD"; then
- { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
if test -z "$lt_cv_path_MAGIC_CMD"; then
if test -n "$ac_tool_prefix"; then
- { echo "$as_me:$LINENO: checking for file" >&5
-echo $ECHO_N "checking for file... $ECHO_C" >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
+$as_echo_n "checking for file... " >&6; }
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
+ $as_echo_n "(cached) " >&6
else
case $MAGIC_CMD in
[\\/*] | ?:[\\/]*)
MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
if test -n "$MAGIC_CMD"; then
- { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
lt_prog_compiler_no_builtin_flag=
if test "$GCC" = yes; then
- lt_prog_compiler_no_builtin_flag=' -fno-builtin'
+ case $cc_basename in
+ nvcc*)
+ lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
+ *)
+ lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
+ esac
- { echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
+if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_rtti_exceptions=no
ac_outfile=conftest.$ac_objext
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:8538: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:8542: \$? = $ac_status" >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
lt_cv_prog_compiler_rtti_exceptions=yes
$RM conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
lt_prog_compiler_pic=
lt_prog_compiler_static=
-{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
if test "$GCC" = yes; then
lt_prog_compiler_wl='-Wl,'
# PIC is the default for these OSes.
;;
- mingw* | cygwin* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
# Although the cygwin gcc ignores -fPIC, still need this for old-style
lt_prog_compiler_pic='-fno-common'
;;
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ lt_prog_compiler_static=
+ ;;
+
hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
case $host_cpu in
- hppa*64*|ia64*)
+ hppa*64*)
# +Z the default
;;
*)
lt_prog_compiler_pic='-fPIC'
;;
esac
+
+ case $cc_basename in
+ nvcc*) # Cuda Compiler Driver 2.2
+ lt_prog_compiler_wl='-Xlinker '
+ if test -n "$lt_prog_compiler_pic"; then
+ lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
+ fi
+ ;;
+ esac
else
# PORTME Check for flag to pass linker flags through the system compiler.
case $host_os in
fi
;;
- mingw* | cygwin* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
lt_prog_compiler_pic='-DDLL_EXPORT'
lt_prog_compiler_static='-non_shared'
;;
- linux* | k*bsd*-gnu)
+ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
case $cc_basename in
- icc* | ecc* | ifort*)
+ # old Intel for x86_64 which still supported -KPIC.
+ ecc*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-static'
+ ;;
+ # icc used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ icc* | ifort*)
lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_pic='-fPIC'
lt_prog_compiler_static='-static'
;;
- pgcc* | pgf77* | pgf90* | pgf95*)
+ # Lahey Fortran 8.1.
+ lf95*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='--shared'
+ lt_prog_compiler_static='--static'
+ ;;
+ nagfor*)
+ # NAG Fortran compiler
+ lt_prog_compiler_wl='-Wl,-Wl,,'
+ lt_prog_compiler_pic='-PIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
lt_prog_compiler_wl='-Wl,'
# All Alpha code is PIC.
lt_prog_compiler_static='-non_shared'
;;
- xl*)
- # IBM XL C 8.0/Fortran 10.1 on PPC
+ xl* | bgxl* | bgf* | mpixl*)
+ # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
lt_prog_compiler_wl='-Wl,'
lt_prog_compiler_pic='-qpic'
lt_prog_compiler_static='-qstaticlink'
;;
*)
case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ lt_prog_compiler_wl=''
+ ;;
+ *Sun\ F* | *Sun*Fortran*)
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ lt_prog_compiler_wl='-Qoption ld '
+ ;;
*Sun\ C*)
# Sun C 5.9
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
lt_prog_compiler_wl='-Wl,'
;;
- *Sun\ F*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
- lt_prog_compiler_pic='-KPIC'
+ *Intel*\ [CF]*Compiler*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fPIC'
+ lt_prog_compiler_static='-static'
+ ;;
+ *Portland\ Group*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fpic'
lt_prog_compiler_static='-Bstatic'
- lt_prog_compiler_wl=''
;;
esac
;;
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
case $cc_basename in
- f77* | f90* | f95*)
+ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
lt_prog_compiler_wl='-Qoption ld ';;
*)
lt_prog_compiler_wl='-Wl,';;
lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
;;
esac
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic" >&6; }
-
-
-
-
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+if ${lt_cv_prog_compiler_pic+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
+$as_echo "$lt_cv_prog_compiler_pic" >&6; }
+lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
#
# Check to make sure the PIC flag actually works.
#
if test -n "$lt_prog_compiler_pic"; then
- { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_pic_works+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
+if ${lt_cv_prog_compiler_pic_works+:} false; then :
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_pic_works=no
ac_outfile=conftest.$ac_objext
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:8862: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:8866: \$? = $ac_status" >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
lt_cv_prog_compiler_pic_works=yes
$RM conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_pic_works" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
case $lt_prog_compiler_pic in
+
+
+
+
+
#
# Check to make sure the static flag actually works.
#
wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_static_works+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if ${lt_cv_prog_compiler_static_works+:} false; then :
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_static_works=no
save_LDFLAGS="$LDFLAGS"
if test -s conftest.err; then
# Append any errors to the config.log.
cat conftest.err 1>&5
- $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if diff conftest.exp conftest.er2 >/dev/null; then
lt_cv_prog_compiler_static_works=yes
LDFLAGS="$save_LDFLAGS"
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_static_works" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
+$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
if test x"$lt_cv_prog_compiler_static_works" = xyes; then
:
- { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if ${lt_cv_prog_compiler_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_c_o=no
$RM -r conftest 2>/dev/null
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:8967: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:8971: \$? = $ac_status" >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
$SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
lt_cv_prog_compiler_c_o=yes
$RM conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
- { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if ${lt_cv_prog_compiler_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_c_o=no
$RM -r conftest 2>/dev/null
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:9022: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:9026: \$? = $ac_status" >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
$SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
lt_cv_prog_compiler_c_o=yes
$RM conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
hard_links="nottested"
if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
# do not overwrite the value of need_locks provided by the user
- { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
hard_links=yes
$RM conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
- { echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
if test "$hard_links" = no; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
need_locks=warn
fi
else
- { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
runpath_var=
allow_undefined_flag=
hardcode_direct=no
hardcode_direct_absolute=no
hardcode_libdir_flag_spec=
- hardcode_libdir_flag_spec_ld=
hardcode_libdir_separator=
hardcode_minus_L=no
hardcode_shlibpath_var=unsupported
extract_expsyms_cmds=
case $host_os in
- cygwin* | mingw* | pw32*)
+ cygwin* | mingw* | pw32* | cegcc*)
# FIXME: the MSVC++ port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
openbsd*)
with_gnu_ld=no
;;
+ linux* | k*bsd*-gnu | gnu*)
+ link_all_deplibs=no
+ ;;
esac
ld_shlibs=yes
+
+ # On some targets, GNU ld is compatible enough with the native linker
+ # that we're better off using the native interface for both.
+ lt_use_gnu_ld_interface=no
if test "$with_gnu_ld" = yes; then
+ case $host_os in
+ aix*)
+ # The AIX port of GNU ld has always aspired to compatibility
+ # with the native linker. However, as the warning in the GNU ld
+ # block says, versions before 2.19.5* couldn't really create working
+ # shared libraries, regardless of the interface used.
+ case `$LD -v 2>&1` in
+ *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
+ *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
+ *\ \(GNU\ Binutils\)\ [3-9]*) ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ fi
+
+ if test "$lt_use_gnu_ld_interface" = yes; then
# If archive_cmds runs LD, not CC, wlarc should be empty
wlarc='${wl}'
fi
supports_anon_versioning=no
case `$LD -v 2>&1` in
+ *GNU\ gold*) supports_anon_versioning=yes ;;
*\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
*\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
*\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
ld_shlibs=no
cat <<_LT_EOF 1>&2
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** Warning: the GNU linker, at least up to release 2.19, is reported
*** to be unable to reliably create shared libraries on AIX.
*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
+*** really care for shared libraries, you may want to install binutils
+*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
+*** You will then need to restart the configuration process.
_LT_EOF
fi
fi
;;
- cygwin* | mingw* | pw32*)
+ cygwin* | mingw* | pw32* | cegcc*)
# _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
# as there is no search path for DLLs.
hardcode_libdir_flag_spec='-L$libdir'
+ export_dynamic_flag_spec='${wl}--export-all-symbols'
allow_undefined_flag=unsupported
always_export_symbols=no
enable_shared_with_static_runtimes=yes
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
+ exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
fi
;;
+ haiku*)
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ link_all_deplibs=yes
+ ;;
+
interix[3-9]*)
hardcode_direct=no
hardcode_shlibpath_var=no
archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
- gnu* | linux* | tpf* | k*bsd*-gnu)
+ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
tmp_diet=no
if test "$host_os" = linux-dietlibc; then
case $cc_basename in
if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
&& test "$tmp_diet" = no
then
- tmp_addflag=
+ tmp_addflag=' $pic_flag'
tmp_sharedflag='-shared'
case $cc_basename,$host_cpu in
pgcc*) # Portland Group C compiler
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
tmp_addflag=' $pic_flag'
;;
- pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group f77 and f90 compilers
+ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
tmp_addflag=' $pic_flag -Mnomain' ;;
ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
tmp_addflag=' -i_dynamic' ;;
tmp_addflag=' -i_dynamic -nofor_main' ;;
ifc* | ifort*) # Intel Fortran compiler
tmp_addflag=' -nofor_main' ;;
- xl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+ lf95*) # Lahey Fortran 8.1
+ whole_archive_flag_spec=
+ tmp_sharedflag='--shared' ;;
+ xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
tmp_sharedflag='-qmkshrobj'
tmp_addflag= ;;
+ nvcc*) # Cuda Compiler Driver 2.2
+ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ compiler_needs_object=yes
+ ;;
esac
case `$CC -V 2>&1 | sed 5q` in
*Sun\ C*) # Sun C 5.9
- whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
compiler_needs_object=yes
tmp_sharedflag='-G' ;;
*Sun\ F*) # Sun Fortran 8.3
fi
case $cc_basename in
- xlf*)
+ xlf* | bgf* | bgxlf* | mpixlf*)
# IBM XL Fortran 10.1 on PPC cannot create shared libs itself
whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
- hardcode_libdir_flag_spec=
- hardcode_libdir_flag_spec_ld='-rpath $libdir'
- archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
if test "x$supports_anon_versioning" = xyes; then
archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
echo "local: *; };" >> $output_objdir/$libname.ver~
- $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
fi
;;
esac
fi
;;
- netbsd*)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
else
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
fi
;;
_LT_EOF
elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
else
ld_shlibs=no
fi
*)
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
else
ld_shlibs=no
fi
else
# If we're using GNU nm, then we don't want the "-C" option.
# -C means demangle to AIX nm, but means don't demangle with GNU nm
+ # Also, AIX nm treats weak defined symbols like other global
+ # defined symbols, whereas GNU nm marks them as "W".
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
else
export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
fi
if test "$aix_use_runtimelinking" = yes; then
shared_flag="$shared_flag "'${wl}-G'
fi
+ link_all_deplibs=no
else
# not using gcc
if test "$host_cpu" = ia64; then
fi
fi
+ export_dynamic_flag_spec='${wl}-bexpall'
# It seems that -bexpall does not export symbols beginning with
# underscore (_), so it is better to generate a list of symbols to export.
always_export_symbols=yes
allow_undefined_flag='-berok'
# Determine the default libpath from the value encoded in an
# empty executable.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ if test "${lt_cv_aix_libpath+set}" = set; then
+ aix_libpath=$lt_cv_aix_libpath
+else
+ if ${lt_cv_aix_libpath_+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_c_try_link "$LINENO"; then :
+ lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\([^ ]*\) *$/\1/
+ p
+ }
+ }'
+ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ # Check for a 64-bit object if we didn't find anything.
+ if test -z "$lt_cv_aix_libpath_"; then
+ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test -z "$lt_cv_aix_libpath_"; then
+ lt_cv_aix_libpath_="/usr/lib:/lib"
+ fi
fi
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+ aix_libpath=$lt_cv_aix_libpath_
+fi
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
else
if test "$host_cpu" = ia64; then
hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
else
# Determine the default libpath from the value encoded in an
# empty executable.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ if test "${lt_cv_aix_libpath+set}" = set; then
+ aix_libpath=$lt_cv_aix_libpath
+else
+ if ${lt_cv_aix_libpath_+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_c_try_link "$LINENO"; then :
+ lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\([^ ]*\) *$/\1/
+ p
+ }
+ }'
+ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ # Check for a 64-bit object if we didn't find anything.
+ if test -z "$lt_cv_aix_libpath_"; then
+ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test -z "$lt_cv_aix_libpath_"; then
+ lt_cv_aix_libpath_="/usr/lib:/lib"
+ fi
fi
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+ aix_libpath=$lt_cv_aix_libpath_
+fi
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
# -berok will link without error, but may produce a broken library.
no_undefined_flag=' ${wl}-bernotok'
allow_undefined_flag=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec='$convenience'
+ if test "$with_gnu_ld" = yes; then
+ # We only use this code for GNU lds that support --whole-archive.
+ whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ else
+ # Exported symbols can be pulled into shared objects from archives
+ whole_archive_flag_spec='$convenience'
+ fi
archive_cmds_need_lc=yes
# This is similar to how AIX traditionally builds its shared libraries.
archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
export_dynamic_flag_spec=-rdynamic
;;
- cygwin* | mingw* | pw32*)
+ cygwin* | mingw* | pw32* | cegcc*)
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
- hardcode_libdir_flag_spec=' '
- allow_undefined_flag=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- old_archive_from_new_cmds='true'
- # FIXME: Should let the user specify the lib program.
- old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
- fix_srcfile_path='`cygpath -w "$srcfile"`'
- enable_shared_with_static_runtimes=yes
+ case $cc_basename in
+ cl*)
+ # Native MSVC
+ hardcode_libdir_flag_spec=' '
+ allow_undefined_flag=unsupported
+ always_export_symbols=yes
+ file_list_spec='@'
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
+ archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
+ else
+ sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
+ # The linker will not automatically build a static lib if we build a DLL.
+ # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
+ enable_shared_with_static_runtimes=yes
+ exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
+ # Don't use ranlib
+ old_postinstall_cmds='chmod 644 $oldlib'
+ postlink_cmds='lt_outputfile="@OUTPUT@"~
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile="$lt_outputfile.exe"
+ lt_tool_outputfile="$lt_tool_outputfile.exe"
+ ;;
+ esac~
+ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
+ ;;
+ *)
+ # Assume MSVC wrapper
+ hardcode_libdir_flag_spec=' '
+ allow_undefined_flag=unsupported
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ old_archive_from_new_cmds='true'
+ # FIXME: Should let the user specify the lib program.
+ old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
+ enable_shared_with_static_runtimes=yes
+ ;;
+ esac
;;
darwin* | rhapsody*)
hardcode_direct=no
hardcode_automatic=yes
hardcode_shlibpath_var=unsupported
- whole_archive_flag_spec=''
+ if test "$lt_cv_ld_force_load" = "yes"; then
+ whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+
+ else
+ whole_archive_flag_spec=''
+ fi
link_all_deplibs=yes
allow_undefined_flag="$_lt_dar_allow_undefined"
- if test "$GCC" = "yes"; then
- output_verbose_link_cmd=echo
+ case $cc_basename in
+ ifort*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test "$_lt_dar_can_shared" = "yes"; then
+ output_verbose_link_cmd=func_echo_all
archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
hardcode_shlibpath_var=no
;;
- freebsd1*)
- ld_shlibs=no
- ;;
-
# FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
# support. Future versions do this automatically, but an explicit c++rt0.o
# does not break anything, and helps significantly (at the cost of a little
;;
# Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
+ freebsd2.*)
archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
hardcode_direct=yes
hardcode_minus_L=yes
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
freebsd* | dragonfly*)
- archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
hardcode_shlibpath_var=no
hpux9*)
if test "$GCC" = yes; then
- archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
else
archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
fi
;;
hpux10*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
else
archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
if test "$with_gnu_ld" = no; then
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_flag_spec_ld='+b $libdir'
hardcode_libdir_separator=:
hardcode_direct=yes
hardcode_direct_absolute=yes
;;
hpux11*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
case $host_cpu in
hppa*64*)
archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
- archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
else
archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+
+ # Older versions of the 11.00 compiler do not understand -b yet
+ # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
+$as_echo_n "checking if $CC understands -b... " >&6; }
+if ${lt_cv_prog_compiler__b+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler__b=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -b"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler__b=yes
+ fi
+ else
+ lt_cv_prog_compiler__b=yes
+ fi
+ fi
+ $RM -r conftest*
+ LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
+$as_echo "$lt_cv_prog_compiler__b" >&6; }
+
+if test x"$lt_cv_prog_compiler__b" = xyes; then
+ archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+else
+ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+fi
+
;;
esac
fi
irix5* | irix6* | nonstopux*)
if test "$GCC" = yes; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
# Try to use the -exported_symbol ld option, if it does not
# work, assume that -exports_file does not work either and
# implicitly export all symbols.
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
- cat >conftest.$ac_ext <<_ACEOF
-int foo(void) {}
+ # This should be the same for all languages, so no per-tag cache variable.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
+$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
+if ${lt_cv_irix_exported_symbol+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int foo (void) { return 0; }
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
-
+if ac_fn_c_try_link "$LINENO"; then :
+ lt_cv_irix_exported_symbol=yes
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
+ lt_cv_irix_exported_symbol=no
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$save_LDFLAGS"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
+$as_echo "$lt_cv_irix_exported_symbol" >&6; }
+ if test "$lt_cv_irix_exported_symbol" = yes; then
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+ fi
else
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
fi
archive_cmds_need_lc='no'
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
link_all_deplibs=yes
;;
- netbsd*)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
else
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
allow_undefined_flag=unsupported
- archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+ archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
;;
osf3*)
if test "$GCC" = yes; then
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
else
allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
fi
archive_cmds_need_lc='no'
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
osf4* | osf5*) # as osf3* with the addition of -msym flag
if test "$GCC" = yes; then
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
else
allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
- $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
# Both c and cxx compiler support -rpath directly
hardcode_libdir_flag_spec='-rpath $libdir'
no_undefined_flag=' -z defs'
if test "$GCC" = yes; then
wlarc='${wl}'
- archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
else
case `$CC -V 2>&1` in
*"Compilers 5.0"*)
fi
fi
-{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5
-echo "${ECHO_T}$ld_shlibs" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
+$as_echo "$ld_shlibs" >&6; }
test "$ld_shlibs" = no && can_build_shared=no
with_gnu_ld=$with_gnu_ld
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
- { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
- $RM conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
+if ${lt_cv_archive_cmds_need_lc+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ $RM conftest*
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl
- pic_flag=$lt_prog_compiler_pic
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag
- allow_undefined_flag=
- if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\"") >&5
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$lt_prog_compiler_wl
+ pic_flag=$lt_prog_compiler_pic
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$allow_undefined_flag
+ allow_undefined_flag=
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
(eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
- then
- archive_cmds_need_lc=no
- else
- archive_cmds_need_lc=yes
- fi
- allow_undefined_flag=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $RM conftest*
- { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
-echo "${ECHO_T}$archive_cmds_need_lc" >&6; }
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ then
+ lt_cv_archive_cmds_need_lc=no
+ else
+ lt_cv_archive_cmds_need_lc=yes
+ fi
+ allow_undefined_flag=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
+$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
+ archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
;;
esac
fi
-
-
-
-
-
- { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
if test "$GCC" = yes; then
case $host_os in
darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
*) lt_awk_arg="/^libraries:/" ;;
esac
- lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
+ case $host_os in
+ mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
+ *) lt_sed_strip_eq="s,=/,/,g" ;;
+ esac
+ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
+ case $lt_search_path_spec in
+ *\;*)
# if the path contains ";" then we assume it to be the separator
# otherwise default to the standard path separator (i.e. ":") - it is
# assumed that no part of a normal pathname contains ";" but that should
# okay in the real world where ";" in dirpaths is itself problematic.
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
- else
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
+ ;;
+ *)
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ esac
# Ok, now we have the path, separated by spaces, we can step through it
# and add multilib dir if necessary.
lt_tmp_lt_search_path_spec=
lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
fi
done
- lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
+ lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
BEGIN {RS=" "; FS="/|\n";} {
lt_foo="";
lt_count=0;
if (lt_foo != "") { lt_freq[lt_foo]++; }
if (lt_freq[lt_foo] == 1) { print lt_foo; }
}'`
- sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
+ # AWK program above erroneously prepends '/' to C:/dos/paths
+ # for these hosts.
+ case $host_os in
+ mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
+ $SED 's,/\([A-Za-z]:\),\1,g'` ;;
+ esac
+ sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
else
sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
fi
case $host_os in
aix3*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
shlibpath_var=LIBPATH
;;
aix[4-9]*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
hardcode_into_libs=yes
m68k)
library_names_spec='$libname.ixlibrary $libname.a'
# Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
;;
esac
;;
;;
bsdi[45]*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
# libtool to hard-code these into programs
;;
-cygwin* | mingw* | pw32*)
+cygwin* | mingw* | pw32* | cegcc*)
version_type=windows
shrext_cmds=".dll"
need_version=no
need_lib_prefix=no
- case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
+ case $GCC,$cc_basename in
+ yes,*)
+ # gcc
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \${file}`~
cygwin*)
# Cygwin DLLs use 'cyg' prefix rather than 'lib'
soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
;;
- mingw*)
+ mingw* | cegcc*)
# MinGW DLLs use traditional 'lib' prefix
soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH printed by
- # mingw gcc, but we are running on Cygwin. Gcc prints its search
- # path with ; separators, and with drive letters. We can handle the
- # drive letters (cygwin fileutils understands them), so leave them,
- # especially as we might pass files found there to a mingw objdump,
- # which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
;;
pw32*)
# pw32 DLLs use 'pw' prefix rather than 'lib'
library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
;;
esac
+ dynamic_linker='Win32 ld.exe'
+ ;;
+
+ *,cl*)
+ # Native MSVC
+ libname_spec='$name'
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ library_names_spec='${libname}.dll.lib'
+
+ case $build_os in
+ mingw*)
+ sys_lib_search_path_spec=
+ lt_save_ifs=$IFS
+ IFS=';'
+ for lt_path in $LIB
+ do
+ IFS=$lt_save_ifs
+ # Let DOS variable expansion print the short 8.3 style file name.
+ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
+ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+ done
+ IFS=$lt_save_ifs
+ # Convert to MSYS style.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
+ ;;
+ cygwin*)
+ # Convert to unix form, then to dos form, then back to unix form
+ # but this time dos style (no spaces!) so that the unix form looks
+ # like /cygdrive/c/PROGRA~1:/cygdr...
+ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
+ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ *)
+ sys_lib_search_path_spec="$LIB"
+ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
+ # It is most probably a Windows format PATH.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ # FIXME: find the short name or the path components, as spaces are
+ # common. (e.g. "Program Files" -> "PROGRA~1")
+ ;;
+ esac
+
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+ dynamic_linker='Win32 link.exe'
;;
*)
+ # Assume MSVC wrapper
library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ dynamic_linker='Win32 ld.exe'
;;
esac
- dynamic_linker='Win32 ld.exe'
# FIXME: first we should search . and the directory the executable is in
shlibpath_var=PATH
;;
;;
dgux*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
;;
-freebsd1*)
- dynamic_linker=no
- ;;
-
freebsd* | dragonfly*)
# DragonFly does not have aout. When/if they implement a new
# versioning mechanism, adjust this.
objformat=`/usr/bin/objformat`
else
case $host_os in
- freebsd[123]*) objformat=aout ;;
+ freebsd[23].*) objformat=aout ;;
*) objformat=elf ;;
esac
fi
esac
shlibpath_var=LD_LIBRARY_PATH
case $host_os in
- freebsd2*)
+ freebsd2.*)
shlibpath_overrides_runpath=yes
;;
freebsd3.[01]* | freebsdelf3.[01]*)
esac
;;
-gnu*)
- version_type=linux
+haiku*)
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
+ dynamic_linker="$host_os runtime_loader"
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_var=LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
hardcode_into_libs=yes
;;
soname_spec='${libname}${release}${shared_ext}$major'
;;
esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
+ # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
postinstall_cmds='chmod 555 $lib'
+ # or fails outright, so override atomically:
+ install_override_mode=555
;;
interix[3-9]*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
nonstopux*) version_type=nonstopux ;;
*)
if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
else
version_type=irix
fi ;;
dynamic_linker=no
;;
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
- version_type=linux
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
+
# Some binutils ld are patched to set DT_RUNPATH
- save_LDFLAGS=$LDFLAGS
- save_libdir=$libdir
- eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
- LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_shlibpath_overrides_runpath=no
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
+ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then
- shlibpath_overrides_runpath=yes
+if ac_fn_c_try_link "$LINENO"; then :
+ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
+ lt_cv_shlibpath_overrides_runpath=yes
fi
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
fi
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS=$save_LDFLAGS
- libdir=$save_libdir
+ shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
# This implies no fast_install, which is unacceptable.
# Some rework will be needed to allow for fast_install
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
fi
dynamic_linker='GNU/Linux ld.so'
;;
+netbsdelf*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='NetBSD ld.elf_so'
+ ;;
+
netbsd*)
version_type=sunos
need_lib_prefix=no
;;
newsos6)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
;;
solaris*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
;;
sysv4 | sysv4.3*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LD_LIBRARY_PATH
sysv4*MP*)
if test -d /usr/nec ;then
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
soname_spec='$libname${shared_ext}.$major'
shlibpath_var=LD_LIBRARY_PATH
tpf*)
# TPF is a cross-target only. Preferred cross-host = GNU/Linux.
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_name_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
;;
uts4*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LD_LIBRARY_PATH
dynamic_linker=no
;;
esac
-{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
test "$dynamic_linker" = no && can_build_shared=no
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
- { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
hardcode_action=
if test -n "$hardcode_libdir_flag_spec" ||
test -n "$runpath_var" ||
# directories.
hardcode_action=unsupported
fi
-{ echo "$as_me:$LINENO: result: $hardcode_action" >&5
-echo "${ECHO_T}$hardcode_action" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
+$as_echo "$hardcode_action" >&6; }
if test "$hardcode_action" = relink ||
test "$inherit_rpath" = yes; then
lt_cv_dlopen_self=yes
;;
- mingw* | pw32*)
+ mingw* | pw32* | cegcc*)
lt_cv_dlopen="LoadLibrary"
lt_cv_dlopen_libs=
;;
darwin*)
# if libdl is installed we need to link against it
- { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if ${ac_cv_lib_dl_dlopen+:} false; then :
+ $as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+if ac_fn_c_try_link "$LINENO"; then :
ac_cv_lib_dl_dlopen=yes
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_dl_dlopen=no
+ ac_cv_lib_dl_dlopen=no
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
-if test $ac_cv_lib_dl_dlopen = yes; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
else
;;
*)
- { echo "$as_me:$LINENO: checking for shl_load" >&5
-echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; }
-if test "${ac_cv_func_shl_load+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define shl_load innocuous_shl_load
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char shl_load (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef shl_load
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_shl_load || defined __stub___shl_load
-choke me
-#endif
-
-int
-main ()
-{
-return shl_load ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_func_shl_load=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_func_shl_load=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
-echo "${ECHO_T}$ac_cv_func_shl_load" >&6; }
-if test $ac_cv_func_shl_load = yes; then
+ ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
+if test "x$ac_cv_func_shl_load" = xyes; then :
lt_cv_dlopen="shl_load"
else
- { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
-echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; }
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
+$as_echo_n "checking for shl_load in -ldld... " >&6; }
+if ${ac_cv_lib_dld_shl_load+:} false; then :
+ $as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldld $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+if ac_fn_c_try_link "$LINENO"; then :
ac_cv_lib_dld_shl_load=yes
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_dld_shl_load=no
+ ac_cv_lib_dld_shl_load=no
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; }
-if test $ac_cv_lib_dld_shl_load = yes; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
+$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
+if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
else
- { echo "$as_me:$LINENO: checking for dlopen" >&5
-echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; }
-if test "${ac_cv_func_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define dlopen innocuous_dlopen
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char dlopen (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef dlopen
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_dlopen || defined __stub___dlopen
-choke me
-#endif
-
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_func_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_func_dlopen=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
-echo "${ECHO_T}$ac_cv_func_dlopen" >&6; }
-if test $ac_cv_func_dlopen = yes; then
+ ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
+if test "x$ac_cv_func_dlopen" = xyes; then :
lt_cv_dlopen="dlopen"
else
- { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if ${ac_cv_lib_dl_dlopen+:} false; then :
+ $as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+if ac_fn_c_try_link "$LINENO"; then :
ac_cv_lib_dl_dlopen=yes
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_dl_dlopen=no
+ ac_cv_lib_dl_dlopen=no
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
-if test $ac_cv_lib_dl_dlopen = yes; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
else
- { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
-echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; }
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
+$as_echo_n "checking for dlopen in -lsvld... " >&6; }
+if ${ac_cv_lib_svld_dlopen+:} false; then :
+ $as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-lsvld $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+if ac_fn_c_try_link "$LINENO"; then :
ac_cv_lib_svld_dlopen=yes
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_svld_dlopen=no
+ ac_cv_lib_svld_dlopen=no
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; }
-if test $ac_cv_lib_svld_dlopen = yes; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
+$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
+if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
else
- { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
-echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; }
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
+$as_echo_n "checking for dld_link in -ldld... " >&6; }
+if ${ac_cv_lib_dld_dld_link+:} false; then :
+ $as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldld $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+if ac_fn_c_try_link "$LINENO"; then :
ac_cv_lib_dld_dld_link=yes
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_dld_dld_link=no
+ ac_cv_lib_dld_dld_link=no
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; }
-if test $ac_cv_lib_dld_dld_link = yes; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
+$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
+if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
fi
save_LIBS="$LIBS"
LIBS="$lt_cv_dlopen_libs $LIBS"
- { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
-echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; }
-if test "${lt_cv_dlopen_self+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
+$as_echo_n "checking whether a program can dlopen itself... " >&6; }
+if ${lt_cv_dlopen_self+:} false; then :
+ $as_echo_n "(cached) " >&6
else
if test "$cross_compiling" = yes; then :
lt_cv_dlopen_self=cross
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11770 "configure"
+#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
# endif
#endif
-#ifdef __cplusplus
-extern "C" void exit (int);
+/* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
#endif
-void fnord() { int i=42;}
+int fnord () { return 42; }
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
if (self)
{
if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ else
+ {
+ if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ else puts (dlerror ());
+ }
/* dlclose (self); */
}
else
puts (dlerror ());
- exit (status);
+ return status;
}
_LT_EOF
- if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
(./conftest; exit; ) >&5 2>/dev/null
lt_status=$?
case x$lt_status in
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
+$as_echo "$lt_cv_dlopen_self" >&6; }
if test "x$lt_cv_dlopen_self" = xyes; then
wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
- { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
-echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; }
-if test "${lt_cv_dlopen_self_static+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
+$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
+if ${lt_cv_dlopen_self_static+:} false; then :
+ $as_echo_n "(cached) " >&6
else
if test "$cross_compiling" = yes; then :
lt_cv_dlopen_self_static=cross
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11870 "configure"
+#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
# endif
#endif
-#ifdef __cplusplus
-extern "C" void exit (int);
+/* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
#endif
-void fnord() { int i=42;}
+int fnord () { return 42; }
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
if (self)
{
if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ else
+ {
+ if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ else puts (dlerror ());
+ }
/* dlclose (self); */
}
else
puts (dlerror ());
- exit (status);
+ return status;
}
_LT_EOF
- if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
(./conftest; exit; ) >&5 2>/dev/null
lt_status=$?
case x$lt_status in
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
+$as_echo "$lt_cv_dlopen_self_static" >&6; }
fi
CPPFLAGS="$save_CPPFLAGS"
striplib=
old_striplib=
-{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
-echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
+$as_echo_n "checking whether stripping libraries is possible... " >&6; }
if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
else
# FIXME - insert some real tests, host_os isn't really good enough
case $host_os in
if test -n "$STRIP" ; then
striplib="$STRIP -x"
old_striplib="$STRIP -S"
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
;;
*)
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
;;
esac
fi
# Report which library types will actually be built
- { echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; }
- { echo "$as_me:$LINENO: result: $can_build_shared" >&5
-echo "${ECHO_T}$can_build_shared" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
+$as_echo_n "checking if libtool supports shared libraries... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
+$as_echo "$can_build_shared" >&6; }
- { echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
+$as_echo_n "checking whether to build shared libraries... " >&6; }
test "$can_build_shared" = "no" && enable_shared=no
- # On AIX, shared libraries and static libraries use the same namespace, and
- # are all built from PIC.
- case $host_os in
- aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+
+ aix[4-9]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
+$as_echo "$enable_shared" >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
+$as_echo_n "checking whether to build static libraries... " >&6; }
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
+$as_echo "$enable_static" >&6; }
+
+
+
+
+fi
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+CC="$lt_save_CC"
+
+ if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+ ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+ (test "X$CXX" != "Xg++"))) ; then
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
+$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
+if test -z "$CXXCPP"; then
+ if ${ac_cv_prog_CXXCPP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ # Double quotes because CXXCPP needs to be expanded
+ for CXXCPP in "$CXX -E" "/lib/cpp"
+ do
+ ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+ break
+fi
- aix[4-9]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
- esac
- { echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$enable_shared" >&6; }
+ done
+ ac_cv_prog_CXXCPP=$CXXCPP
- { echo "$as_me:$LINENO: checking whether to build static libraries" >&5
-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; }
- # Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
- { echo "$as_me:$LINENO: result: $enable_static" >&5
-echo "${ECHO_T}$enable_static" >&6; }
+fi
+ CXXCPP=$ac_cv_prog_CXXCPP
+else
+ ac_cv_prog_CXXCPP=$CXXCPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
+$as_echo "$CXXCPP" >&6; }
+ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
fi
+
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-CC="$lt_save_CC"
-
+else
+ _lt_caught_CXX_error=yes
+fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
hardcode_direct_CXX=no
hardcode_direct_absolute_CXX=no
hardcode_libdir_flag_spec_CXX=
-hardcode_libdir_flag_spec_ld_CXX=
hardcode_libdir_separator_CXX=
hardcode_minus_L_CXX=no
hardcode_shlibpath_var_CXX=unsupported
module_expsym_cmds_CXX=
link_all_deplibs_CXX=unknown
old_archive_cmds_CXX=$old_archive_cmds
+reload_flag_CXX=$reload_flag
+reload_cmds_CXX=$reload_cmds
no_undefined_flag_CXX=
whole_archive_flag_spec_CXX=
enable_shared_with_static_runtimes_CXX=no
# Allow CC to be a program name with arguments.
lt_save_CC=$CC
+ lt_save_CFLAGS=$CFLAGS
lt_save_LD=$LD
lt_save_GCC=$GCC
GCC=$GXX
fi
test -z "${LDCXX+set}" || LD=$LDCXX
CC=${CXX-"c++"}
+ CFLAGS=$CXXFLAGS
compiler=$CC
compiler_CXX=$CC
for cc_temp in $compiler""; do
*) break;;
esac
done
-cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
if test -n "$compiler"; then
# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then
+if test "${with_gnu_ld+set}" = set; then :
withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
else
with_gnu_ld=no
ac_prog=ld
if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
- { echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return which upsets mingw
;;
esac
elif test "$with_gnu_ld" = yes; then
- { echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
else
- { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
fi
-if test "${lt_cv_path_LD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+if ${lt_cv_path_LD+:} false; then :
+ $as_echo_n "(cached) " >&6
else
if test -z "$LD"; then
lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
LD="$lt_cv_path_LD"
if test -n "$LD"; then
- { echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+$as_echo "$LD" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
-test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
- { (exit 1); exit 1; }; }
-{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if ${lt_cv_prog_gnu_ld+:} false; then :
+ $as_echo_n "(cached) " >&6
else
# I'd rather use --version here, but apparently some GNU lds only accept -v.
case `$LD -v 2>&1 </dev/null` in
;;
esac
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
with_gnu_ld=$lt_cv_prog_gnu_ld
# Check if GNU C++ uses GNU ld as the underlying linker, since the
# archiving commands below assume that GNU ld is being used.
if test "$with_gnu_ld" = yes; then
- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
else
GXX=no
fi
# PORTME: fill in a description of your system's C++ link characteristics
- { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
ld_shlibs_CXX=yes
case $host_os in
aix3*)
fi
fi
+ export_dynamic_flag_spec_CXX='${wl}-bexpall'
# It seems that -bexpall does not export symbols beginning with
# underscore (_), so it is better to generate a list of symbols to
# export.
allow_undefined_flag_CXX='-berok'
# Determine the default libpath from the value encoded in an empty
# executable.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ if test "${lt_cv_aix_libpath+set}" = set; then
+ aix_libpath=$lt_cv_aix_libpath
+else
+ if ${lt_cv_aix_libpath__CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_cxx_try_link "$LINENO"; then :
+ lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\([^ ]*\) *$/\1/
+ p
+ }
+ }'
+ lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ # Check for a 64-bit object if we didn't find anything.
+ if test -z "$lt_cv_aix_libpath__CXX"; then
+ lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test -z "$lt_cv_aix_libpath__CXX"; then
+ lt_cv_aix_libpath__CXX="/usr/lib:/lib"
+ fi
fi
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+ aix_libpath=$lt_cv_aix_libpath__CXX
+fi
hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
else
if test "$host_cpu" = ia64; then
hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
else
# Determine the default libpath from the value encoded in an
# empty executable.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ if test "${lt_cv_aix_libpath+set}" = set; then
+ aix_libpath=$lt_cv_aix_libpath
+else
+ if ${lt_cv_aix_libpath__CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_cxx_try_link "$LINENO"; then :
+ lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\([^ ]*\) *$/\1/
+ p
+ }
+ }'
+ lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ # Check for a 64-bit object if we didn't find anything.
+ if test -z "$lt_cv_aix_libpath__CXX"; then
+ lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test -z "$lt_cv_aix_libpath__CXX"; then
+ lt_cv_aix_libpath__CXX="/usr/lib:/lib"
+ fi
fi
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+ aix_libpath=$lt_cv_aix_libpath__CXX
+fi
hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
# -berok will link without error, but may produce a broken library.
no_undefined_flag_CXX=' ${wl}-bernotok'
allow_undefined_flag_CXX=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec_CXX='$convenience'
+ if test "$with_gnu_ld" = yes; then
+ # We only use this code for GNU lds that support --whole-archive.
+ whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ else
+ # Exported symbols can be pulled into shared objects from archives
+ whole_archive_flag_spec_CXX='$convenience'
+ fi
archive_cmds_need_lc_CXX=yes
# This is similar to how AIX traditionally builds its shared
# libraries.
esac
;;
- cygwin* | mingw* | pw32*)
- # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec_CXX='-L$libdir'
- allow_undefined_flag_CXX=unsupported
- always_export_symbols_CXX=no
- enable_shared_with_static_runtimes_CXX=yes
-
- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- ld_shlibs_CXX=no
- fi
- ;;
+ cygwin* | mingw* | pw32* | cegcc*)
+ case $GXX,$cc_basename in
+ ,cl* | no,cl*)
+ # Native MSVC
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec_CXX=' '
+ allow_undefined_flag_CXX=unsupported
+ always_export_symbols_CXX=yes
+ file_list_spec_CXX='@'
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
+ archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
+ else
+ $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
+ # The linker will not automatically build a static lib if we build a DLL.
+ # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true'
+ enable_shared_with_static_runtimes_CXX=yes
+ # Don't use ranlib
+ old_postinstall_cmds_CXX='chmod 644 $oldlib'
+ postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile="$lt_outputfile.exe"
+ lt_tool_outputfile="$lt_tool_outputfile.exe"
+ ;;
+ esac~
+ func_to_tool_file "$lt_outputfile"~
+ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
+ ;;
+ *)
+ # g++
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
+ # as there is no search path for DLLs.
+ hardcode_libdir_flag_spec_CXX='-L$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-all-symbols'
+ allow_undefined_flag_CXX=unsupported
+ always_export_symbols_CXX=no
+ enable_shared_with_static_runtimes_CXX=yes
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ ld_shlibs_CXX=no
+ fi
+ ;;
+ esac
+ ;;
darwin* | rhapsody*)
hardcode_direct_CXX=no
hardcode_automatic_CXX=yes
hardcode_shlibpath_var_CXX=unsupported
- whole_archive_flag_spec_CXX=''
+ if test "$lt_cv_ld_force_load" = "yes"; then
+ whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+
+ else
+ whole_archive_flag_spec_CXX=''
+ fi
link_all_deplibs_CXX=yes
allow_undefined_flag_CXX="$_lt_dar_allow_undefined"
- if test "$GCC" = "yes"; then
- output_verbose_link_cmd=echo
+ case $cc_basename in
+ ifort*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test "$_lt_dar_can_shared" = "yes"; then
+ output_verbose_link_cmd=func_echo_all
archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
esac
;;
- freebsd[12]*)
+ freebsd2.*)
# C++ shared libraries reported to be fairly broken before
# switch to ELF
ld_shlibs_CXX=no
ld_shlibs_CXX=yes
;;
- gnu*)
+ haiku*)
+ archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ link_all_deplibs_CXX=yes
;;
hpux9*)
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
;;
*)
if test "$GXX" = yes; then
- archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
else
# FIXME: insert proper C++ library support
ld_shlibs_CXX=no
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
;;
*)
if test "$GXX" = yes; then
archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
ia64*)
- archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
*)
- archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
esac
fi
case $cc_basename in
CC*)
# SGI C++
- archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
# Archives containing C++ object files must be created using
# "CC -ar", where "CC" is the IRIX C++ compiler. This is
*)
if test "$GXX" = yes; then
if test "$with_gnu_ld" = no; then
- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
else
- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
+ archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
fi
fi
link_all_deplibs_CXX=yes
inherit_rpath_CXX=yes
;;
- linux* | k*bsd*-gnu)
+ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
case $cc_basename in
KCC*)
# Kuck and Associates, Inc. (KAI) C++ Compiler
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
pgCC* | pgcpp*)
# Portland Group C++ compiler
case `$CC -V` in
- *pgCC\ [1-5]* | *pgcpp\ [1-5]*)
+ *pgCC\ [1-5].* | *pgcpp\ [1-5].*)
prelink_cmds_CXX='tpldir=Template.dir~
rm -rf $tpldir~
$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
- compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
+ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
old_archive_cmds_CXX='tpldir=Template.dir~
rm -rf $tpldir~
$CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
- $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
+ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
$RANLIB $oldlib'
archive_cmds_CXX='tpldir=Template.dir~
rm -rf $tpldir~
$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
archive_expsym_cmds_CXX='tpldir=Template.dir~
rm -rf $tpldir~
$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
;;
- *) # Version 6 will use weak symbols
+ *) # Version 6 and above use weak symbols
archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
;;
hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
- whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
;;
cxx*)
# Compaq C++
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
;;
- xl*)
+ xl* | mpixl* | bgxl*)
# IBM XL 8.0 on PPC, with GNU ld
hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
hardcode_libdir_flag_spec_CXX='-R$libdir'
- whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
compiler_needs_object_CXX=yes
# Not sure whether something based on
# $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
# would be better.
- output_verbose_link_cmd='echo'
+ output_verbose_link_cmd='func_echo_all'
# Archives containing C++ object files must be created using
# "CC -xar", where "CC" is the Sun C++ compiler. This is
export_dynamic_flag_spec_CXX='${wl}-E'
whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
fi
- output_verbose_link_cmd=echo
+ output_verbose_link_cmd=func_echo_all
else
ld_shlibs_CXX=no
fi
case $host in
osf3*)
allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
;;
*)
allow_undefined_flag_CXX=' -expect_unresolved \*'
- archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
echo "-hidden">> $lib.exp~
- $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
+ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
$RM $lib.exp'
hardcode_libdir_flag_spec_CXX='-rpath $libdir'
;;
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
;;
*)
if test "$GXX" = yes && test "$with_gnu_ld" = no; then
allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
case $host in
osf3*)
- archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
;;
*)
- archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ archive_cmds_CXX='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
;;
esac
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
else
# FIXME: insert proper C++ library support
solaris*)
case $cc_basename in
- CC*)
+ CC* | sunCC*)
# Sun C++ 4.2, 5.x and Centerline C++
archive_cmds_need_lc_CXX=yes
no_undefined_flag_CXX=' -zdefs'
esac
link_all_deplibs_CXX=yes
- output_verbose_link_cmd='echo'
+ output_verbose_link_cmd='func_echo_all'
# Archives containing C++ object files must be created using
# "CC -xar", where "CC" is the Sun C++ compiler. This is
if test "$GXX" = yes && test "$with_gnu_ld" = no; then
no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
if $CC --version | $GREP -v '^2\.7' > /dev/null; then
- archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+ $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
else
# g++ 2.7 appears to require `-G' NOT `-shared' on this
# platform.
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
- output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+ output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
fi
hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
CC*)
archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~
+ '"$old_archive_cmds_CXX"
+ reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~
+ '"$reload_cmds_CXX"
;;
*)
archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
- { echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
-echo "${ECHO_T}$ld_shlibs_CXX" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
+$as_echo "$ld_shlibs_CXX" >&6; }
test "$ld_shlibs_CXX" = no && can_build_shared=no
GCC_CXX="$GXX"
};
_LT_EOF
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+
+_lt_libdeps_save_CFLAGS=$CFLAGS
+case "$CC $CFLAGS " in #(
+*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
+*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
+*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
+esac
+
+if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
# Parse the compiler output and extract the necessary
# objects, libraries and library flags.
pre_test_object_deps_done=no
for p in `eval "$output_verbose_link_cmd"`; do
- case $p in
+ case ${prev}${p} in
-L* | -R* | -l*)
# Some compilers place space between "-{L,R}" and the path.
test $p = "-R"; then
prev=$p
continue
- else
- prev=
fi
+ # Expand the sysroot to ease extracting the directories later.
+ if test -z "$prev"; then
+ case $p in
+ -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
+ -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
+ -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
+ esac
+ fi
+ case $p in
+ =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
+ esac
if test "$pre_test_object_deps_done" = no; then
- case $p in
- -L* | -R*)
+ case ${prev} in
+ -L | -R)
# Internal compiler library paths should come after those
# provided the user. The postdeps already come after the
# user supplied libs so there is no need to process them.
postdeps_CXX="${postdeps_CXX} ${prev}${p}"
fi
fi
+ prev=
;;
+ *.lto.$objext) ;; # Ignore GCC LTO objects
*.$objext)
# This assumes that the test object file only shows up
# once in the compiler output.
fi
$RM -f confest.$objext
+CFLAGS=$_lt_libdeps_save_CFLAGS
# PORTME: override above test on systems where it is broken
case $host_os in
solaris*)
case $cc_basename in
- CC*)
+ CC* | sunCC*)
# The more standards-conforming stlport4 library is
# incompatible with the Cstd library. Avoid specifying
# it if it's in CXXFLAGS. Ignore libCrun as
lt_prog_compiler_pic_CXX=
lt_prog_compiler_static_CXX=
-{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
# C++ specific cases for pic, static, wl, etc.
if test "$GXX" = yes; then
beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes.
;;
- mingw* | cygwin* | os2* | pw32*)
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
# Although the cygwin gcc ignores -fPIC, still need this for old-style
# DJGPP does not support shared libraries at all
lt_prog_compiler_pic_CXX=
;;
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ lt_prog_compiler_static_CXX=
+ ;;
interix[3-9]*)
# Interix 3.x gcc -fpic/-fPIC options generate broken code.
# Instead, we relocate shared libraries at runtime.
fi
;;
hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
case $host_cpu in
- hppa*64*|ia64*)
+ hppa*64*)
;;
*)
lt_prog_compiler_pic_CXX='-fPIC'
;;
esac
;;
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
+ ;;
dgux*)
case $cc_basename in
ec++*)
;;
esac
;;
- linux* | k*bsd*-gnu)
+ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
case $cc_basename in
KCC*)
# KAI C++ Compiler
lt_prog_compiler_wl_CXX='--backend -Wl,'
lt_prog_compiler_pic_CXX='-fPIC'
;;
- icpc* | ecpc* )
- # Intel C++
+ ecpc* )
+ # old Intel C++ for x86_64 which still supported -KPIC.
lt_prog_compiler_wl_CXX='-Wl,'
lt_prog_compiler_pic_CXX='-KPIC'
lt_prog_compiler_static_CXX='-static'
;;
+ icpc* )
+ # Intel C++, used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_pic_CXX='-fPIC'
+ lt_prog_compiler_static_CXX='-static'
+ ;;
pgCC* | pgcpp*)
# Portland Group C++ compiler
lt_prog_compiler_wl_CXX='-Wl,'
lt_prog_compiler_pic_CXX=
lt_prog_compiler_static_CXX='-non_shared'
;;
- xlc* | xlC*)
- # IBM XL 8.0 on PPC
+ xlc* | xlC* | bgxl[cC]* | mpixl[cC]*)
+ # IBM XL 8.0, 9.0 on PPC and BlueGene
lt_prog_compiler_wl_CXX='-Wl,'
lt_prog_compiler_pic_CXX='-qpic'
lt_prog_compiler_static_CXX='-qstaticlink'
;;
esac
;;
- netbsd*)
+ netbsd* | netbsdelf*-gnu)
;;
*qnx* | *nto*)
# QNX uses GNU C++, but need to define -shared option too, otherwise
;;
solaris*)
case $cc_basename in
- CC*)
+ CC* | sunCC*)
# Sun C++ 4.2, 5.x and Centerline C++
lt_prog_compiler_pic_CXX='-KPIC'
lt_prog_compiler_static_CXX='-Bstatic'
lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
;;
esac
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; }
-
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+if ${lt_cv_prog_compiler_pic_CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; }
+lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX
#
# Check to make sure the PIC flag actually works.
#
if test -n "$lt_prog_compiler_pic_CXX"; then
- { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; }
+if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_pic_works_CXX=no
ac_outfile=conftest.$ac_objext
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:13873: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:13877: \$? = $ac_status" >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
lt_cv_prog_compiler_pic_works_CXX=yes
$RM conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_pic_works_CXX" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; }
if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then
case $lt_prog_compiler_pic_CXX in
+
+
#
# Check to make sure the static flag actually works.
#
wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
-{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if ${lt_cv_prog_compiler_static_works_CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_static_works_CXX=no
save_LDFLAGS="$LDFLAGS"
if test -s conftest.err; then
# Append any errors to the config.log.
cat conftest.err 1>&5
- $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if diff conftest.exp conftest.er2 >/dev/null; then
lt_cv_prog_compiler_static_works_CXX=yes
LDFLAGS="$save_LDFLAGS"
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_CXX" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_static_works_CXX" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; }
if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then
:
- { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if ${lt_cv_prog_compiler_c_o_CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_c_o_CXX=no
$RM -r conftest 2>/dev/null
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:13972: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:13976: \$? = $ac_status" >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
$SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
lt_cv_prog_compiler_c_o_CXX=yes
$RM conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
- { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if ${lt_cv_prog_compiler_c_o_CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_c_o_CXX=no
$RM -r conftest 2>/dev/null
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:14024: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:14028: \$? = $ac_status" >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
$SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
lt_cv_prog_compiler_c_o_CXX=yes
$RM conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
hard_links="nottested"
if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
# do not overwrite the value of need_locks provided by the user
- { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
hard_links=yes
$RM conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
- { echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
if test "$hard_links" = no; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
need_locks=warn
fi
else
- { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
case $host_os in
aix[4-9]*)
# If we're using GNU nm, then we don't want the "-C" option.
# -C means demangle to AIX nm, but means don't demangle with GNU nm
+ # Also, AIX nm treats weak defined symbols like other global defined
+ # symbols, whereas GNU nm marks them as "W".
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
else
export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
fi
;;
pw32*)
export_symbols_cmds_CXX="$ltdll_cmds"
- ;;
- cygwin* | mingw*)
- export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
- ;;
+ ;;
+ cygwin* | mingw* | cegcc*)
+ case $cc_basename in
+ cl*)
+ exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+ ;;
+ *)
+ export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
+ exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
+ ;;
+ esac
+ ;;
+ linux* | k*bsd*-gnu | gnu*)
+ link_all_deplibs_CXX=no
+ ;;
*)
export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- ;;
+ ;;
esac
- exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
-echo "${ECHO_T}$ld_shlibs_CXX" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
+$as_echo "$ld_shlibs_CXX" >&6; }
test "$ld_shlibs_CXX" = no && can_build_shared=no
with_gnu_ld_CXX=$with_gnu_ld
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
- { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
- $RM conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
+if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ $RM conftest*
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl_CXX
- pic_flag=$lt_prog_compiler_pic_CXX
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
- allow_undefined_flag_CXX=
- if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\"") >&5
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$lt_prog_compiler_wl_CXX
+ pic_flag=$lt_prog_compiler_pic_CXX
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
+ allow_undefined_flag_CXX=
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
(eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
- then
- archive_cmds_need_lc_CXX=no
- else
- archive_cmds_need_lc_CXX=yes
- fi
- allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $RM conftest*
- { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; }
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ then
+ lt_cv_archive_cmds_need_lc_CXX=no
+ else
+ lt_cv_archive_cmds_need_lc_CXX=yes
+ fi
+ allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5
+$as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; }
+ archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX
;;
esac
fi
-
-
- { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
library_names_spec=
libname_spec='lib$name'
case $host_os in
aix3*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
shlibpath_var=LIBPATH
;;
aix[4-9]*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
hardcode_into_libs=yes
m68k)
library_names_spec='$libname.ixlibrary $libname.a'
# Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
;;
esac
;;
;;
bsdi[45]*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
# libtool to hard-code these into programs
;;
-cygwin* | mingw* | pw32*)
+cygwin* | mingw* | pw32* | cegcc*)
version_type=windows
shrext_cmds=".dll"
need_version=no
need_lib_prefix=no
- case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
+ case $GCC,$cc_basename in
+ yes,*)
+ # gcc
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \${file}`~
cygwin*)
# Cygwin DLLs use 'cyg' prefix rather than 'lib'
soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+
;;
- mingw*)
+ mingw* | cegcc*)
# MinGW DLLs use traditional 'lib' prefix
soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH printed by
- # mingw gcc, but we are running on Cygwin. Gcc prints its search
- # path with ; separators, and with drive letters. We can handle the
- # drive letters (cygwin fileutils understands them), so leave them,
- # especially as we might pass files found there to a mingw objdump,
- # which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
;;
pw32*)
# pw32 DLLs use 'pw' prefix rather than 'lib'
library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
;;
esac
+ dynamic_linker='Win32 ld.exe'
+ ;;
+
+ *,cl*)
+ # Native MSVC
+ libname_spec='$name'
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ library_names_spec='${libname}.dll.lib'
+
+ case $build_os in
+ mingw*)
+ sys_lib_search_path_spec=
+ lt_save_ifs=$IFS
+ IFS=';'
+ for lt_path in $LIB
+ do
+ IFS=$lt_save_ifs
+ # Let DOS variable expansion print the short 8.3 style file name.
+ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
+ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+ done
+ IFS=$lt_save_ifs
+ # Convert to MSYS style.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
+ ;;
+ cygwin*)
+ # Convert to unix form, then to dos form, then back to unix form
+ # but this time dos style (no spaces!) so that the unix form looks
+ # like /cygdrive/c/PROGRA~1:/cygdr...
+ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
+ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ *)
+ sys_lib_search_path_spec="$LIB"
+ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
+ # It is most probably a Windows format PATH.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ # FIXME: find the short name or the path components, as spaces are
+ # common. (e.g. "Program Files" -> "PROGRA~1")
+ ;;
+ esac
+
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+ dynamic_linker='Win32 link.exe'
;;
*)
+ # Assume MSVC wrapper
library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ dynamic_linker='Win32 ld.exe'
;;
esac
- dynamic_linker='Win32 ld.exe'
# FIXME: first we should search . and the directory the executable is in
shlibpath_var=PATH
;;
;;
dgux*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
;;
-freebsd1*)
- dynamic_linker=no
- ;;
-
freebsd* | dragonfly*)
# DragonFly does not have aout. When/if they implement a new
# versioning mechanism, adjust this.
objformat=`/usr/bin/objformat`
else
case $host_os in
- freebsd[123]*) objformat=aout ;;
+ freebsd[23].*) objformat=aout ;;
*) objformat=elf ;;
esac
fi
esac
shlibpath_var=LD_LIBRARY_PATH
case $host_os in
- freebsd2*)
+ freebsd2.*)
shlibpath_overrides_runpath=yes
;;
freebsd3.[01]* | freebsdelf3.[01]*)
esac
;;
-gnu*)
- version_type=linux
+haiku*)
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
+ dynamic_linker="$host_os runtime_loader"
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_var=LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
hardcode_into_libs=yes
;;
soname_spec='${libname}${release}${shared_ext}$major'
;;
esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
+ # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
postinstall_cmds='chmod 555 $lib'
+ # or fails outright, so override atomically:
+ install_override_mode=555
;;
interix[3-9]*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
nonstopux*) version_type=nonstopux ;;
*)
if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
else
version_type=irix
fi ;;
dynamic_linker=no
;;
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
- version_type=linux
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
+
# Some binutils ld are patched to set DT_RUNPATH
- save_LDFLAGS=$LDFLAGS
- save_libdir=$libdir
- eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \
- LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\""
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_shlibpath_overrides_runpath=no
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \
+ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then
- shlibpath_overrides_runpath=yes
+if ac_fn_cxx_try_link "$LINENO"; then :
+ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
+ lt_cv_shlibpath_overrides_runpath=yes
fi
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
fi
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS=$save_LDFLAGS
- libdir=$save_libdir
+ shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
# This implies no fast_install, which is unacceptable.
# Some rework will be needed to allow for fast_install
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
fi
dynamic_linker='GNU/Linux ld.so'
;;
+netbsdelf*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='NetBSD ld.elf_so'
+ ;;
+
netbsd*)
version_type=sunos
need_lib_prefix=no
;;
newsos6)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
;;
solaris*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
;;
sysv4 | sysv4.3*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LD_LIBRARY_PATH
sysv4*MP*)
if test -d /usr/nec ;then
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
soname_spec='$libname${shared_ext}.$major'
shlibpath_var=LD_LIBRARY_PATH
tpf*)
# TPF is a cross-target only. Preferred cross-host = GNU/Linux.
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_name_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
;;
uts4*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LD_LIBRARY_PATH
dynamic_linker=no
;;
esac
-{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
test "$dynamic_linker" = no && can_build_shared=no
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
- { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
hardcode_action_CXX=
if test -n "$hardcode_libdir_flag_spec_CXX" ||
test -n "$runpath_var_CXX" ||
# directories.
hardcode_action_CXX=unsupported
fi
-{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
-echo "${ECHO_T}$hardcode_action_CXX" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5
+$as_echo "$hardcode_action_CXX" >&6; }
if test "$hardcode_action_CXX" = relink ||
test "$inherit_rpath_CXX" = yes; then
fi # test -n "$compiler"
CC=$lt_save_CC
+ CFLAGS=$lt_save_CFLAGS
LDCXX=$LD
LD=$lt_save_LD
GCC=$lt_save_GCC
+
+
ac_config_commands="$ac_config_commands libtool"
-
for ac_header in dlfcn.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+do :
+ ac_fn_cxx_check_header_mongrel "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default"
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+#define HAVE_DLFCN_H 1
_ACEOF
else
done
-{ echo "$as_me:$LINENO: checking for dlopen" >&5
-echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; }
-if test "${ac_cv_func_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define dlopen innocuous_dlopen
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char dlopen (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef dlopen
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_dlopen || defined __stub___dlopen
-choke me
-#endif
-
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_func_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_func_dlopen=no
-fi
+ac_fn_cxx_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
+if test "x$ac_cv_func_dlopen" = xyes; then :
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
-echo "${ECHO_T}$ac_cv_func_dlopen" >&6; }
-if test $ac_cv_func_dlopen = yes; then
- :
else
-
-{ echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if ${ac_cv_lib_dl_dlopen+:} false; then :
+ $as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+if ac_fn_cxx_try_link "$LINENO"; then :
ac_cv_lib_dl_dlopen=yes
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_dl_dlopen=no
+ ac_cv_lib_dl_dlopen=no
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
-if test $ac_cv_lib_dl_dlopen = yes; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_LIBDL 1
_ACEOF
# Extract the first word of "sed", so it can be a program name with args.
set dummy sed; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_SED+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_SED+:} false; then :
+ $as_echo_n "(cached) " >&6
else
if test -n "$SED"; then
ac_cv_prog_SED="$SED" # Let the user override the test.
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_SED="sed"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
IFS=$as_save_IFS
fi
fi
SED=$ac_cv_prog_SED
if test -n "$SED"; then
- { echo "$as_me:$LINENO: result: $SED" >&5
-echo "${ECHO_T}$SED" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SED" >&5
+$as_echo "$SED" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
# Extract the first word of "perl", so it can be a program name with args.
set dummy perl; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_path_PERLPROG+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_PERLPROG+:} false; then :
+ $as_echo_n "(cached) " >&6
else
case $PERLPROG in
[\\/]* | ?:[\\/]*)
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_PERLPROG="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
IFS=$as_save_IFS
;;
fi
PERLPROG=$ac_cv_path_PERLPROG
if test -n "$PERLPROG"; then
- { echo "$as_me:$LINENO: result: $PERLPROG" >&5
-echo "${ECHO_T}$PERLPROG" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERLPROG" >&5
+$as_echo "$PERLPROG" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
if test "$enable_compile_in_filters" = "yes"
then
-cat >>confdefs.h <<\_ACEOF
-#define COMPILE_IN_FILTER 1
-_ACEOF
+$as_echo "#define COMPILE_IN_FILTER 1" >>confdefs.h
fi
-find_cvs=`expr "$PACKAGE_VERSION" : '.*cvs'`
-if test "$find_cvs" -gt 0
+find_git=`expr "$PACKAGE_VERSION" : '.*git'`
+if test "$find_git" -gt 0
then
enable_filter_version_control=no
fi
if test "$enable_filter_version_control" != "no"
then
-cat >>confdefs.h <<\_ACEOF
-#define FILTER_VERSION_CONTROL 1
-_ACEOF
+$as_echo "#define FILTER_VERSION_CONTROL 1" >>confdefs.h
fi
fi
+if test "$enable_32_bit_hash_fun" = "yes"
+then
+
+$as_echo "#define USE_32_BIT_HASH_FUN 1" >>confdefs.h
+
+fi
+
if test "$enable_pspell_compatibility" != "no"; then
PSPELL_COMPATIBILITY_TRUE=
PSPELL_COMPATIBILITY_FALSE='#'
- { echo "$as_me:$LINENO: checking whether NLS is requested" >&5
-echo $ECHO_N "checking whether NLS is requested... $ECHO_C" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
+$as_echo_n "checking whether NLS is requested... " >&6; }
# Check whether --enable-nls was given.
-if test "${enable_nls+set}" = set; then
+if test "${enable_nls+set}" = set; then :
enableval=$enable_nls; USE_NLS=$enableval
else
USE_NLS=yes
fi
- { echo "$as_me:$LINENO: result: $USE_NLS" >&5
-echo "${ECHO_T}$USE_NLS" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
+$as_echo "$USE_NLS" >&6; }
+ GETTEXT_MACRO_VERSION=0.19
+
+
# Prepare PATH_SEPARATOR.
# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
+ # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+ # contains only /bin. Note that ksh looks also at the FPATH variable,
+ # so we have to set that as well for the test.
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ || PATH_SEPARATOR=';'
+ }
fi
# Find out how to test for executable files. Don't use a zero-byte file,
# Extract the first word of "msgfmt", so it can be a program name with args.
set dummy msgfmt; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_path_MSGFMT+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_MSGFMT+:} false; then :
+ $as_echo_n "(cached) " >&6
else
case "$MSGFMT" in
[\\/]* | ?:[\\/]*)
fi
MSGFMT="$ac_cv_path_MSGFMT"
if test "$MSGFMT" != ":"; then
- { echo "$as_me:$LINENO: result: $MSGFMT" >&5
-echo "${ECHO_T}$MSGFMT" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5
+$as_echo "$MSGFMT" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
# Extract the first word of "gmsgfmt", so it can be a program name with args.
set dummy gmsgfmt; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_path_GMSGFMT+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_GMSGFMT+:} false; then :
+ $as_echo_n "(cached) " >&6
else
case $GMSGFMT in
[\\/]* | ?:[\\/]*)
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
-done
+ done
IFS=$as_save_IFS
test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
fi
GMSGFMT=$ac_cv_path_GMSGFMT
if test -n "$GMSGFMT"; then
- { echo "$as_me:$LINENO: result: $GMSGFMT" >&5
-echo "${ECHO_T}$GMSGFMT" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5
+$as_echo "$GMSGFMT" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
# Prepare PATH_SEPARATOR.
# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
+ # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+ # contains only /bin. Note that ksh looks also at the FPATH variable,
+ # so we have to set that as well for the test.
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ || PATH_SEPARATOR=';'
+ }
fi
# Find out how to test for executable files. Don't use a zero-byte file,
# Extract the first word of "xgettext", so it can be a program name with args.
set dummy xgettext; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_path_XGETTEXT+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_XGETTEXT+:} false; then :
+ $as_echo_n "(cached) " >&6
else
case "$XGETTEXT" in
[\\/]* | ?:[\\/]*)
fi
XGETTEXT="$ac_cv_path_XGETTEXT"
if test "$XGETTEXT" != ":"; then
- { echo "$as_me:$LINENO: result: $XGETTEXT" >&5
-echo "${ECHO_T}$XGETTEXT" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5
+$as_echo "$XGETTEXT" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
rm -f messages.po
# Prepare PATH_SEPARATOR.
# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
+ # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+ # contains only /bin. Note that ksh looks also at the FPATH variable,
+ # so we have to set that as well for the test.
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ || PATH_SEPARATOR=';'
+ }
fi
# Find out how to test for executable files. Don't use a zero-byte file,
# Extract the first word of "msgmerge", so it can be a program name with args.
set dummy msgmerge; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_path_MSGMERGE+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_MSGMERGE+:} false; then :
+ $as_echo_n "(cached) " >&6
else
case "$MSGMERGE" in
[\\/]* | ?:[\\/]*)
fi
MSGMERGE="$ac_cv_path_MSGMERGE"
if test "$MSGMERGE" != ":"; then
- { echo "$as_me:$LINENO: result: $MSGMERGE" >&5
-echo "${ECHO_T}$MSGMERGE" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5
+$as_echo "$MSGMERGE" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
test -n "$localedir" || localedir='${datadir}/locale'
+ test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=
+
+
ac_config_commands="$ac_config_commands po-directories"
prefix="$acl_save_prefix"
+
# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then
+if test "${with_gnu_ld+set}" = set; then :
withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
else
with_gnu_ld=no
# Prepare PATH_SEPARATOR.
# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
+ # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+ # contains only /bin. Note that ksh looks also at the FPATH variable,
+ # so we have to set that as well for the test.
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ || PATH_SEPARATOR=';'
+ }
fi
+
ac_prog=ld
if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
- { echo "$as_me:$LINENO: checking for ld used by GCC" >&5
-echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return which upsets mingw
esac
case $ac_prog in
# Accept absolute paths.
- [\\/]* | [A-Za-z]:[\\/]*)
+ [\\/]* | ?:[\\/]*)
re_direlt='/[^/][^/]*/\.\./'
- # Canonicalize the path of ld
- ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+ # Canonicalize the pathname of ld
+ ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'`
+ while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
done
test -z "$LD" && LD="$ac_prog"
;;
;;
esac
elif test "$with_gnu_ld" = yes; then
- { echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
else
- { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
fi
-if test "${acl_cv_path_LD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+if ${acl_cv_path_LD+:} false; then :
+ $as_echo_n "(cached) " >&6
else
if test -z "$LD"; then
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+ acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
for ac_dir in $PATH; do
+ IFS="$acl_save_ifs"
test -z "$ac_dir" && ac_dir=.
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
acl_cv_path_LD="$ac_dir/$ac_prog"
# Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some GNU ld's only accept -v.
+ # but apparently some variants of GNU ld only accept -v.
# Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
+ case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in
*GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break ;;
+ test "$with_gnu_ld" != no && break
+ ;;
*)
- test "$with_gnu_ld" != yes && break ;;
+ test "$with_gnu_ld" != yes && break
+ ;;
esac
fi
done
- IFS="$ac_save_ifs"
+ IFS="$acl_save_ifs"
else
acl_cv_path_LD="$LD" # Let the user override the test with a path.
fi
LD="$acl_cv_path_LD"
if test -n "$LD"; then
- { echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+$as_echo "$LD" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
-test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
- { (exit 1); exit 1; }; }
-{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; }
-if test "${acl_cv_prog_gnu_ld+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if ${acl_cv_prog_gnu_ld+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- # I'd rather use --version here, but apparently some GNU ld's only accept -v.
+ # I'd rather use --version here, but apparently some GNU lds only accept -v.
case `$LD -v 2>&1 </dev/null` in
*GNU* | *'with BFD'*)
- acl_cv_prog_gnu_ld=yes ;;
+ acl_cv_prog_gnu_ld=yes
+ ;;
*)
- acl_cv_prog_gnu_ld=no ;;
+ acl_cv_prog_gnu_ld=no
+ ;;
esac
fi
-{ echo "$as_me:$LINENO: result: $acl_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$acl_cv_prog_gnu_ld" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5
+$as_echo "$acl_cv_prog_gnu_ld" >&6; }
with_gnu_ld=$acl_cv_prog_gnu_ld
- { echo "$as_me:$LINENO: checking for shared library run path origin" >&5
-echo $ECHO_N "checking for shared library run path origin... $ECHO_C" >&6; }
-if test "${acl_cv_rpath+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5
+$as_echo_n "checking for shared library run path origin... " >&6; }
+if ${acl_cv_rpath+:} false; then :
+ $as_echo_n "(cached) " >&6
else
CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
acl_cv_rpath=done
fi
-{ echo "$as_me:$LINENO: result: $acl_cv_rpath" >&5
-echo "${ECHO_T}$acl_cv_rpath" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5
+$as_echo "$acl_cv_rpath" >&6; }
wl="$acl_cv_wl"
- libext="$acl_cv_libext"
- shlibext="$acl_cv_shlibext"
- hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
- hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
- hardcode_direct="$acl_cv_hardcode_direct"
- hardcode_minus_L="$acl_cv_hardcode_minus_L"
+ acl_libext="$acl_cv_libext"
+ acl_shlibext="$acl_cv_shlibext"
+ acl_libname_spec="$acl_cv_libname_spec"
+ acl_library_names_spec="$acl_cv_library_names_spec"
+ acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
+ acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
+ acl_hardcode_direct="$acl_cv_hardcode_direct"
+ acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
# Check whether --enable-rpath was given.
-if test "${enable_rpath+set}" = set; then
+if test "${enable_rpath+set}" = set; then :
enableval=$enable_rpath; :
else
enable_rpath=yes
- acl_libdirstem=lib
- searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
- if test -n "$searchpath"; then
- acl_save_IFS="${IFS= }"; IFS=":"
- for searchdir in $searchpath; do
- if test -d "$searchdir"; then
- case "$searchdir" in
- */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
- *) searchdir=`cd "$searchdir" && pwd`
- case "$searchdir" in
- */lib64 ) acl_libdirstem=lib64 ;;
- esac ;;
+
+ acl_libdirstem=lib
+ acl_libdirstem2=
+ case "$host_os" in
+ solaris*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5
+$as_echo_n "checking for 64-bit host... " >&6; }
+if ${gl_cv_solaris_64bit+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#ifdef _LP64
+sixtyfour bits
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "sixtyfour bits" >/dev/null 2>&1; then :
+ gl_cv_solaris_64bit=yes
+else
+ gl_cv_solaris_64bit=no
+fi
+rm -f conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5
+$as_echo "$gl_cv_solaris_64bit" >&6; }
+ if test $gl_cv_solaris_64bit = yes; then
+ acl_libdirstem=lib/64
+ case "$host_cpu" in
+ sparc*) acl_libdirstem2=lib/sparcv9 ;;
+ i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
esac
fi
- done
- IFS="$acl_save_IFS"
- fi
+ ;;
+ *)
+ searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+ if test -n "$searchpath"; then
+ acl_save_IFS="${IFS= }"; IFS=":"
+ for searchdir in $searchpath; do
+ if test -d "$searchdir"; then
+ case "$searchdir" in
+ */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+ */../ | */.. )
+ # Better ignore directories of this form. They are misleading.
+ ;;
+ *) searchdir=`cd "$searchdir" && pwd`
+ case "$searchdir" in
+ */lib64 ) acl_libdirstem=lib64 ;;
+ esac ;;
+ esac
+ fi
+ done
+ IFS="$acl_save_IFS"
+ fi
+ ;;
+ esac
+ test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
+
+
+
+
# Check whether --with-libiconv-prefix was given.
-if test "${with_libiconv_prefix+set}" = set; then
+if test "${with_libiconv_prefix+set}" = set; then :
withval=$with_libiconv_prefix;
if test "X$withval" = "Xno"; then
use_additional=no
else
additional_includedir="$withval/include"
additional_libdir="$withval/$acl_libdirstem"
+ if test "$acl_libdirstem2" != "$acl_libdirstem" \
+ && ! test -d "$withval/$acl_libdirstem"; then
+ additional_libdir="$withval/$acl_libdirstem2"
+ fi
fi
fi
LIBICONV=
LTLIBICONV=
INCICONV=
+ LIBICONV_PREFIX=
+ HAVE_LIBICONV=
rpathdirs=
ltrpathdirs=
names_already_handled=
done
if test -z "$already_handled"; then
names_already_handled="$names_already_handled $name"
- uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
+ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`
eval value=\"\$HAVE_LIB$uppername\"
if test -n "$value"; then
if test "$value" = yes; then
found_la=
found_so=
found_a=
+ eval libname=\"$acl_libname_spec\" # typically: libname=lib$name
+ if test -n "$acl_shlibext"; then
+ shrext=".$acl_shlibext" # typically: shrext=.so
+ else
+ shrext=
+ fi
if test $use_additional = yes; then
- if test -n "$shlibext" \
- && { test -f "$additional_libdir/lib$name.$shlibext" \
- || { test "$shlibext" = dll \
- && test -f "$additional_libdir/lib$name.dll.a"; }; }; then
- found_dir="$additional_libdir"
- if test -f "$additional_libdir/lib$name.$shlibext"; then
- found_so="$additional_libdir/lib$name.$shlibext"
+ dir="$additional_libdir"
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext"
else
- found_so="$additional_libdir/lib$name.dll.a"
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
+ fi
fi
- if test -f "$additional_libdir/lib$name.la"; then
- found_la="$additional_libdir/lib$name.la"
+ fi
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
fi
- else
- if test -f "$additional_libdir/lib$name.$libext"; then
- found_dir="$additional_libdir"
- found_a="$additional_libdir/lib$name.$libext"
- if test -f "$additional_libdir/lib$name.la"; then
- found_la="$additional_libdir/lib$name.la"
- fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
fi
fi
fi
case "$x" in
-L*)
dir=`echo "X$x" | sed -e 's/^X-L//'`
- if test -n "$shlibext" \
- && { test -f "$dir/lib$name.$shlibext" \
- || { test "$shlibext" = dll \
- && test -f "$dir/lib$name.dll.a"; }; }; then
- found_dir="$dir"
- if test -f "$dir/lib$name.$shlibext"; then
- found_so="$dir/lib$name.$shlibext"
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext"
else
- found_so="$dir/lib$name.dll.a"
- fi
- if test -f "$dir/lib$name.la"; then
- found_la="$dir/lib$name.la"
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
+ fi
fi
- else
- if test -f "$dir/lib$name.$libext"; then
+ fi
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
found_dir="$dir"
- found_a="$dir/lib$name.$libext"
- if test -f "$dir/lib$name.la"; then
- found_la="$dir/lib$name.la"
- fi
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
fi
fi
;;
if test "X$found_dir" != "X"; then
LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name"
if test "X$found_so" != "X"; then
- if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then
+ if test "$enable_rpath" = no \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
else
haveit=
if test -z "$haveit"; then
ltrpathdirs="$ltrpathdirs $found_dir"
fi
- if test "$hardcode_direct" = yes; then
+ if test "$acl_hardcode_direct" = yes; then
LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
else
- if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
+ if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
haveit=
for x in $rpathdirs; do
if test -z "$haveit"; then
LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir"
fi
- if test "$hardcode_minus_L" != no; then
+ if test "$acl_hardcode_minus_L" != no; then
LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
else
LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
case "$found_dir" in
*/$acl_libdirstem | */$acl_libdirstem/)
basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
+ if test "$name" = 'iconv'; then
+ LIBICONV_PREFIX="$basedir"
+ fi
+ additional_includedir="$basedir/include"
+ ;;
+ */$acl_libdirstem2 | */$acl_libdirstem2/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+ if test "$name" = 'iconv'; then
+ LIBICONV_PREFIX="$basedir"
+ fi
additional_includedir="$basedir/include"
;;
esac
case "$dep" in
-L*)
additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
- if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
+ if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
haveit=
- if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
+ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
if test -n "$GCC"; then
case $host_os in
linux* | gnu* | k*bsd*-gnu) haveit=yes;;
done
done
if test "X$rpathdirs" != "X"; then
- if test -n "$hardcode_libdir_separator"; then
+ if test -n "$acl_hardcode_libdir_separator"; then
alldirs=
for found_dir in $rpathdirs; do
- alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
+ alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
done
acl_save_libdir="$libdir"
libdir="$alldirs"
- eval flag=\"$hardcode_libdir_flag_spec\"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
libdir="$acl_save_libdir"
LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
else
for found_dir in $rpathdirs; do
acl_save_libdir="$libdir"
libdir="$found_dir"
- eval flag=\"$hardcode_libdir_flag_spec\"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
libdir="$acl_save_libdir"
LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
done
- { echo "$as_me:$LINENO: checking for CFPreferencesCopyAppValue" >&5
-echo $ECHO_N "checking for CFPreferencesCopyAppValue... $ECHO_C" >&6; }
-if test "${gt_cv_func_CFPreferencesCopyAppValue+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5
+$as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; }
+if ${gt_cv_func_CFPreferencesCopyAppValue+:} false; then :
+ $as_echo_n "(cached) " >&6
else
gt_save_LIBS="$LIBS"
LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <CoreFoundation/CFPreferences.h>
int
-main ()
-{
-CFPreferencesCopyAppValue(NULL, NULL)
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+main ()
+{
+CFPreferencesCopyAppValue(NULL, NULL)
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
gt_cv_func_CFPreferencesCopyAppValue=yes
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- gt_cv_func_CFPreferencesCopyAppValue=no
+ gt_cv_func_CFPreferencesCopyAppValue=no
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
LIBS="$gt_save_LIBS"
fi
-{ echo "$as_me:$LINENO: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5
-echo "${ECHO_T}$gt_cv_func_CFPreferencesCopyAppValue" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5
+$as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; }
if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_CFPREFERENCESCOPYAPPVALUE 1
-_ACEOF
+$as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h
fi
- { echo "$as_me:$LINENO: checking for CFLocaleCopyCurrent" >&5
-echo $ECHO_N "checking for CFLocaleCopyCurrent... $ECHO_C" >&6; }
-if test "${gt_cv_func_CFLocaleCopyCurrent+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5
+$as_echo_n "checking for CFLocaleCopyCurrent... " >&6; }
+if ${gt_cv_func_CFLocaleCopyCurrent+:} false; then :
+ $as_echo_n "(cached) " >&6
else
gt_save_LIBS="$LIBS"
LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <CoreFoundation/CFLocale.h>
int
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+if ac_fn_cxx_try_link "$LINENO"; then :
gt_cv_func_CFLocaleCopyCurrent=yes
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- gt_cv_func_CFLocaleCopyCurrent=no
+ gt_cv_func_CFLocaleCopyCurrent=no
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
LIBS="$gt_save_LIBS"
fi
-{ echo "$as_me:$LINENO: result: $gt_cv_func_CFLocaleCopyCurrent" >&5
-echo "${ECHO_T}$gt_cv_func_CFLocaleCopyCurrent" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5
+$as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; }
if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_CFLOCALECOPYCURRENT 1
-_ACEOF
+$as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h
fi
INTL_MACOSX_LIBS=
gt_expression_test_code=
fi
- { echo "$as_me:$LINENO: checking for GNU gettext in libc" >&5
-echo $ECHO_N "checking for GNU gettext in libc... $ECHO_C" >&6; }
-if { as_var=$gt_func_gnugettext_libc; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5
+$as_echo_n "checking for GNU gettext in libc... " >&6; }
+if eval \${$gt_func_gnugettext_libc+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
+
#include <libintl.h>
$gt_revision_test_code
extern int _nl_msg_cat_cntr;
extern int *_nl_domain_bindings;
+
int
main ()
{
+
bindtextdomain ("", "");
return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings
+
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+if ac_fn_cxx_try_link "$LINENO"; then :
eval "$gt_func_gnugettext_libc=yes"
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- eval "$gt_func_gnugettext_libc=no"
+ eval "$gt_func_gnugettext_libc=no"
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
fi
-ac_res=`eval echo '${'$gt_func_gnugettext_libc'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
+eval ac_res=\$$gt_func_gnugettext_libc
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
done
- { echo "$as_me:$LINENO: checking for iconv" >&5
-echo $ECHO_N "checking for iconv... $ECHO_C" >&6; }
-if test "${am_cv_func_iconv+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
+$as_echo_n "checking for iconv... " >&6; }
+if ${am_cv_func_iconv+:} false; then :
+ $as_echo_n "(cached) " >&6
else
am_cv_func_iconv="no, consider installing GNU libiconv"
am_cv_lib_iconv=no
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
+
#include <stdlib.h>
#include <iconv.h>
+
int
main ()
{
iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+if ac_fn_cxx_try_link "$LINENO"; then :
am_cv_func_iconv=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
if test "$am_cv_func_iconv" != yes; then
am_save_LIBS="$LIBS"
LIBS="$LIBS $LIBICONV"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
+
#include <stdlib.h>
#include <iconv.h>
+
int
main ()
{
iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+if ac_fn_cxx_try_link "$LINENO"; then :
am_cv_lib_iconv=yes
am_cv_func_iconv=yes
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS="$am_save_LIBS"
+ fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5
+$as_echo "$am_cv_func_iconv" >&6; }
+ if test "$am_cv_func_iconv" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5
+$as_echo_n "checking for working iconv... " >&6; }
+if ${am_cv_func_iconv_works+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ am_save_LIBS="$LIBS"
+ if test $am_cv_lib_iconv = yes; then
+ LIBS="$LIBS $LIBICONV"
+ fi
+ if test "$cross_compiling" = yes; then :
+
+ case "$host_os" in
+ aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
+ *) am_cv_func_iconv_works="guessing yes" ;;
+ esac
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <iconv.h>
+#include <string.h>
+int main ()
+{
+ int result = 0;
+ /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
+ returns. */
+ {
+ iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
+ if (cd_utf8_to_88591 != (iconv_t)(-1))
+ {
+ static const char input[] = "\342\202\254"; /* EURO SIGN */
+ char buf[10];
+ const char *inptr = input;
+ size_t inbytesleft = strlen (input);
+ char *outptr = buf;
+ size_t outbytesleft = sizeof (buf);
+ size_t res = iconv (cd_utf8_to_88591,
+ (char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res == 0)
+ result |= 1;
+ iconv_close (cd_utf8_to_88591);
+ }
+ }
+ /* Test against Solaris 10 bug: Failures are not distinguishable from
+ successful returns. */
+ {
+ iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
+ if (cd_ascii_to_88591 != (iconv_t)(-1))
+ {
+ static const char input[] = "\263";
+ char buf[10];
+ const char *inptr = input;
+ size_t inbytesleft = strlen (input);
+ char *outptr = buf;
+ size_t outbytesleft = sizeof (buf);
+ size_t res = iconv (cd_ascii_to_88591,
+ (char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res == 0)
+ result |= 2;
+ iconv_close (cd_ascii_to_88591);
+ }
+ }
+ /* Test against AIX 6.1..7.1 bug: Buffer overrun. */
+ {
+ iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
+ if (cd_88591_to_utf8 != (iconv_t)(-1))
+ {
+ static const char input[] = "\304";
+ static char buf[2] = { (char)0xDE, (char)0xAD };
+ const char *inptr = input;
+ size_t inbytesleft = 1;
+ char *outptr = buf;
+ size_t outbytesleft = 1;
+ size_t res = iconv (cd_88591_to_utf8,
+ (char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
+ result |= 4;
+ iconv_close (cd_88591_to_utf8);
+ }
+ }
+#if 0 /* This bug could be worked around by the caller. */
+ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */
+ {
+ iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
+ if (cd_88591_to_utf8 != (iconv_t)(-1))
+ {
+ static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
+ char buf[50];
+ const char *inptr = input;
+ size_t inbytesleft = strlen (input);
+ char *outptr = buf;
+ size_t outbytesleft = sizeof (buf);
+ size_t res = iconv (cd_88591_to_utf8,
+ (char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if ((int)res > 0)
+ result |= 8;
+ iconv_close (cd_88591_to_utf8);
+ }
+ }
+#endif
+ /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
+ provided. */
+ if (/* Try standardized names. */
+ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
+ /* Try IRIX, OSF/1 names. */
+ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
+ /* Try AIX names. */
+ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
+ /* Try HP-UX names. */
+ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
+ result |= 16;
+ return result;
+}
+_ACEOF
+if ac_fn_cxx_try_run "$LINENO"; then :
+ am_cv_func_iconv_works=yes
+else
+ am_cv_func_iconv_works=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
LIBS="$am_save_LIBS"
- fi
fi
-{ echo "$as_me:$LINENO: result: $am_cv_func_iconv" >&5
-echo "${ECHO_T}$am_cv_func_iconv" >&6; }
- if test "$am_cv_func_iconv" = yes; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5
+$as_echo "$am_cv_func_iconv_works" >&6; }
+ case "$am_cv_func_iconv_works" in
+ *no) am_func_iconv=no am_cv_lib_iconv=no ;;
+ *) am_func_iconv=yes ;;
+ esac
+ else
+ am_func_iconv=no am_cv_lib_iconv=no
+ fi
+ if test "$am_func_iconv" = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_ICONV 1
-_ACEOF
+$as_echo "#define HAVE_ICONV 1" >>confdefs.h
fi
if test "$am_cv_lib_iconv" = yes; then
- { echo "$as_me:$LINENO: checking how to link with libiconv" >&5
-echo $ECHO_N "checking how to link with libiconv... $ECHO_C" >&6; }
- { echo "$as_me:$LINENO: result: $LIBICONV" >&5
-echo "${ECHO_T}$LIBICONV" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5
+$as_echo_n "checking how to link with libiconv... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5
+$as_echo "$LIBICONV" >&6; }
else
CPPFLAGS="$am_save_CPPFLAGS"
LIBICONV=
+
+
+
+
use_additional=yes
acl_save_prefix="$prefix"
# Check whether --with-libintl-prefix was given.
-if test "${with_libintl_prefix+set}" = set; then
+if test "${with_libintl_prefix+set}" = set; then :
withval=$with_libintl_prefix;
if test "X$withval" = "Xno"; then
use_additional=no
else
additional_includedir="$withval/include"
additional_libdir="$withval/$acl_libdirstem"
+ if test "$acl_libdirstem2" != "$acl_libdirstem" \
+ && ! test -d "$withval/$acl_libdirstem"; then
+ additional_libdir="$withval/$acl_libdirstem2"
+ fi
fi
fi
LIBINTL=
LTLIBINTL=
INCINTL=
+ LIBINTL_PREFIX=
+ HAVE_LIBINTL=
rpathdirs=
ltrpathdirs=
names_already_handled=
done
if test -z "$already_handled"; then
names_already_handled="$names_already_handled $name"
- uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
+ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`
eval value=\"\$HAVE_LIB$uppername\"
if test -n "$value"; then
if test "$value" = yes; then
found_la=
found_so=
found_a=
+ eval libname=\"$acl_libname_spec\" # typically: libname=lib$name
+ if test -n "$acl_shlibext"; then
+ shrext=".$acl_shlibext" # typically: shrext=.so
+ else
+ shrext=
+ fi
if test $use_additional = yes; then
- if test -n "$shlibext" \
- && { test -f "$additional_libdir/lib$name.$shlibext" \
- || { test "$shlibext" = dll \
- && test -f "$additional_libdir/lib$name.dll.a"; }; }; then
- found_dir="$additional_libdir"
- if test -f "$additional_libdir/lib$name.$shlibext"; then
- found_so="$additional_libdir/lib$name.$shlibext"
+ dir="$additional_libdir"
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext"
else
- found_so="$additional_libdir/lib$name.dll.a"
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
+ fi
fi
- if test -f "$additional_libdir/lib$name.la"; then
- found_la="$additional_libdir/lib$name.la"
+ fi
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
fi
- else
- if test -f "$additional_libdir/lib$name.$libext"; then
- found_dir="$additional_libdir"
- found_a="$additional_libdir/lib$name.$libext"
- if test -f "$additional_libdir/lib$name.la"; then
- found_la="$additional_libdir/lib$name.la"
- fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
fi
fi
fi
case "$x" in
-L*)
dir=`echo "X$x" | sed -e 's/^X-L//'`
- if test -n "$shlibext" \
- && { test -f "$dir/lib$name.$shlibext" \
- || { test "$shlibext" = dll \
- && test -f "$dir/lib$name.dll.a"; }; }; then
- found_dir="$dir"
- if test -f "$dir/lib$name.$shlibext"; then
- found_so="$dir/lib$name.$shlibext"
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext"
else
- found_so="$dir/lib$name.dll.a"
- fi
- if test -f "$dir/lib$name.la"; then
- found_la="$dir/lib$name.la"
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
+ fi
fi
- else
- if test -f "$dir/lib$name.$libext"; then
+ fi
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
found_dir="$dir"
- found_a="$dir/lib$name.$libext"
- if test -f "$dir/lib$name.la"; then
- found_la="$dir/lib$name.la"
- fi
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
fi
fi
;;
if test "X$found_dir" != "X"; then
LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name"
if test "X$found_so" != "X"; then
- if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then
+ if test "$enable_rpath" = no \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
else
haveit=
if test -z "$haveit"; then
ltrpathdirs="$ltrpathdirs $found_dir"
fi
- if test "$hardcode_direct" = yes; then
+ if test "$acl_hardcode_direct" = yes; then
LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
else
- if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
+ if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
haveit=
for x in $rpathdirs; do
if test -z "$haveit"; then
LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir"
fi
- if test "$hardcode_minus_L" != no; then
+ if test "$acl_hardcode_minus_L" != no; then
LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
else
LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
case "$found_dir" in
*/$acl_libdirstem | */$acl_libdirstem/)
basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
+ if test "$name" = 'intl'; then
+ LIBINTL_PREFIX="$basedir"
+ fi
+ additional_includedir="$basedir/include"
+ ;;
+ */$acl_libdirstem2 | */$acl_libdirstem2/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+ if test "$name" = 'intl'; then
+ LIBINTL_PREFIX="$basedir"
+ fi
additional_includedir="$basedir/include"
;;
esac
case "$dep" in
-L*)
additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
- if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
+ if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
haveit=
- if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
+ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
if test -n "$GCC"; then
case $host_os in
linux* | gnu* | k*bsd*-gnu) haveit=yes;;
done
done
if test "X$rpathdirs" != "X"; then
- if test -n "$hardcode_libdir_separator"; then
+ if test -n "$acl_hardcode_libdir_separator"; then
alldirs=
for found_dir in $rpathdirs; do
- alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
+ alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
done
acl_save_libdir="$libdir"
libdir="$alldirs"
- eval flag=\"$hardcode_libdir_flag_spec\"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
libdir="$acl_save_libdir"
LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
else
for found_dir in $rpathdirs; do
acl_save_libdir="$libdir"
libdir="$found_dir"
- eval flag=\"$hardcode_libdir_flag_spec\"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
libdir="$acl_save_libdir"
LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
done
done
fi
- { echo "$as_me:$LINENO: checking for GNU gettext in libintl" >&5
-echo $ECHO_N "checking for GNU gettext in libintl... $ECHO_C" >&6; }
-if { as_var=$gt_func_gnugettext_libintl; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5
+$as_echo_n "checking for GNU gettext in libintl... " >&6; }
+if eval \${$gt_func_gnugettext_libintl+:} false; then :
+ $as_echo_n "(cached) " >&6
else
gt_save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $INCINTL"
gt_save_LIBS="$LIBS"
LIBS="$LIBS $LIBINTL"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
+
#include <libintl.h>
$gt_revision_test_code
extern int _nl_msg_cat_cntr;
"C"
#endif
const char *_nl_expand_alias (const char *);
+
int
main ()
{
+
bindtextdomain ("", "");
return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
+
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+if ac_fn_cxx_try_link "$LINENO"; then :
eval "$gt_func_gnugettext_libintl=yes"
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- eval "$gt_func_gnugettext_libintl=no"
+ eval "$gt_func_gnugettext_libintl=no"
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then
LIBS="$LIBS $LIBICONV"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
+
#include <libintl.h>
$gt_revision_test_code
extern int _nl_msg_cat_cntr;
"C"
#endif
const char *_nl_expand_alias (const char *);
+
int
main ()
{
+
bindtextdomain ("", "");
return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
+
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+if ac_fn_cxx_try_link "$LINENO"; then :
LIBINTL="$LIBINTL $LIBICONV"
- LTLIBINTL="$LTLIBINTL $LTLIBICONV"
- eval "$gt_func_gnugettext_libintl=yes"
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
+ LTLIBINTL="$LTLIBINTL $LTLIBICONV"
+ eval "$gt_func_gnugettext_libintl=yes"
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
fi
CPPFLAGS="$gt_save_CPPFLAGS"
LIBS="$gt_save_LIBS"
fi
-ac_res=`eval echo '${'$gt_func_gnugettext_libintl'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
+eval ac_res=\$$gt_func_gnugettext_libintl
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
fi
if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \
if test "$gt_use_preinstalled_gnugettext" = "yes" \
|| test "$nls_cv_use_gnu_gettext" = "yes"; then
-cat >>confdefs.h <<\_ACEOF
-#define ENABLE_NLS 1
-_ACEOF
+$as_echo "#define ENABLE_NLS 1" >>confdefs.h
else
USE_NLS=no
fi
fi
- { echo "$as_me:$LINENO: checking whether to use NLS" >&5
-echo $ECHO_N "checking whether to use NLS... $ECHO_C" >&6; }
- { echo "$as_me:$LINENO: result: $USE_NLS" >&5
-echo "${ECHO_T}$USE_NLS" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5
+$as_echo_n "checking whether to use NLS... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
+$as_echo "$USE_NLS" >&6; }
if test "$USE_NLS" = "yes"; then
- { echo "$as_me:$LINENO: checking where the gettext function comes from" >&5
-echo $ECHO_N "checking where the gettext function comes from... $ECHO_C" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5
+$as_echo_n "checking where the gettext function comes from... " >&6; }
if test "$gt_use_preinstalled_gnugettext" = "yes"; then
if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
gt_source="external libintl"
else
gt_source="included intl directory"
fi
- { echo "$as_me:$LINENO: result: $gt_source" >&5
-echo "${ECHO_T}$gt_source" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5
+$as_echo "$gt_source" >&6; }
fi
if test "$USE_NLS" = "yes"; then
if test "$gt_use_preinstalled_gnugettext" = "yes"; then
if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
- { echo "$as_me:$LINENO: checking how to link with libintl" >&5
-echo $ECHO_N "checking how to link with libintl... $ECHO_C" >&6; }
- { echo "$as_me:$LINENO: result: $LIBINTL" >&5
-echo "${ECHO_T}$LIBINTL" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5
+$as_echo_n "checking how to link with libintl... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5
+$as_echo "$LIBINTL" >&6; }
for element in $INCINTL; do
haveit=
fi
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GETTEXT 1
-_ACEOF
+$as_echo "#define HAVE_GETTEXT 1" >>confdefs.h
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_DCGETTEXT 1
-_ACEOF
+$as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h
fi
-
-
-
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# Platform Specific Tests #
if test "$enable_win32_relocatable" = "yes"
then
-cat >>confdefs.h <<\_ACEOF
-#define ENABLE_WIN32_RELOCATABLE 1
-_ACEOF
+$as_echo "#define ENABLE_WIN32_RELOCATABLE 1" >>confdefs.h
fi
# DL stuff
-
for ac_header in dlfcn.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+do :
+ ac_fn_cxx_check_header_mongrel "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default"
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+#define HAVE_DLFCN_H 1
_ACEOF
fi
done
-
-{ echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if ${ac_cv_lib_dl_dlopen+:} false; then :
+ $as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+if ac_fn_cxx_try_link "$LINENO"; then :
ac_cv_lib_dl_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_dl_dlopen=no
+else
+ ac_cv_lib_dl_dlopen=no
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
-if test $ac_cv_lib_dl_dlopen = yes; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_LIBDL 1
_ACEOF
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
-{ echo "$as_me:$LINENO: checking if file locking and truncating is supported" >&5
-echo $ECHO_N "checking if file locking and truncating is supported... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if file locking and truncating is supported" >&5
+$as_echo_n "checking if file locking and truncating is supported... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <fcntl.h>
#include <unistd.h>
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+if ac_fn_cxx_try_link "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
-cat >>confdefs.h <<\_ACEOF
-#define USE_FILE_LOCKS 1
-_ACEOF
+$as_echo "#define USE_FILE_LOCKS 1" >>confdefs.h
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-
-{ echo "$as_me:$LINENO: checking if mmap and friends is supported" >&5
-echo $ECHO_N "checking if mmap and friends is supported... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if mmap and friends is supported" >&5
+$as_echo_n "checking if mmap and friends is supported... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <fcntl.h>
#include <unistd.h>
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+if ac_fn_cxx_try_link "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
+$as_echo "#define HAVE_MMAP 1" >>confdefs.h
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-
-{ echo "$as_me:$LINENO: checking if file ino is supported" >&5
-echo $ECHO_N "checking if file ino is supported... $ECHO_C" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if file ino is supported" >&5
+$as_echo_n "checking if file ino is supported... " >&6; }
touch conftest-f1
touch conftest-f2
-if test "$cross_compiling" = yes; then
+if test "$cross_compiling" = yes; then :
if test "$MINGW32" = "yes"
then
- { echo "$as_me:$LINENO: result: cant run test!" >&5
-echo "${ECHO_T}cant run test!" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: cant run test!" >&5
+$as_echo "cant run test!" >&6; }
else
- { echo "$as_me:$LINENO: result: cant run test!" >&5
-echo "${ECHO_T}cant run test!" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: cant run test!" >&5
+$as_echo "cant run test!" >&6; }
-cat >>confdefs.h <<\_ACEOF
-#define USE_FILE_INO 1
-_ACEOF
+$as_echo "#define USE_FILE_INO 1" >>confdefs.h
fi
else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdlib.h>
#include <sys/stat.h>
}
_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+if ac_fn_cxx_try_run "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
-cat >>confdefs.h <<\_ACEOF
-#define USE_FILE_INO 1
-_ACEOF
+$as_echo "#define USE_FILE_INO 1" >>confdefs.h
else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
-
-{ echo "$as_me:$LINENO: checking if posix locals are supported" >&5
-echo $ECHO_N "checking if posix locals are supported... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if posix locals are supported" >&5
+$as_echo_n "checking if posix locals are supported... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <locale.h>
int
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
-cat >>confdefs.h <<\_ACEOF
-#define USE_LOCALE 1
-_ACEOF
+$as_echo "#define USE_LOCALE 1" >>confdefs.h
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
-
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
if test "$enable_regex" != "no"
then
- { echo "$as_me:$LINENO: checking if posix regex are supported" >&5
-echo $ECHO_N "checking if posix regex are supported... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if posix regex are supported" >&5
+$as_echo_n "checking if posix regex are supported... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/types.h>
#include <regex.h>
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+if ac_fn_cxx_try_link "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
-cat >>confdefs.h <<\_ACEOF
-#define USE_POSIX_REGEX 1
-_ACEOF
+$as_echo "#define USE_POSIX_REGEX 1" >>confdefs.h
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
fi
- { echo "$as_me:$LINENO: checking for nl_langinfo and CODESET" >&5
-echo $ECHO_N "checking for nl_langinfo and CODESET... $ECHO_C" >&6; }
-if test "${am_cv_langinfo_codeset+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and CODESET" >&5
+$as_echo_n "checking for nl_langinfo and CODESET... " >&6; }
+if ${am_cv_langinfo_codeset+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <langinfo.h>
int
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+if ac_fn_cxx_try_link "$LINENO"; then :
am_cv_langinfo_codeset=yes
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- am_cv_langinfo_codeset=no
+ am_cv_langinfo_codeset=no
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
fi
-{ echo "$as_me:$LINENO: result: $am_cv_langinfo_codeset" >&5
-echo "${ECHO_T}$am_cv_langinfo_codeset" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_langinfo_codeset" >&5
+$as_echo "$am_cv_langinfo_codeset" >&6; }
if test $am_cv_langinfo_codeset = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_LANGINFO_CODESET 1
-_ACEOF
+$as_echo "#define HAVE_LANGINFO_CODESET 1" >>confdefs.h
fi
-{ echo "$as_me:$LINENO: checking if posix mutexes are supported" >&5
-echo $ECHO_N "checking if posix mutexes are supported... $ECHO_C" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if posix mutexes are supported" >&5
+$as_echo_n "checking if posix mutexes are supported... " >&6; }
ORIG_LIBS="$LIBS"
if test -z "$use_posix_mutex"
then
LIBS="$l $ORIG_LIBS"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <pthread.h>
int
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+if ac_fn_cxx_try_link "$LINENO"; then :
PTHREAD_LIB=$l
use_posix_mutex=1
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
fi
done
then
if test -z "$PTHREAD_LIB"
then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
else
- { echo "$as_me:$LINENO: result: yes (in $PTHREAD_LIB)" >&5
-echo "${ECHO_T}yes (in $PTHREAD_LIB)" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes (in $PTHREAD_LIB)" >&5
+$as_echo "yes (in $PTHREAD_LIB)" >&6; }
fi
-cat >>confdefs.h <<\_ACEOF
-#define USE_POSIX_MUTEX 1
-_ACEOF
+$as_echo "#define USE_POSIX_MUTEX 1" >>confdefs.h
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- { echo "$as_me:$LINENO: WARNING: Unable to find locking mechanism, Aspell will not be thread safe." >&5
-echo "$as_me: WARNING: Unable to find locking mechanism, Aspell will not be thread safe." >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to find locking mechanism, Aspell will not be thread safe." >&5
+$as_echo "$as_me: WARNING: Unable to find locking mechanism, Aspell will not be thread safe." >&2;}
fi
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
-{ echo "$as_me:$LINENO: checking if mblen is supported" >&5
-echo $ECHO_N "checking if mblen is supported... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if mblen is supported" >&5
+$as_echo_n "checking if mblen is supported... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <wchar.h>
#include <stddef.h>
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+if ac_fn_cxx_try_link "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_MBLEN 1
-_ACEOF
+$as_echo "#define HAVE_MBLEN 1" >>confdefs.h
have_mblen=1
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
if test -z "$CURSES_LIB"
then
- { echo "$as_me:$LINENO: checking for working curses library" >&5
-echo $ECHO_N "checking for working curses library... $ECHO_C" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working curses library" >&5
+$as_echo_n "checking for working curses library... " >&6; }
if test "$enable_wide_curses" != "no" -a -n "$have_mblen"
then
LIBS="-lncursesw $ORIG_LIBS"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <ncursesw/curses.h>
int
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+if ac_fn_cxx_try_link "$LINENO"; then :
CURSES_LIB=-lncursesw
-cat >>confdefs.h <<\_ACEOF
-#define CURSES_HEADER <ncursesw/curses.h>
-_ACEOF
-
-
-cat >>confdefs.h <<\_ACEOF
-#define TERM_HEADER <ncursesw/term.h>
-_ACEOF
+$as_echo "#define CURSES_HEADER <ncursesw/curses.h>" >>confdefs.h
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+$as_echo "#define TERM_HEADER <ncursesw/term.h>" >>confdefs.h
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
fi
if test -z "$CURSES_LIB"
then
LIBS="-lncurses $ORIG_LIBS"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <ncurses/curses.h>
int
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+if ac_fn_cxx_try_link "$LINENO"; then :
CURSES_LIB=-lncurses
-cat >>confdefs.h <<\_ACEOF
-#define CURSES_HEADER <ncurses/curses.h>
-_ACEOF
+$as_echo "#define CURSES_HEADER <ncurses/curses.h>" >>confdefs.h
-cat >>confdefs.h <<\_ACEOF
-#define TERM_HEADER <ncurses/term.h>
-_ACEOF
+$as_echo "#define TERM_HEADER <ncurses/term.h>" >>confdefs.h
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
LIBS="-lncurses $ORIG_LIBS"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <ncurses.h>
int
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+if ac_fn_cxx_try_link "$LINENO"; then :
CURSES_LIB=-lncurses
-cat >>confdefs.h <<\_ACEOF
-#define CURSES_HEADER <ncurses.h>
-_ACEOF
+$as_echo "#define CURSES_HEADER <ncurses.h>" >>confdefs.h
-cat >>confdefs.h <<\_ACEOF
-#define TERM_HEADER <term.h>
-_ACEOF
+$as_echo "#define TERM_HEADER <term.h>" >>confdefs.h
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
LIBS="-lcurses $ORIG_LIBS"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <curses.h>
int
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+if ac_fn_cxx_try_link "$LINENO"; then :
CURSES_LIB=-lcurses
-cat >>confdefs.h <<\_ACEOF
-#define CURSES_HEADER <curses.h>
-_ACEOF
+$as_echo "#define CURSES_HEADER <curses.h>" >>confdefs.h
-cat >>confdefs.h <<\_ACEOF
-#define TERM_HEADER <term.h>
-_ACEOF
+$as_echo "#define TERM_HEADER <term.h>" >>confdefs.h
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
LIBS="-lncurses $ORIG_LIBS"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <curses.h>
int
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+if ac_fn_cxx_try_link "$LINENO"; then :
CURSES_LIB=-lncurses
-cat >>confdefs.h <<\_ACEOF
-#define CURSES_HEADER <curses.h>
-_ACEOF
-
-
-cat >>confdefs.h <<\_ACEOF
-#define TERM_HEADER <term.h>
-_ACEOF
+$as_echo "#define CURSES_HEADER <curses.h>" >>confdefs.h
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+$as_echo "#define TERM_HEADER <term.h>" >>confdefs.h
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
fi
if test -n "$CURSES_LIB"
then
- { echo "$as_me:$LINENO: result: found in $CURSES_LIB" >&5
-echo "${ECHO_T}found in $CURSES_LIB" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: found in $CURSES_LIB" >&5
+$as_echo "found in $CURSES_LIB" >&6; }
else
- { echo "$as_me:$LINENO: result: not found" >&5
-echo "${ECHO_T}not found" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+$as_echo "not found" >&6; }
fi
else
-cat >>confdefs.h <<\_ACEOF
-#define CURSES_HEADER <curses.h>
-_ACEOF
+$as_echo "#define CURSES_HEADER <curses.h>" >>confdefs.h
-cat >>confdefs.h <<\_ACEOF
-#define TERM_HEADER <term.h>
-_ACEOF
+$as_echo "#define TERM_HEADER <term.h>" >>confdefs.h
fi
if test "$enable_wide_curses" != "no"
then
- { echo "$as_me:$LINENO: checking for wide character support in curses libraray" >&5
-echo $ECHO_N "checking for wide character support in curses libraray... $ECHO_C" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wide character support in curses libraray" >&5
+$as_echo_n "checking for wide character support in curses libraray... " >&6; }
if test -n "$have_mblen"
then
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <wchar.h>
#include CURSES_HEADER
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+if ac_fn_cxx_try_link "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_WIDE_CURSES 1
-_ACEOF
+$as_echo "#define HAVE_WIDE_CURSES 1" >>confdefs.h
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#define _XOPEN_SOURCE_EXTENDED 1
#include <wchar.h>
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_WIDE_CURSES 1
-_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ $as_echo "#define HAVE_WIDE_CURSES 1" >>confdefs.h
-cat >>confdefs.h <<\_ACEOF
-#define DEFINE_XOPEN_SOURCE_EXTENDED 1
-_ACEOF
+$as_echo "#define DEFINE_XOPEN_SOURCE_EXTENDED 1" >>confdefs.h
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- { echo "$as_me:$LINENO: WARNING: Aspell will not be able to Display UTF-8 characters correctly." >&5
-echo "$as_me: WARNING: Aspell will not be able to Display UTF-8 characters correctly." >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Aspell will not be able to Display UTF-8 characters correctly." >&5
+$as_echo "$as_me: WARNING: Aspell will not be able to Display UTF-8 characters correctly." >&2;}
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
else
- { echo "$as_me:$LINENO: result: no, because \"mblen\" is not supported" >&5
-echo "${ECHO_T}no, because \"mblen\" is not supported" >&6; }
- { echo "$as_me:$LINENO: WARNING: Aspell will not be able to Display UTF-8 characters correctly." >&5
-echo "$as_me: WARNING: Aspell will not be able to Display UTF-8 characters correctly." >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, because \"mblen\" is not supported" >&5
+$as_echo "no, because \"mblen\" is not supported" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Aspell will not be able to Display UTF-8 characters correctly." >&5
+$as_echo "$as_me: WARNING: Aspell will not be able to Display UTF-8 characters correctly." >&2;}
fi
fi
- { echo "$as_me:$LINENO: checking if standard curses include sequence will work" >&5
-echo $ECHO_N "checking if standard curses include sequence will work... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if standard curses include sequence will work" >&5
+$as_echo_n "checking if standard curses include sequence will work... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifdef DEFINE_XOPEN_SOURCE_EXTENDED
# define _XOPEN_SOURCE_EXTENDED 1
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+if ac_fn_cxx_try_link "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_LIBCURSES 1
-_ACEOF
+$as_echo "#define HAVE_LIBCURSES 1" >>confdefs.h
posix_termios=t
-cat >>confdefs.h <<\_ACEOF
-#define CURSES_INCLUDE_STANDARD 1
-_ACEOF
+$as_echo "#define CURSES_INCLUDE_STANDARD 1" >>confdefs.h
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
- { echo "$as_me:$LINENO: checking if curses workaround I will work" >&5
-echo $ECHO_N "checking if curses workaround I will work... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if curses workaround I will work" >&5
+$as_echo_n "checking if curses workaround I will work... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifdef DEFINE_XOPEN_SOURCE_EXTENDED
# define _XOPEN_SOURCE_EXTENDED 1
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_LIBCURSES 1
-_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ $as_echo "#define HAVE_LIBCURSES 1" >>confdefs.h
posix_termios=t
-cat >>confdefs.h <<\_ACEOF
-#define CURSES_INCLUDE_WORKAROUND_1 1
-_ACEOF
+$as_echo "#define CURSES_INCLUDE_WORKAROUND_1 1" >>confdefs.h
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
- { echo "$as_me:$LINENO: checking if curses without Unix stuff will work" >&5
-echo $ECHO_N "checking if curses without Unix stuff will work... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if curses without Unix stuff will work" >&5
+$as_echo_n "checking if curses without Unix stuff will work... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include CURSES_HEADER
int
main ()
-{
-initscr();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_LIBCURSES 1
+{
+initscr();
+ ;
+ return 0;
+}
_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ $as_echo "#define HAVE_LIBCURSES 1" >>confdefs.h
-cat >>confdefs.h <<\_ACEOF
-#define CURSES_ONLY 1
-_ACEOF
+$as_echo "#define CURSES_ONLY 1" >>confdefs.h
curses_only=t
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
use_curses=false
CURSES_LIBS=""
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
fi
if test -z "$posix_termios" -a -z "$curses_only"
then
- { echo "$as_me:$LINENO: checking if posix termios is supported" >&5
-echo $ECHO_N "checking if posix termios is supported... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if posix termios is supported" >&5
+$as_echo_n "checking if posix termios is supported... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <termios.h>
#include <unistd.h>
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+if ac_fn_cxx_try_link "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
posix_termios=t
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
fi
if test -z "$posix_termios" -a -z "$use_curses"
then
- { echo "$as_me:$LINENO: checking if getch is supported" >&5
-echo $ECHO_N "checking if getch is supported... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if getch is supported" >&5
+$as_echo_n "checking if getch is supported... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
extern "C" {int getch();}
int
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+if ac_fn_cxx_try_link "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GETCH 1
-_ACEOF
+$as_echo "#define HAVE_GETCH 1" >>confdefs.h
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
fi
if test "$posix_termios"
then
-cat >>confdefs.h <<\_ACEOF
-#define POSIX_TERMIOS 1
-_ACEOF
+$as_echo "#define POSIX_TERMIOS 1" >>confdefs.h
fi
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
-{ echo "$as_me:$LINENO: checking for STL rel_ops pollution" >&5
-echo $ECHO_N "checking for STL rel_ops pollution... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for STL rel_ops pollution" >&5
+$as_echo_n "checking for STL rel_ops pollution... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <utility>
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
-cat >>confdefs.h <<\_ACEOF
-#define REL_OPS_POLLUTION 1
-_ACEOF
+$as_echo "#define REL_OPS_POLLUTION 1" >>confdefs.h
fi
-
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
case $ac_val in #(
*${as_nl}*)
case $ac_var in #(
- *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
esac
case $ac_var in #(
_ | IFS | as_nl) ;; #(
- *) $as_unset $ac_var ;;
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) { eval $ac_var=; unset $ac_var;} ;;
esac ;;
esac
done
(set) 2>&1 |
case $as_nl`(ac_space=' '; set) 2>&1` in #(
*${as_nl}ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \).
+ # `set' does not quote correctly, so add quotes: double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \.
sed -n \
"s/'/'\\\\''/g;
s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
:end' >>confcache
if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
if test -w "$cache_file"; then
- test "x$cache_file" != "x/dev/null" &&
- { echo "$as_me:$LINENO: updating cache $cache_file" >&5
-echo "$as_me: updating cache $cache_file" >&6;}
- cat confcache >$cache_file
+ if test "x$cache_file" != "x/dev/null"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
+ if test ! -f "$cache_file" || test -h "$cache_file"; then
+ cat confcache >"$cache_file"
+ else
+ case $cache_file in #(
+ */* | ?:*)
+ mv -f confcache "$cache_file"$$ &&
+ mv -f "$cache_file"$$ "$cache_file" ;; #(
+ *)
+ mv -f confcache "$cache_file" ;;
+ esac
+ fi
+ fi
else
- { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
-echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
fi
fi
rm -f confcache
for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
# 1. Remove the extension, and $U if already installed.
ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`echo "$ac_i" | sed "$ac_script"`
+ ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
# 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
# will be set to the directory where LIBOBJS objects are built.
- ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
- ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
+ as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+ as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
done
LIBOBJS=$ac_libobjs
LTLIBOBJS=$ac_ltlibobjs
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
+$as_echo_n "checking that generated files are newer than configure... " >&6; }
+ if test -n "$am_sleep_pid"; then
+ # Hide warnings about reused PIDs.
+ wait $am_sleep_pid 2>/dev/null
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
+$as_echo "done" >&6; }
+ if test -n "$EXEEXT"; then
+ am__EXEEXT_TRUE=
+ am__EXEEXT_FALSE='#'
+else
+ am__EXEEXT_TRUE='#'
+ am__EXEEXT_FALSE=
+fi
+
if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
+ as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
+ as_fn_error $? "conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
+ as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
+ as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${COMPILE_IN_FILTERS_TRUE}" && test -z "${COMPILE_IN_FILTERS_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"COMPILE_IN_FILTERS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"COMPILE_IN_FILTERS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
+ as_fn_error $? "conditional \"COMPILE_IN_FILTERS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${PSPELL_COMPATIBILITY_TRUE}" && test -z "${PSPELL_COMPATIBILITY_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"PSPELL_COMPATIBILITY\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"PSPELL_COMPATIBILITY\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
+ as_fn_error $? "conditional \"PSPELL_COMPATIBILITY\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${INCREMENTED_SONAME_TRUE}" && test -z "${INCREMENTED_SONAME_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"INCREMENTED_SONAME\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"INCREMENTED_SONAME\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
+ as_fn_error $? "conditional \"INCREMENTED_SONAME\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
+ac_write_fail=0
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
-echo "$as_me: creating $CONFIG_STATUS" >&6;}
-cat >$CONFIG_STATUS <<_ACEOF
+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+as_write_fail=0
+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
#! $SHELL
# Generated by $as_me.
# Run this file to recreate the current configuration.
debug=false
ac_cs_recheck=false
ac_cs_silent=false
-SHELL=\${CONFIG_SHELL-$SHELL}
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
emulate sh
NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
else
- case `(set -o) 2>/dev/null` in
- *posix*) set -o posix ;;
+ case `(set -o) 2>/dev/null` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
esac
-
fi
-
-
-# PATH needs CR
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='print -r --'
+ as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
else
- PATH_SEPARATOR=:
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in #(
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
fi
- rm -f conf$$.sh
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
fi
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
fi
# there to prevent editors from complaining about space-tab.
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
# splitting by setting IFS to empty value.)
-as_nl='
-'
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
-case $0 in
+as_myself=
+case $0 in #((
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+ done
IFS=$as_save_IFS
;;
as_myself=$0
fi
if test ! -f "$as_myself"; then
- echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- { (exit 1); exit 1; }
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ exit 1
fi
-# Work around bugs in pre-3.0 UWIN ksh.
-for as_var in ENV MAIL MAILPATH
-do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there. '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
done
PS1='$ '
PS2='> '
PS4='+ '
# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
fi
-done
+ $as_echo "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+} # as_fn_error
+
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+ return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+ set +e
+ as_fn_set_status $1
+ exit $1
+} # as_fn_exit
+
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+ { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+ eval 'as_fn_append ()
+ {
+ eval $1+=\$2
+ }'
+else
+ as_fn_append ()
+ {
+ eval $1=\$$1\$2
+ }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+ eval 'as_fn_arith ()
+ {
+ as_val=$(( $* ))
+ }'
+else
+ as_fn_arith ()
+ {
+ as_val=`expr "$@" || test $? -eq 1`
+ }
+fi # as_fn_arith
+
-# Required to use basename.
if expr a : '\(a\)' >/dev/null 2>&1 &&
test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
as_basename=false
fi
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
-# Name of the executable.
as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X/"$0" |
+$as_echo X/"$0" |
sed '/^.*\/\([^/][^/]*\)\/*$/{
s//\1/
q
}
s/.*/./; q'`
-# CDPATH.
-$as_unset CDPATH
-
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line after each line using $LINENO; the second 'sed'
- # does the real work. The second script uses 'N' to pair each
- # line-number line with the line containing $LINENO, and appends
- # trailing '-' during substitution so that $LINENO is not a special
- # case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # scripts with optimization help from Paolo Bonzini. Blame Lee
- # E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
- sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
- N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- s/-\n.*//
- ' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
- { (exit 1); exit 1; }; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
-
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in
+case `echo -n x` in #(((((
-n*)
- case `echo 'x\c'` in
+ case `echo 'xy\c'` in
*c*) ECHO_T=' ';; # ECHO_T is single tab character.
- *) ECHO_C='\c';;
+ xy) ECHO_C='\c';;
+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
+ ECHO_T=' ';;
esac;;
*)
ECHO_N='-n';;
esac
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
rm -f conf$$.dir/conf$$.file
else
rm -f conf$$.dir
- mkdir conf$$.dir
-fi
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
-else
- as_ln_s='cp -p'
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -pR'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -pR'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -pR'
+ fi
+else
+ as_ln_s='cp -pR'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || eval $as_mkdir_p || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
+ as_mkdir_p='mkdir -p "$as_dir"'
else
test -d ./-p && rmdir ./-p
as_mkdir_p=false
fi
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
exec 6>&1
+## ----------------------------------- ##
+## Main body of $CONFIG_STATUS script. ##
+## ----------------------------------- ##
+_ASEOF
+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-# Save the log message, to keep $[0] and so on meaningful, and to
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# Save the log message, to keep $0 and so on meaningful, and to
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by GNU Aspell $as_me 0.60.6.1, which was
-generated by GNU Autoconf 2.61. Invocation command line was
+This file was extended by GNU Aspell $as_me 0.60.7, which was
+generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
+
+case $ac_config_headers in *"
+"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
+esac
+
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
# Files that config.status was made for.
config_files="$ac_config_files"
config_headers="$ac_config_headers"
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
ac_cs_usage="\
-\`$as_me' instantiates files from templates according to the
-current configuration.
+\`$as_me' instantiates files and other configuration actions
+from templates according to the current configuration. Unless the files
+and actions are specified as TAGs, all are instantiated by default.
-Usage: $0 [OPTIONS] [FILE]...
+Usage: $0 [OPTION]... [TAG]...
-h, --help print this help, then exit
-V, --version print version number and configuration settings, then exit
- -q, --quiet do not print progress messages
+ --config print configuration, then exit
+ -q, --quiet, --silent
+ do not print progress messages
-d, --debug don't remove temporary files
--recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
Configuration files:
$config_files
Configuration commands:
$config_commands
-Report bugs to <bug-autoconf@gnu.org>."
+Report bugs to the package provider.
+GNU Aspell home page: <http://www.gnu.org/software/aspell/>.
+General help using GNU software: <http://www.gnu.org/gethelp/>."
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-GNU Aspell config.status 0.60.6.1
-configured by $0, generated by GNU Autoconf 2.61,
- with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+GNU Aspell config.status 0.60.7
+configured by $0, generated by GNU Autoconf 2.69,
+ with options \\"\$ac_cs_config\\"
-Copyright (C) 2006 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
srcdir='$srcdir'
INSTALL='$INSTALL'
MKDIR_P='$MKDIR_P'
+AWK='$AWK'
+test -n "\$AWK" || AWK=awk
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-# If no file are specified by the user, then we need to provide default
-# value. By we need to know if files were specified by the user.
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
ac_need_defaults=:
while test $# != 0
do
case $1 in
- --*=*)
+ --*=?*)
ac_option=`expr "X$1" : 'X\([^=]*\)='`
ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
ac_shift=:
;;
+ --*=)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=
+ ac_shift=:
+ ;;
*)
ac_option=$1
ac_optarg=$2
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
ac_cs_recheck=: ;;
--version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- echo "$ac_cs_version"; exit ;;
+ $as_echo "$ac_cs_version"; exit ;;
+ --config | --confi | --conf | --con | --co | --c )
+ $as_echo "$ac_cs_config"; exit ;;
--debug | --debu | --deb | --de | --d | -d )
debug=: ;;
--file | --fil | --fi | --f )
$ac_shift
- CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ '') as_fn_error $? "missing file argument" ;;
+ esac
+ as_fn_append CONFIG_FILES " '$ac_optarg'"
ac_need_defaults=false;;
--header | --heade | --head | --hea )
$ac_shift
- CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ as_fn_append CONFIG_HEADERS " '$ac_optarg'"
ac_need_defaults=false;;
--he | --h)
# Conflict between --help and --header
- { echo "$as_me: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&2
- { (exit 1); exit 1; }; };;
+ as_fn_error $? "ambiguous option: \`$1'
+Try \`$0 --help' for more information.";;
--help | --hel | -h )
- echo "$ac_cs_usage"; exit ;;
+ $as_echo "$ac_cs_usage"; exit ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil | --si | --s)
ac_cs_silent=: ;;
# This is an error.
- -*) { echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2
- { (exit 1); exit 1; }; } ;;
+ -*) as_fn_error $? "unrecognized option: \`$1'
+Try \`$0 --help' for more information." ;;
- *) ac_config_targets="$ac_config_targets $1"
+ *) as_fn_append ac_config_targets " $1"
ac_need_defaults=false ;;
esac
fi
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
if \$ac_cs_recheck; then
- echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
- CONFIG_SHELL=$SHELL
+ set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ shift
+ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+ CONFIG_SHELL='$SHELL'
export CONFIG_SHELL
- exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ exec "\$@"
fi
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
exec 5>>config.log
{
echo
sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
## Running $as_me. ##
_ASBOX
- echo "$ac_log"
+ $as_echo "$ac_log"
} >&5
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
#
# INIT-COMMANDS
#
sed_quote_subst='$sed_quote_subst'
double_quote_subst='$double_quote_subst'
delay_variable_subst='$delay_variable_subst'
-enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`'
-macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`'
-enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`'
-host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`'
-host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`'
-host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`'
-build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`'
-build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`'
-build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`'
-SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`'
-Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`'
-GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`'
-EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`'
-FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`'
-LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`'
-NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`'
-LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`'
-max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`'
-ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`'
-exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`'
-lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`'
-lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`'
-lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`'
-reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`'
-reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`'
-file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`'
-AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`'
-AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`'
-STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`'
-RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`'
-old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`'
-CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`'
-compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`'
-GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
-objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`'
-SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`'
-ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`'
-MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`'
-need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`'
-DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`'
-NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`'
-libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`'
-shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`'
-export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
-whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`'
-allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
-no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`'
-inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`'
-link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`'
-fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`'
-always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`'
-export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
-include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
-prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`'
-variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`'
-need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
-need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`'
-version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`'
-runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`'
-shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
-shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`'
-libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`'
-library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`'
-soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`'
-postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`'
-sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`'
-enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`'
-enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`'
-enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`'
-old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`'
-striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_lib_search_dirs='`$ECHO "X$compiler_lib_search_dirs" | $Xsed -e "$delay_single_quote_subst"`'
-predep_objects='`$ECHO "X$predep_objects" | $Xsed -e "$delay_single_quote_subst"`'
-postdep_objects='`$ECHO "X$postdep_objects" | $Xsed -e "$delay_single_quote_subst"`'
-predeps='`$ECHO "X$predeps" | $Xsed -e "$delay_single_quote_subst"`'
-postdeps='`$ECHO "X$postdeps" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_lib_search_path='`$ECHO "X$compiler_lib_search_path" | $Xsed -e "$delay_single_quote_subst"`'
-LD_CXX='`$ECHO "X$LD_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_cmds_CXX='`$ECHO "X$old_archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_CXX='`$ECHO "X$compiler_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-GCC_CXX='`$ECHO "X$GCC_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "X$lt_prog_compiler_no_builtin_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_wl_CXX='`$ECHO "X$lt_prog_compiler_wl_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_pic_CXX='`$ECHO "X$lt_prog_compiler_pic_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_static_CXX='`$ECHO "X$lt_prog_compiler_static_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o_CXX='`$ECHO "X$lt_cv_prog_compiler_c_o_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-archive_cmds_need_lc_CXX='`$ECHO "X$archive_cmds_need_lc_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes_CXX='`$ECHO "X$enable_shared_with_static_runtimes_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-export_dynamic_flag_spec_CXX='`$ECHO "X$export_dynamic_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-whole_archive_flag_spec_CXX='`$ECHO "X$whole_archive_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_needs_object_CXX='`$ECHO "X$compiler_needs_object_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_from_new_cmds_CXX='`$ECHO "X$old_archive_from_new_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds_CXX='`$ECHO "X$old_archive_from_expsyms_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-archive_cmds_CXX='`$ECHO "X$archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-archive_expsym_cmds_CXX='`$ECHO "X$archive_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-module_cmds_CXX='`$ECHO "X$module_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-module_expsym_cmds_CXX='`$ECHO "X$module_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-with_gnu_ld_CXX='`$ECHO "X$with_gnu_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-allow_undefined_flag_CXX='`$ECHO "X$allow_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-no_undefined_flag_CXX='`$ECHO "X$no_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_CXX='`$ECHO "X$hardcode_libdir_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld_CXX='`$ECHO "X$hardcode_libdir_flag_spec_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_separator_CXX='`$ECHO "X$hardcode_libdir_separator_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_direct_CXX='`$ECHO "X$hardcode_direct_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_direct_absolute_CXX='`$ECHO "X$hardcode_direct_absolute_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_minus_L_CXX='`$ECHO "X$hardcode_minus_L_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_shlibpath_var_CXX='`$ECHO "X$hardcode_shlibpath_var_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_automatic_CXX='`$ECHO "X$hardcode_automatic_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-inherit_rpath_CXX='`$ECHO "X$inherit_rpath_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-link_all_deplibs_CXX='`$ECHO "X$link_all_deplibs_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-fix_srcfile_path_CXX='`$ECHO "X$fix_srcfile_path_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-always_export_symbols_CXX='`$ECHO "X$always_export_symbols_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-export_symbols_cmds_CXX='`$ECHO "X$export_symbols_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-exclude_expsyms_CXX='`$ECHO "X$exclude_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-include_expsyms_CXX='`$ECHO "X$include_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-prelink_cmds_CXX='`$ECHO "X$prelink_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-file_list_spec_CXX='`$ECHO "X$file_list_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_action_CXX='`$ECHO "X$hardcode_action_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_lib_search_dirs_CXX='`$ECHO "X$compiler_lib_search_dirs_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-predep_objects_CXX='`$ECHO "X$predep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-postdep_objects_CXX='`$ECHO "X$postdep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-predeps_CXX='`$ECHO "X$predeps_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-postdeps_CXX='`$ECHO "X$postdeps_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_lib_search_path_CXX='`$ECHO "X$compiler_lib_search_path_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
+macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
+macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
+enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
+pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
+enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
+SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
+ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
+PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
+host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
+host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
+host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
+build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
+build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
+build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
+SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
+Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
+GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
+EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
+FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
+LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
+NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
+LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
+max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
+ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
+exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
+lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
+lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
+lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
+lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
+reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
+reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
+OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
+deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
+file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
+file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
+want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
+DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
+sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
+AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
+AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
+archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
+STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
+RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
+old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
+old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
+lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
+CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
+CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
+compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
+GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
+nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
+lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
+objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
+MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
+need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
+MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
+DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
+NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
+LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
+OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
+OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
+libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
+shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
+extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
+archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
+export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
+whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
+compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
+old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
+archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
+archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
+module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
+module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
+with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
+allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
+no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
+hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
+hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
+hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
+hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
+hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
+inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
+link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
+always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
+export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
+exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
+include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
+prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
+postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
+file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
+variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
+need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
+need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
+version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
+runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
+shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
+shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
+libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
+library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
+soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
+install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
+postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
+finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
+finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
+hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
+sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
+sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
+hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
+enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
+enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
+enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
+old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
+striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
+compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`'
+predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`'
+postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`'
+predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`'
+postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`'
+compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`'
+LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`'
+reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`'
+reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`'
+GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`'
+archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`'
+export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
+whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
+compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`'
+old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`'
+allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
+no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`'
+inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`'
+link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`'
+always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`'
+export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
+include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
+prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`'
+compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`'
+predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`'
+postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`'
+predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`'
+postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`'
+compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`'
LTCC='$LTCC'
LTCFLAGS='$LTCFLAGS'
compiler='$compiler_DEFAULT'
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+\$1
+_LTECHO_EOF'
+}
+
# Quote evaled strings.
-for var in SED \
+for var in SHELL \
+ECHO \
+PATH_SEPARATOR \
+SED \
GREP \
EGREP \
FGREP \
lt_SP2NL \
lt_NL2SP \
reload_flag \
+OBJDUMP \
deplibs_check_method \
file_magic_cmd \
+file_magic_glob \
+want_nocaseglob \
+DLLTOOL \
+sharedlib_from_linklib_cmd \
AR \
AR_FLAGS \
+archiver_list_spec \
STRIP \
RANLIB \
CC \
lt_cv_sys_global_symbol_to_cdecl \
lt_cv_sys_global_symbol_to_c_name_address \
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-SHELL \
-ECHO \
+nm_file_list_spec \
lt_prog_compiler_no_builtin_flag \
-lt_prog_compiler_wl \
lt_prog_compiler_pic \
+lt_prog_compiler_wl \
lt_prog_compiler_static \
lt_cv_prog_compiler_c_o \
need_locks \
+MANIFEST_TOOL \
DSYMUTIL \
NMEDIT \
+LIPO \
+OTOOL \
+OTOOL64 \
shrext_cmds \
export_dynamic_flag_spec \
whole_archive_flag_spec \
allow_undefined_flag \
no_undefined_flag \
hardcode_libdir_flag_spec \
-hardcode_libdir_flag_spec_ld \
hardcode_libdir_separator \
-fix_srcfile_path \
exclude_expsyms \
include_expsyms \
file_list_spec \
libname_spec \
library_names_spec \
soname_spec \
+install_override_mode \
finish_eval \
old_striplib \
striplib \
postdeps \
compiler_lib_search_path \
LD_CXX \
+reload_flag_CXX \
compiler_CXX \
lt_prog_compiler_no_builtin_flag_CXX \
-lt_prog_compiler_wl_CXX \
lt_prog_compiler_pic_CXX \
+lt_prog_compiler_wl_CXX \
lt_prog_compiler_static_CXX \
lt_cv_prog_compiler_c_o_CXX \
export_dynamic_flag_spec_CXX \
allow_undefined_flag_CXX \
no_undefined_flag_CXX \
hardcode_libdir_flag_spec_CXX \
-hardcode_libdir_flag_spec_ld_CXX \
hardcode_libdir_separator_CXX \
-fix_srcfile_path_CXX \
exclude_expsyms_CXX \
include_expsyms_CXX \
file_list_spec_CXX \
predeps_CXX \
postdeps_CXX \
compiler_lib_search_path_CXX; do
- case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
*[\\\\\\\`\\"\\\$]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
;;
*)
eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
module_expsym_cmds \
export_symbols_cmds \
prelink_cmds \
+postlink_cmds \
postinstall_cmds \
postuninstall_cmds \
finish_cmds \
sys_lib_search_path_spec \
sys_lib_dlsearch_path_spec \
+reload_cmds_CXX \
old_archive_cmds_CXX \
old_archive_from_new_cmds_CXX \
old_archive_from_expsyms_cmds_CXX \
module_cmds_CXX \
module_expsym_cmds_CXX \
export_symbols_cmds_CXX \
-prelink_cmds_CXX; do
- case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+prelink_cmds_CXX \
+postlink_cmds_CXX; do
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
*[\\\\\\\`\\"\\\$]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
;;
*)
eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
esac
done
-# Fix-up fallback echo if it was mangled by the above quoting rules.
-case \$lt_ECHO in
-*'\\\$0 --fallback-echo"') lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\`
- ;;
-esac
-
ac_aux_dir='$ac_aux_dir'
xsi_shell='$xsi_shell'
lt_shell_append='$lt_shell_append'
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# Handling of arguments.
for ac_config_target in $ac_config_targets
"myspell/Makefile") CONFIG_FILES="$CONFIG_FILES myspell/Makefile" ;;
"lib5/Makefile") CONFIG_FILES="$CONFIG_FILES lib5/Makefile" ;;
- *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
- { (exit 1); exit 1; }; };;
+ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
esac
done
# after its creation but before its name has been assigned to `$tmp'.
$debug ||
{
- tmp=
+ tmp= ac_tmp=
trap 'exit_status=$?
- { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+ : "${ac_tmp:=$tmp}"
+ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
' 0
- trap '{ (exit 1); exit 1; }' 1 2 13 15
+ trap 'as_fn_exit 1' 1 2 13 15
}
# Create a (secure) tmp directory for tmp files.
{
tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -n "$tmp" && test -d "$tmp"
+ test -d "$tmp"
} ||
-{
- tmp=./conf$$-$RANDOM
- (umask 077 && mkdir "$tmp")
-} ||
-{
- echo "$me: cannot create a temporary directory in ." >&2
- { (exit 1); exit 1; }
-}
-
-#
-# Set up the sed scripts for CONFIG_FILES section.
-#
-
-# No need to generate the scripts if there are no CONFIG_FILES.
-# This happens for instance when ./config.status config.h
-if test -n "$CONFIG_FILES"; then
-
-_ACEOF
-
-
+{
+ tmp=./conf$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- cat >conf$$subs.sed <<_ACEOF
-SHELL!$SHELL$ac_delim
-PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
-PACKAGE_NAME!$PACKAGE_NAME$ac_delim
-PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
-PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
-PACKAGE_STRING!$PACKAGE_STRING$ac_delim
-PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
-exec_prefix!$exec_prefix$ac_delim
-prefix!$prefix$ac_delim
-program_transform_name!$program_transform_name$ac_delim
-bindir!$bindir$ac_delim
-sbindir!$sbindir$ac_delim
-libexecdir!$libexecdir$ac_delim
-datarootdir!$datarootdir$ac_delim
-datadir!$datadir$ac_delim
-sysconfdir!$sysconfdir$ac_delim
-sharedstatedir!$sharedstatedir$ac_delim
-localstatedir!$localstatedir$ac_delim
-includedir!$includedir$ac_delim
-oldincludedir!$oldincludedir$ac_delim
-docdir!$docdir$ac_delim
-infodir!$infodir$ac_delim
-htmldir!$htmldir$ac_delim
-dvidir!$dvidir$ac_delim
-pdfdir!$pdfdir$ac_delim
-psdir!$psdir$ac_delim
-libdir!$libdir$ac_delim
-localedir!$localedir$ac_delim
-mandir!$mandir$ac_delim
-DEFS!$DEFS$ac_delim
-ECHO_C!$ECHO_C$ac_delim
-ECHO_N!$ECHO_N$ac_delim
-ECHO_T!$ECHO_T$ac_delim
-LIBS!$LIBS$ac_delim
-build_alias!$build_alias$ac_delim
-host_alias!$host_alias$ac_delim
-target_alias!$target_alias$ac_delim
-build!$build$ac_delim
-build_cpu!$build_cpu$ac_delim
-build_vendor!$build_vendor$ac_delim
-build_os!$build_os$ac_delim
-host!$host$ac_delim
-host_cpu!$host_cpu$ac_delim
-host_vendor!$host_vendor$ac_delim
-host_os!$host_os$ac_delim
-target!$target$ac_delim
-target_cpu!$target_cpu$ac_delim
-target_vendor!$target_vendor$ac_delim
-target_os!$target_os$ac_delim
-INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
-INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
-INSTALL_DATA!$INSTALL_DATA$ac_delim
-am__isrc!$am__isrc$ac_delim
-CYGPATH_W!$CYGPATH_W$ac_delim
-PACKAGE!$PACKAGE$ac_delim
-VERSION!$VERSION$ac_delim
-ACLOCAL!$ACLOCAL$ac_delim
-AUTOCONF!$AUTOCONF$ac_delim
-AUTOMAKE!$AUTOMAKE$ac_delim
-AUTOHEADER!$AUTOHEADER$ac_delim
-MAKEINFO!$MAKEINFO$ac_delim
-install_sh!$install_sh$ac_delim
-STRIP!$STRIP$ac_delim
-INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim
-mkdir_p!$mkdir_p$ac_delim
-AWK!$AWK$ac_delim
-SET_MAKE!$SET_MAKE$ac_delim
-am__leading_dot!$am__leading_dot$ac_delim
-AMTAR!$AMTAR$ac_delim
-am__tar!$am__tar$ac_delim
-am__untar!$am__untar$ac_delim
-MAINTAINER_MODE_TRUE!$MAINTAINER_MODE_TRUE$ac_delim
-MAINTAINER_MODE_FALSE!$MAINTAINER_MODE_FALSE$ac_delim
-MAINT!$MAINT$ac_delim
-pkgdocdir!$pkgdocdir$ac_delim
-pkgdatadir!$pkgdatadir$ac_delim
-pkglibdir!$pkglibdir$ac_delim
-CXX!$CXX$ac_delim
-CXXFLAGS!$CXXFLAGS$ac_delim
-LDFLAGS!$LDFLAGS$ac_delim
-CPPFLAGS!$CPPFLAGS$ac_delim
-ac_ct_CXX!$ac_ct_CXX$ac_delim
-EXEEXT!$EXEEXT$ac_delim
-OBJEXT!$OBJEXT$ac_delim
-DEPDIR!$DEPDIR$ac_delim
-am__include!$am__include$ac_delim
-am__quote!$am__quote$ac_delim
-AMDEP_TRUE!$AMDEP_TRUE$ac_delim
-AMDEP_FALSE!$AMDEP_FALSE$ac_delim
-AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim
-CXXDEPMODE!$CXXDEPMODE$ac_delim
-am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim
-am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim
-CC!$CC$ac_delim
-CFLAGS!$CFLAGS$ac_delim
-ac_ct_CC!$ac_ct_CC$ac_delim
-CCDEPMODE!$CCDEPMODE$ac_delim
-_ACEOF
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
+if test -n "$CONFIG_FILES"; then
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
- break
- elif $ac_last_try; then
- { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
- { (exit 1); exit 1; }; }
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
-if test -n "$ac_eof"; then
- ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
- ac_eof=`expr $ac_eof + 1`
+ac_cr=`echo X | tr X '\015'`
+# On cygwin, bash can eat \r inside `` if the user requested igncr.
+# But we know of no other shell where ac_cr would be empty at this
+# point, so we can use a bashism as a fallback.
+if test "x$ac_cr" = x; then
+ eval ac_cr=\$\'\\r\'
+fi
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+ ac_cs_awk_cr='\\r'
+else
+ ac_cs_awk_cr=$ac_cr
fi
-cat >>$CONFIG_STATUS <<_ACEOF
-cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-_ACEOF
-sed '
-s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
-s/^/s,@/; s/!/@,|#_!!_#|/
-:n
-t n
-s/'"$ac_delim"'$/,g/; t
-s/$/\\/; p
-N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
-' >>$CONFIG_STATUS <conf$$subs.sed
-rm -f conf$$subs.sed
-cat >>$CONFIG_STATUS <<_ACEOF
-CEOF$ac_eof
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
_ACEOF
+{
+ echo "cat >conf$$subs.awk <<_ACEOF" &&
+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+ echo "_ACEOF"
+} >conf$$subs.sh ||
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
ac_delim='%!_!# '
for ac_last_try in false false false false false :; do
- cat >conf$$subs.sed <<_ACEOF
-am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim
-am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim
-LIBTOOL!$LIBTOOL$ac_delim
-SED!$SED$ac_delim
-GREP!$GREP$ac_delim
-EGREP!$EGREP$ac_delim
-FGREP!$FGREP$ac_delim
-LD!$LD$ac_delim
-DUMPBIN!$DUMPBIN$ac_delim
-ac_ct_DUMPBIN!$ac_ct_DUMPBIN$ac_delim
-NM!$NM$ac_delim
-LN_S!$LN_S$ac_delim
-AR!$AR$ac_delim
-RANLIB!$RANLIB$ac_delim
-lt_ECHO!$lt_ECHO$ac_delim
-DSYMUTIL!$DSYMUTIL$ac_delim
-NMEDIT!$NMEDIT$ac_delim
-CPP!$CPP$ac_delim
-CXXCPP!$CXXCPP$ac_delim
-PERLPROG!$PERLPROG$ac_delim
-COMPILE_IN_FILTERS_TRUE!$COMPILE_IN_FILTERS_TRUE$ac_delim
-COMPILE_IN_FILTERS_FALSE!$COMPILE_IN_FILTERS_FALSE$ac_delim
-PSPELL_COMPATIBILITY_TRUE!$PSPELL_COMPATIBILITY_TRUE$ac_delim
-PSPELL_COMPATIBILITY_FALSE!$PSPELL_COMPATIBILITY_FALSE$ac_delim
-INCREMENTED_SONAME_TRUE!$INCREMENTED_SONAME_TRUE$ac_delim
-INCREMENTED_SONAME_FALSE!$INCREMENTED_SONAME_FALSE$ac_delim
-USE_NLS!$USE_NLS$ac_delim
-MSGFMT!$MSGFMT$ac_delim
-GMSGFMT!$GMSGFMT$ac_delim
-MSGFMT_015!$MSGFMT_015$ac_delim
-GMSGFMT_015!$GMSGFMT_015$ac_delim
-XGETTEXT!$XGETTEXT$ac_delim
-XGETTEXT_015!$XGETTEXT_015$ac_delim
-MSGMERGE!$MSGMERGE$ac_delim
-INTL_MACOSX_LIBS!$INTL_MACOSX_LIBS$ac_delim
-LIBICONV!$LIBICONV$ac_delim
-LTLIBICONV!$LTLIBICONV$ac_delim
-INTLLIBS!$INTLLIBS$ac_delim
-LIBINTL!$LIBINTL$ac_delim
-LTLIBINTL!$LTLIBINTL$ac_delim
-POSUB!$POSUB$ac_delim
-PTHREAD_LIB!$PTHREAD_LIB$ac_delim
-CURSES_LIB!$CURSES_LIB$ac_delim
-CURSES_INCLUDE!$CURSES_INCLUDE$ac_delim
-LIBOBJS!$LIBOBJS$ac_delim
-LTLIBOBJS!$LTLIBOBJS$ac_delim
-_ACEOF
+ . ./conf$$subs.sh ||
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 46; then
+ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+ if test $ac_delim_n = $ac_delim_num; then
break
elif $ac_last_try; then
- { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
- { (exit 1); exit 1; }; }
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
else
ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
done
+rm -f conf$$subs.sh
-ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
-if test -n "$ac_eof"; then
- ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
- ac_eof=`expr $ac_eof + 1`
-fi
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
+_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\)..*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\)..*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' <conf$$subs.awk | sed '
+/^[^""]/{
+ N
+ s/\n//
+}
+' >>$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
+ for (key in S) S_is_set[key] = 1
+ FS = "\a"
+
+}
+{
+ line = $ 0
+ nfields = split(line, field, "@")
+ substed = 0
+ len = length(field[1])
+ for (i = 2; i < nfields; i++) {
+ key = field[i]
+ keylen = length(key)
+ if (S_is_set[key]) {
+ value = S[key]
+ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+ len += length(value) + length(field[++i])
+ substed = 1
+ } else
+ len += 1 + keylen
+ }
+
+ print line
+}
-cat >>$CONFIG_STATUS <<_ACEOF
-cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
+_ACAWK
_ACEOF
-sed '
-s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
-s/^/s,@/; s/!/@,|#_!!_#|/
-:n
-t n
-s/'"$ac_delim"'$/,g/; t
-s/$/\\/; p
-N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
-' >>$CONFIG_STATUS <conf$$subs.sed
-rm -f conf$$subs.sed
-cat >>$CONFIG_STATUS <<_ACEOF
-:end
-s/|#_!!_#|//g
-CEOF$ac_eof
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+ cat
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
# trailing colons and then remove the whole line if VPATH becomes empty
# (actually we leave an empty line to preserve line numbers).
if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[ ]*\):*/\1/
+ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
+h
+s///
+s/^/:/
+s/[ ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
s/:*$//
+x
+s/\(=[ ]*\).*/\1/
+G
+s/\n//
s/^[^=]*=[ ]*$//
}'
fi
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
fi # test -n "$CONFIG_FILES"
+# Set up the scripts for CONFIG_HEADERS section.
+# No need to generate them if there are no CONFIG_HEADERS.
+# This happens for instance with `./config.status Makefile'.
+if test -n "$CONFIG_HEADERS"; then
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
+BEGIN {
+_ACEOF
+
+# Transform confdefs.h into an awk script `defines.awk', embedded as
+# here-document in config.status, that substitutes the proper values into
+# config.h.in to produce config.h.
+
+# Create a delimiter string that does not exist in confdefs.h, to ease
+# handling of long lines.
+ac_delim='%!_!# '
+for ac_last_try in false false :; do
+ ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+ if test -z "$ac_tt"; then
+ break
+ elif $ac_last_try; then
+ as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+
+# For the awk script, D is an array of macro values keyed by name,
+# likewise P contains macro parameters if any. Preserve backslash
+# newline sequences.
+
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+sed -n '
+s/.\{148\}/&'"$ac_delim"'/g
+t rset
+:rset
+s/^[ ]*#[ ]*define[ ][ ]*/ /
+t def
+d
+:def
+s/\\$//
+t bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3"/p
+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
+d
+:bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3\\\\\\n"\\/p
+t cont
+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
+t cont
+d
+:cont
+n
+s/.\{148\}/&'"$ac_delim"'/g
+t clear
+:clear
+s/\\$//
+t bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/"/p
+d
+:bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
+b cont
+' <confdefs.h | sed '
+s/'"$ac_delim"'/"\\\
+"/g' >>$CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ for (key in D) D_is_set[key] = 1
+ FS = "\a"
+}
+/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
+ line = \$ 0
+ split(line, arg, " ")
+ if (arg[1] == "#") {
+ defundef = arg[2]
+ mac1 = arg[3]
+ } else {
+ defundef = substr(arg[1], 2)
+ mac1 = arg[2]
+ }
+ split(mac1, mac2, "(") #)
+ macro = mac2[1]
+ prefix = substr(line, 1, index(line, defundef) - 1)
+ if (D_is_set[macro]) {
+ # Preserve the white space surrounding the "#".
+ print prefix "define", macro P[macro] D[macro]
+ next
+ } else {
+ # Replace #undef with comments. This is necessary, for example,
+ # in the case of _POSIX_SOURCE, which is predefined and required
+ # on some systems where configure will not decide to define it.
+ if (defundef == "undef") {
+ print "/*", prefix defundef, macro, "*/"
+ next
+ }
+ }
+}
+{ print }
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
+fi # test -n "$CONFIG_HEADERS"
+
-for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS
+eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS"
+shift
+for ac_tag
do
case $ac_tag in
:[FHLC]) ac_mode=$ac_tag; continue;;
esac
case $ac_mode$ac_tag in
:[FHL]*:*);;
- :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
-echo "$as_me: error: Invalid tag $ac_tag." >&2;}
- { (exit 1); exit 1; }; };;
+ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
:[FH]-) ac_tag=-:-;;
:[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
esac
for ac_f
do
case $ac_f in
- -) ac_f="$tmp/stdin";;
+ -) ac_f="$ac_tmp/stdin";;
*) # Look for the file first in the build tree, then in the source tree
# (if the path is not absolute). The absolute path cannot be DOS-style,
# because $ac_f cannot contain `:'.
[\\/$]*) false;;
*) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
esac ||
- { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
-echo "$as_me: error: cannot find input file: $ac_f" >&2;}
- { (exit 1); exit 1; }; };;
+ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
esac
- ac_file_inputs="$ac_file_inputs $ac_f"
+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+ as_fn_append ac_file_inputs " '$ac_f'"
done
# Let's still pretend it is `configure' which instantiates (i.e., don't
# use $as_me), people would be surprised to read:
# /* config.h. Generated by config.status. */
- configure_input="Generated from "`IFS=:
- echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
+ configure_input='Generated from '`
+ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+ `' by configure.'
if test x"$ac_file" != x-; then
configure_input="$ac_file. $configure_input"
- { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
+$as_echo "$as_me: creating $ac_file" >&6;}
fi
+ # Neutralize special characters interpreted by sed in replacement strings.
+ case $configure_input in #(
+ *\&* | *\|* | *\\* )
+ ac_sed_conf_input=`$as_echo "$configure_input" |
+ sed 's/[\\\\&|]/\\\\&/g'`;; #(
+ *) ac_sed_conf_input=$configure_input;;
+ esac
case $ac_tag in
- *:-:* | *:-) cat >"$tmp/stdin";;
+ *:-:* | *:-) cat >"$ac_tmp/stdin" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
esac
;;
esac
X"$ac_file" : 'X\(//\)[^/]' \| \
X"$ac_file" : 'X\(//\)$' \| \
X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- { as_dir="$ac_dir"
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$as_dir" |
+$as_echo X"$ac_file" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
q
}
s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-echo "$as_me: error: cannot create directory $as_dir" >&2;}
- { (exit 1); exit 1; }; }; }
+ as_dir="$ac_dir"; as_fn_mkdir_p
ac_builddir=.
case "$ac_dir" in
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
*)
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
# A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
case $ac_top_builddir_sub in
"") ac_top_builddir_sub=. ac_top_build_prefix= ;;
*) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
esac
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# If the template does not know about datarootdir, expand it.
# FIXME: This hack should be removed a few years after 2.60.
ac_datarootdir_hack=; ac_datarootdir_seen=
-
-case `sed -n '/datarootdir/ {
+ac_sed_dataroot='
+/datarootdir/ {
p
q
}
/@docdir@/p
/@infodir@/p
/@localedir@/p
-/@mandir@/p
-' $ac_file_inputs` in
+/@mandir@/p'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
*datarootdir*) ac_datarootdir_seen=yes;;
*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_datarootdir_hack='
s&@datadir@&$datadir&g
s&@docdir@&$docdir&g
s&@infodir@&$infodir&g
s&@localedir@&$localedir&g
s&@mandir@&$mandir&g
- s&\\\${datarootdir}&$datarootdir&g' ;;
+ s&\\\${datarootdir}&$datarootdir&g' ;;
esac
_ACEOF
# Neutralize VPATH when `$srcdir' = `.'.
# Shell code in configure.ac might set extrasub.
# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF
- sed "$ac_vpsub
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
$extrasub
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
:t
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s&@configure_input@&$configure_input&;t t
+s|@configure_input@|$ac_sed_conf_input|;t t
s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
s&@srcdir@&$ac_srcdir&;t t
s&@abs_srcdir@&$ac_abs_srcdir&;t t
s&@top_srcdir@&$ac_top_srcdir&;t t
s&@INSTALL@&$ac_INSTALL&;t t
s&@MKDIR_P@&$ac_MKDIR_P&;t t
$ac_datarootdir_hack
-" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
- { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined." >&5
-echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined." >&2;}
-
- rm -f "$tmp/stdin"
+ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
+ "$ac_tmp/out"`; test -z "$ac_out"; } &&
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined" >&5
+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined" >&2;}
+
+ rm -f "$ac_tmp/stdin"
case $ac_file in
- -) cat "$tmp/out"; rm -f "$tmp/out";;
- *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
- esac
+ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
+ esac \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
;;
:H)
#
# CONFIG_HEADER
#
-_ACEOF
-
-# Transform confdefs.h into a sed script `conftest.defines', that
-# substitutes the proper values into config.h.in to produce config.h.
-rm -f conftest.defines conftest.tail
-# First, append a space to every undef/define line, to ease matching.
-echo 's/$/ /' >conftest.defines
-# Then, protect against being on the right side of a sed subst, or in
-# an unquoted here document, in config.status. If some macros were
-# called several times there might be several #defines for the same
-# symbol, which is useless. But do not sort them, since the last
-# AC_DEFINE must be honored.
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where
-# NAME is the cpp macro being defined, VALUE is the value it is being given.
-# PARAMS is the parameter list in the macro definition--in most cases, it's
-# just an empty string.
-ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*'
-ac_dB='\\)[ (].*,\\1define\\2'
-ac_dC=' '
-ac_dD=' ,'
-
-uniq confdefs.h |
- sed -n '
- t rset
- :rset
- s/^[ ]*#[ ]*define[ ][ ]*//
- t ok
- d
- :ok
- s/[\\&,]/\\&/g
- s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p
- s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p
- ' >>conftest.defines
-
-# Remove the space that was appended to ease matching.
-# Then replace #undef with comments. This is necessary, for
-# example, in the case of _POSIX_SOURCE, which is predefined and required
-# on some systems where configure will not decide to define it.
-# (The regexp can be short, since the line contains either #define or #undef.)
-echo 's/ $//
-s,^[ #]*u.*,/* & */,' >>conftest.defines
-
-# Break up conftest.defines:
-ac_max_sed_lines=50
-
-# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1"
-# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2"
-# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1"
-# et cetera.
-ac_in='$ac_file_inputs'
-ac_out='"$tmp/out1"'
-ac_nxt='"$tmp/out2"'
-
-while :
-do
- # Write a here document:
- cat >>$CONFIG_STATUS <<_ACEOF
- # First, check the format of the line:
- cat >"\$tmp/defines.sed" <<\\CEOF
-/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def
-/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def
-b
-:def
-_ACEOF
- sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS
- echo 'CEOF
- sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS
- ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in
- sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail
- grep . conftest.tail >/dev/null || break
- rm -f conftest.defines
- mv conftest.tail conftest.defines
-done
-rm -f conftest.defines conftest.tail
-
-echo "ac_result=$ac_in" >>$CONFIG_STATUS
-cat >>$CONFIG_STATUS <<\_ACEOF
if test x"$ac_file" != x-; then
- echo "/* $configure_input */" >"$tmp/config.h"
- cat "$ac_result" >>"$tmp/config.h"
- if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then
- { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
-echo "$as_me: $ac_file is unchanged" >&6;}
+ {
+ $as_echo "/* $configure_input */" \
+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+ } >"$ac_tmp/config.h" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
+$as_echo "$as_me: $ac_file is unchanged" >&6;}
else
- rm -f $ac_file
- mv "$tmp/config.h" $ac_file
+ rm -f "$ac_file"
+ mv "$ac_tmp/config.h" "$ac_file" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
fi
else
- echo "/* $configure_input */"
- cat "$ac_result"
+ $as_echo "/* $configure_input */" \
+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+ || as_fn_error $? "could not create -" "$LINENO" 5
fi
- rm -f "$tmp/out12"
-# Compute $ac_file's index in $config_headers.
-_am_arg=$ac_file
+# Compute "$ac_file"'s index in $config_headers.
+_am_arg="$ac_file"
_am_stamp_count=1
for _am_header in $config_headers :; do
case $_am_header in
X"$_am_arg" : 'X\(//\)[^/]' \| \
X"$_am_arg" : 'X\(//\)$' \| \
X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$_am_arg" |
+$as_echo X"$_am_arg" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
s/.*/./; q'`/stamp-h$_am_stamp_count
;;
- :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5
-echo "$as_me: executing $ac_file commands" >&6;}
+ :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
+$as_echo "$as_me: executing $ac_file commands" >&6;}
;;
esac
case $ac_file$ac_mode in
"depfiles":C) test x"$AMDEP_TRUE" != x"" || {
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # Older Autoconf quotes --file arguments for eval, but not when files
# are listed without --file. Let's play safe and only enable the eval
# if we detect the quoting.
case $CONFIG_FILES in
# Strip MF so we end up with the name of the file.
mf=`echo "$mf" | sed -e 's/:.*$//'`
# Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
+ # We used to match only the files named 'Makefile.in', but
# some people rename them; so instead we look at the file content.
# Grep'ing the first line is not enough: some people post-process
# each Makefile.in and add a new line on top of each file to say so.
X"$mf" : 'X\(//\)[^/]' \| \
X"$mf" : 'X\(//\)$' \| \
X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$mf" |
+$as_echo X"$mf" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
continue
fi
# Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
+ # from the Makefile without running 'make'.
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
test -z "$DEPDIR" && continue
am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
+ test -z "$am__include" && continue
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
# Find all dependency output files, they are included files with
# $(DEPDIR) in their names. We invoke sed twice because it is the
# simplest approach to changing $(DEPDIR) to its actual value in the
# expansion.
for file in `sed -n "
s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
# Make sure the directory exists.
test -f "$dirpart/$file" && continue
fdir=`$as_dirname -- "$file" ||
X"$file" : 'X\(//\)[^/]' \| \
X"$file" : 'X\(//\)$' \| \
X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- { as_dir=$dirpart/$fdir
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$as_dir" |
+$as_echo X"$file" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
q
}
s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-echo "$as_me: error: cannot create directory $as_dir" >&2;}
- { (exit 1); exit 1; }; }; }
+ as_dir=$dirpart/$fdir; as_fn_mkdir_p
# echo "creating $dirpart/$file"
echo '# dummy' > "$dirpart/$file"
done
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# Written by Gordon Matzigkeit, 1996
#
# This file is part of GNU Libtool.
# Whether or not to optimize for fast installation.
fast_install=$enable_fast_install
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# An echo program that protects backslashes.
+ECHO=$lt_ECHO
+
+# The PATH separator for the build system.
+PATH_SEPARATOR=$lt_PATH_SEPARATOR
+
# The host system.
host_alias=$host_alias
host=$host
# turn newlines into spaces.
NL2SP=$lt_lt_NL2SP
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
+# convert \$build file names to \$host format.
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+
+# convert \$build files to toolchain format.
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+
+# An object symbol dumper.
+OBJDUMP=$lt_OBJDUMP
# Method to check whether dependent libraries are shared objects.
deplibs_check_method=$lt_deplibs_check_method
-# Command to use when deplibs_check_method == "file_magic".
+# Command to use when deplibs_check_method = "file_magic".
file_magic_cmd=$lt_file_magic_cmd
+# How to find potential files when deplibs_check_method = "file_magic".
+file_magic_glob=$lt_file_magic_glob
+
+# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
+want_nocaseglob=$lt_want_nocaseglob
+
+# DLL creation program.
+DLLTOOL=$lt_DLLTOOL
+
+# Command to associate shared and link libraries.
+sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
+
# The archiver.
AR=$lt_AR
+
+# Flags to create an archive.
AR_FLAGS=$lt_AR_FLAGS
+# How to feed a file listing to the archiver.
+archiver_list_spec=$lt_archiver_list_spec
+
# A symbol stripping program.
STRIP=$lt_STRIP
old_postinstall_cmds=$lt_old_postinstall_cmds
old_postuninstall_cmds=$lt_old_postuninstall_cmds
+# Whether to use a lock for old archive extraction.
+lock_old_archive_extraction=$lock_old_archive_extraction
+
# A C compiler.
LTCC=$lt_CC
# Transform the output of nm in a C name address pair when lib prefix is needed.
global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
+# Specify filename containing input files for \$NM.
+nm_file_list_spec=$lt_nm_file_list_spec
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
+# The root where to search for dependent libraries,and in which our libraries should be installed.
+lt_sysroot=$lt_sysroot
-# An echo program that does not interpret backslashes.
-ECHO=$lt_ECHO
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
# Used to examine libraries when file_magic_cmd begins with "file".
MAGIC_CMD=$MAGIC_CMD
# Must we lock files when doing compilation?
need_locks=$lt_need_locks
+# Manifest tool.
+MANIFEST_TOOL=$lt_MANIFEST_TOOL
+
# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
DSYMUTIL=$lt_DSYMUTIL
# Tool to change global to local symbols on Mac OS X.
NMEDIT=$lt_NMEDIT
+# Tool to manipulate fat objects and archives on Mac OS X.
+LIPO=$lt_LIPO
+
+# ldd/readelf like tool for Mach-O binaries on Mac OS X.
+OTOOL=$lt_OTOOL
+
+# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
+OTOOL64=$lt_OTOOL64
+
# Old archive suffix (normally "a").
libext=$libext
# The coded name of the library, if different from the real name.
soname_spec=$lt_soname_spec
+# Permission mode override for installation of shared libraries.
+install_override_mode=$lt_install_override_mode
+
# Command to use after installation of a shared archive.
postinstall_cmds=$lt_postinstall_cmds
# The linker used to build libraries.
LD=$lt_LD
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
# Commands used to build an old-style archive.
old_archive_cmds=$lt_old_archive_cmds
# Compiler flag to turn off builtin functions.
no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
# Additional compiler flags for building library objects.
pic_flag=$lt_lt_prog_compiler_pic
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl
+
# Compiler flag to prevent dynamic linking.
link_static_flag=$lt_lt_prog_compiler_static
# This must work even if \$libdir does not exist
hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking. This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
# Whether we need a single "-rpath" flag with a separated argument.
hardcode_libdir_separator=$lt_hardcode_libdir_separator
# Whether libtool must link a program against all its dependency libraries.
link_all_deplibs=$link_all_deplibs
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-
# Set to "yes" if exported symbols are required.
always_export_symbols=$always_export_symbols
# Commands necessary for linking programs (against libraries) with templates.
prelink_cmds=$lt_prelink_cmds
+# Commands necessary for finishing linking programs.
+postlink_cmds=$lt_postlink_cmds
+
# Specify filename containing input files.
file_list_spec=$lt_file_list_spec
# if finds mixed CR/LF and LF-only lines. Since sed operates in
# text mode, it properly converts lines to CR/LF. This bash problem
# is reportedly fixed, but why not run on old versions too?
- sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
- || (rm -f "$cfgfile"; exit 1)
-
- case $xsi_shell in
- yes)
- cat << \_LT_EOF >> "$cfgfile"
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
- case ${1} in
- */*) func_dirname_result="${1%/*}${2}" ;;
- * ) func_dirname_result="${3}" ;;
- esac
-}
-
-# func_basename file
-func_basename ()
-{
- func_basename_result="${1##*/}"
-}
-
-# func_dirname_and_basename file append nondir_replacement
-# perform func_basename and func_dirname in a single function
-# call:
-# dirname: Compute the dirname of FILE. If nonempty,
-# add APPEND to the result, otherwise set result
-# to NONDIR_REPLACEMENT.
-# value returned in "$func_dirname_result"
-# basename: Compute filename of FILE.
-# value retuned in "$func_basename_result"
-# Implementation must be kept synchronized with func_dirname
-# and func_basename. For efficiency, we do not delegate to
-# those functions but instead duplicate the functionality here.
-func_dirname_and_basename ()
-{
- case ${1} in
- */*) func_dirname_result="${1%/*}${2}" ;;
- * ) func_dirname_result="${3}" ;;
- esac
- func_basename_result="${1##*/}"
-}
-
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-func_stripname ()
-{
- # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
- # positional parameters, so assign one to ordinary parameter first.
- func_stripname_result=${3}
- func_stripname_result=${func_stripname_result#"${1}"}
- func_stripname_result=${func_stripname_result%"${2}"}
-}
-
-# func_opt_split
-func_opt_split ()
-{
- func_opt_split_opt=${1%%=*}
- func_opt_split_arg=${1#*=}
-}
-
-# func_lo2o object
-func_lo2o ()
-{
- case ${1} in
- *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
- *) func_lo2o_result=${1} ;;
- esac
-}
-_LT_EOF
- ;;
- *) # Bourne compatible functions.
- cat << \_LT_EOF >> "$cfgfile"
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
- # Extract subdirectory from the argument.
- func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
- if test "X$func_dirname_result" = "X${1}"; then
- func_dirname_result="${3}"
- else
- func_dirname_result="$func_dirname_result${2}"
- fi
-}
-
-# func_basename file
-func_basename ()
-{
- func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
-}
-
-# func_dirname_and_basename file append nondir_replacement
-# perform func_basename and func_dirname in a single function
-# call:
-# dirname: Compute the dirname of FILE. If nonempty,
-# add APPEND to the result, otherwise set result
-# to NONDIR_REPLACEMENT.
-# value returned in "$func_dirname_result"
-# basename: Compute filename of FILE.
-# value retuned in "$func_basename_result"
-# Implementation must be kept synchronized with func_dirname
-# and func_basename. For efficiency, we do not delegate to
-# those functions but instead duplicate the functionality here.
-func_dirname_and_basename ()
-{
- # Extract subdirectory from the argument.
- func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
- if test "X$func_dirname_result" = "X${1}"; then
- func_dirname_result="${3}"
- else
- func_dirname_result="$func_dirname_result${2}"
- fi
- func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
-}
-
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-# func_strip_suffix prefix name
-func_stripname ()
-{
- case ${2} in
- .*) func_stripname_result=`$ECHO "X${3}" \
- | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
- *) func_stripname_result=`$ECHO "X${3}" \
- | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
- esac
-}
-
-# sed scripts:
-my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
-my_sed_long_arg='1s/^-[^=]*=//'
-
-# func_opt_split
-func_opt_split ()
-{
- func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
- func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
-}
-
-# func_lo2o object
-func_lo2o ()
-{
- func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
-}
-_LT_EOF
-esac
-
-case $lt_shell_append in
- yes)
- cat << \_LT_EOF >> "$cfgfile"
-
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
-{
- eval "$1+=\$2"
-}
-_LT_EOF
- ;;
- *)
- cat << \_LT_EOF >> "$cfgfile"
-
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
-{
- eval "$1=\$$1\$2"
-}
-_LT_EOF
- ;;
- esac
-
-
- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
- || (rm -f "$cfgfile"; exit 1)
-
- mv -f "$cfgfile" "$ofile" ||
+ sed '$q' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
+
+ if test x"$xsi_shell" = xyes; then
+ sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
+func_dirname ()\
+{\
+\ case ${1} in\
+\ */*) func_dirname_result="${1%/*}${2}" ;;\
+\ * ) func_dirname_result="${3}" ;;\
+\ esac\
+} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_basename ()$/,/^} # func_basename /c\
+func_basename ()\
+{\
+\ func_basename_result="${1##*/}"\
+} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
+func_dirname_and_basename ()\
+{\
+\ case ${1} in\
+\ */*) func_dirname_result="${1%/*}${2}" ;;\
+\ * ) func_dirname_result="${3}" ;;\
+\ esac\
+\ func_basename_result="${1##*/}"\
+} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
+func_stripname ()\
+{\
+\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
+\ # positional parameters, so assign one to ordinary parameter first.\
+\ func_stripname_result=${3}\
+\ func_stripname_result=${func_stripname_result#"${1}"}\
+\ func_stripname_result=${func_stripname_result%"${2}"}\
+} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
+func_split_long_opt ()\
+{\
+\ func_split_long_opt_name=${1%%=*}\
+\ func_split_long_opt_arg=${1#*=}\
+} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
+func_split_short_opt ()\
+{\
+\ func_split_short_opt_arg=${1#??}\
+\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
+} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
+func_lo2o ()\
+{\
+\ case ${1} in\
+\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
+\ *) func_lo2o_result=${1} ;;\
+\ esac\
+} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_xform ()$/,/^} # func_xform /c\
+func_xform ()\
+{\
+ func_xform_result=${1%.*}.lo\
+} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_arith ()$/,/^} # func_arith /c\
+func_arith ()\
+{\
+ func_arith_result=$(( $* ))\
+} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_len ()$/,/^} # func_len /c\
+func_len ()\
+{\
+ func_len_result=${#1}\
+} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+fi
+
+if test x"$lt_shell_append" = xyes; then
+ sed -e '/^func_append ()$/,/^} # func_append /c\
+func_append ()\
+{\
+ eval "${1}+=\\${2}"\
+} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
+func_append_quoted ()\
+{\
+\ func_quote_for_eval "${2}"\
+\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
+} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ # Save a `func_append' function call where possible by direct use of '+='
+ sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+ test 0 -eq $? || _lt_function_replace_fail=:
+else
+ # Save a `func_append' function call even when '+=' is not available
+ sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+ test 0 -eq $? || _lt_function_replace_fail=:
+fi
+
+if test x"$_lt_function_replace_fail" = x":"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
+$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
+fi
+
+
+ mv -f "$cfgfile" "$ofile" ||
(rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
chmod +x "$ofile"
# The linker used to build libraries.
LD=$lt_LD_CXX
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag_CXX
+reload_cmds=$lt_reload_cmds_CXX
+
# Commands used to build an old-style archive.
old_archive_cmds=$lt_old_archive_cmds_CXX
# Compiler flag to turn off builtin functions.
no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_CXX
-
# Additional compiler flags for building library objects.
pic_flag=$lt_lt_prog_compiler_pic_CXX
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl_CXX
+
# Compiler flag to prevent dynamic linking.
link_static_flag=$lt_lt_prog_compiler_static_CXX
# This must work even if \$libdir does not exist
hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking. This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX
-
# Whether we need a single "-rpath" flag with a separated argument.
hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
# Whether libtool must link a program against all its dependency libraries.
link_all_deplibs=$link_all_deplibs_CXX
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path_CXX
-
# Set to "yes" if exported symbols are required.
always_export_symbols=$always_export_symbols_CXX
# Commands necessary for linking programs (against libraries) with templates.
prelink_cmds=$lt_prelink_cmds_CXX
+# Commands necessary for finishing linking programs.
+postlink_cmds=$lt_postlink_cmds_CXX
+
# Specify filename containing input files.
file_list_spec=$lt_file_list_spec_CXX
case "$ac_file" in */Makefile.in)
# Adjust a relative srcdir.
ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
- ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
+ ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`
ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
# In autoconf-2.13 it is called $ac_given_srcdir.
# In autoconf-2.50 it is called $srcdir.
if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
rm -f "$ac_dir/POTFILES"
test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
- cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
+ gt_tab=`printf '\t'`
+ cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
POMAKEFILEDEPS="POTFILES.in"
# ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
# on $ac_dir but don't depend on user-specified configuration
test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
fi
ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
- # Hide the ALL_LINGUAS assigment from automake < 1.5.
+ # Hide the ALL_LINGUAS assignment from automake < 1.5.
eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
else
# The set of available languages was given in configure.in.
- # Hide the ALL_LINGUAS assigment from automake < 1.5.
+ # Hide the ALL_LINGUAS assignment from automake < 1.5.
eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
fi
# Compute POFILES
done # for ac_tag
-{ (exit 0); exit 0; }
+as_fn_exit 0
_ACEOF
-chmod +x $CONFIG_STATUS
ac_clean_files=$ac_clean_files_save
+test $ac_write_fail = 0 ||
+ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
+
# configure is writing to config.log, and then calls config.status.
# config.status does its own redirection, appending to config.log.
exec 5>>config.log
# Use ||, not &&, to avoid exiting from the if with $? = 1, which
# would make configure fail if this is the last instruction.
- $ac_cs_success || { (exit 1); exit 1; }
+ $ac_cs_success || as_fn_exit 1
+fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
fi
-AC_INIT(GNU Aspell, 0.60.6.1)
+AC_INIT(GNU Aspell, 0.60.7)
AC_CONFIG_SRCDIR(prog/aspell.cpp)
AC_CANONICAL_SYSTEM
AM_INIT_AUTOMAKE
AC_ARG_ENABLE(filter-version-control,
[ --disable-filter-version-control])
+AC_ARG_ENABLE(32-bit-hash-fun,
+ AS_HELP_STRING([--enable-32-bit-hash-fun],[use 32-bit hash function for compiled dictionaries]))
+
AC_ARG_ENABLE(pspell-compatibility,
AS_HELP_STRING([--disable-pspell-compatibility],[don't install pspell compatibility libraries]))
dnl
AC_PROG_CXX
-if test "$GXX" = "yes" && expr "$CXXFLAGS" : '.*-O' > /dev/null
+if test "$GXX" = "yes" && expr x"$CXXFLAGS" : '.*-O' > /dev/null
then
CXXFLAGS="$CXXFLAGS -fno-exceptions"
fi
AC_DEFINE(COMPILE_IN_FILTER, 1, [Defined if filters should be compiled in])
fi
-find_cvs=`expr "$PACKAGE_VERSION" : '.*cvs'`
-if test "$find_cvs" -gt 0
+find_git=`expr "$PACKAGE_VERSION" : '.*git'`
+if test "$find_git" -gt 0
then
enable_filter_version_control=no
fi
AM_CONDITIONAL(COMPILE_IN_FILTERS,
[test "$enable_compile_in_filters" = "yes"])
+if test "$enable_32_bit_hash_fun" = "yes"
+then
+ AC_DEFINE(USE_32_BIT_HASH_FUN, 1, [Defined if 32-bit hash function should be used for compiled dictionaries.])
+fi
+
AM_CONDITIONAL(PSPELL_COMPATIBILITY,
[test "$enable_pspell_compatibility" != "no"])
AM_CONDITIONAL(INCREMENTED_SONAME,
dnl GETTEXT
AM_GNU_GETTEXT([external])
-AM_GNU_GETTEXT_VERSION([0.16.1])
+AM_GNU_GETTEXT_VERSION([0.19.3])
AH_TOP([#ifndef ASPELL_SETTINGS__H
#define ASPELL_SETTINGS__H])
INTERNAL
/
-N 957
+N 958
0000 > 00
0001 > 01
0002 > 02
2008 > 20 # compat
2009 > 20 # compat
200A > 20 # compat
+2019 > 27 # compat
2024 > 2E # compat
2025 > 2E 2E # compat
2026 > 2E 2E 2E # compat
INTERNAL
/
-N 925
+N 926
0000 > 00
0001 > 01
0002 > 02
2009 > 20 # compat
200A > 20 # compat
2015 > BD
+2019 > 27 # compat
2024 > 2E # compat
2025 > 2E 2E # compat
2026 > 2E 2E 2E # compat
INTERNAL
/
-N 913
+N 914
0000 > 00
0001 > 01
0002 > 02
2008 > 20 # compat
2009 > 20 # compat
200A > 20 # compat
+2019 > 27 # compat
2024 > 2E # compat
2025 > 2E 2E # compat
2026 > 2E 2E 2E # compat
INTERNAL
/
-N 944
+N 945
0000 > 00
0001 > 01
0002 > 02
2008 > 20 # compat
2009 > 20 # compat
200A > 20 # compat
+2019 > 27 # compat
2024 > 2E # compat
2025 > 2E 2E # compat
2026 > 2E 2E 2E # compat
INTERNAL
/
-N 921
+N 922
0000 > 00
0001 > 01
0002 > 02
2008 > 20 # compat
2009 > 20 # compat
200A > 20 # compat
+2019 > 27 # compat
201D > B5
201E > A5
2024 > 2E # compat
INTERNAL
/
-N 925
+N 926
0000 > 00
0001 > 01
0002 > 02
2008 > 20 # compat
2009 > 20 # compat
200A > 20 # compat
+2019 > 27 # compat
2024 > 2E # compat
2025 > 2E 2E # compat
2026 > 2E 2E 2E # compat
INTERNAL
/
-N 931
+N 932
0000 > 00
0001 > 01
0002 > 02
2008 > 20 # compat
2009 > 20 # compat
200A > 20 # compat
+2019 > 27 # compat
2024 > 2E # compat
2025 > 2E 2E # compat
2026 > 2E 2E 2E # compat
INTERNAL
/
-N 932
+N 933
0000 > 00
0001 > 01
0002 > 02
2008 > 20 # compat
2009 > 20 # compat
200A > 20 # compat
+2019 > 27 # compat
2024 > 2E # compat
2025 > 2E 2E # compat
2026 > 2E 2E 2E # compat
INTERNAL
/
-N 954
+N 955
0000 > 00
0001 > 01
0002 > 02
2008 > 20 # compat
2009 > 20 # compat
200A > 20 # compat
+2019 > 27 # compat
2024 > 2E # compat
2025 > 2E 2E # compat
2026 > 2E 2E 2E # compat
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2013-05-30.07; # UTC
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
-# Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
# 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
# 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, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
case $1 in
'')
- echo "$0: No command. Try \`$0 --help' for more information." 1>&2
- exit 1;
- ;;
+ echo "$0: No command. Try '$0 --help' for more information." 1>&2
+ exit 1;
+ ;;
-h | --h*)
cat <<\EOF
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
Environment variables:
depmode Dependency tracking mode.
- source Source file read by `PROGRAMS ARGS'.
- object Object file output by `PROGRAMS ARGS'.
+ source Source file read by 'PROGRAMS ARGS'.
+ object Object file output by 'PROGRAMS ARGS'.
DEPDIR directory where to store dependencies.
depfile Dependency file to output.
- tmpdepfile Temporary file to use when outputing dependencies.
+ tmpdepfile Temporary file to use when outputting dependencies.
libtool Whether libtool is used (yes/no).
Report bugs to <bug-automake@gnu.org>.
;;
esac
+# Get the directory component of the given path, and save it in the
+# global variables '$dir'. Note that this directory component will
+# be either empty or ending with a '/' character. This is deliberate.
+set_dir_from ()
+{
+ case $1 in
+ */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
+ *) dir=;;
+ esac
+}
+
+# Get the suffix-stripped basename of the given path, and save it the
+# global variable '$base'.
+set_base_from ()
+{
+ base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
+}
+
+# If no dependency file was actually created by the compiler invocation,
+# we still have to create a dummy depfile, to avoid errors with the
+# Makefile "include basename.Plo" scheme.
+make_dummy_depfile ()
+{
+ echo "#dummy" > "$depfile"
+}
+
+# Factor out some common post-processing of the generated depfile.
+# Requires the auxiliary global variable '$tmpdepfile' to be set.
+aix_post_process_depfile ()
+{
+ # If the compiler actually managed to produce a dependency file,
+ # post-process it.
+ if test -f "$tmpdepfile"; then
+ # Each line is of the form 'foo.o: dependency.h'.
+ # Do two passes, one to just change these to
+ # $object: dependency.h
+ # and one to simply output
+ # dependency.h:
+ # which is needed to avoid the deleted-header problem.
+ { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
+ sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
+ } > "$depfile"
+ rm -f "$tmpdepfile"
+ else
+ make_dummy_depfile
+ fi
+}
+
+# A tabulation character.
+tab=' '
+# A newline character.
+nl='
+'
+# Character ranges might be problematic outside the C locale.
+# These definitions help.
+upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
+lower=abcdefghijklmnopqrstuvwxyz
+digits=0123456789
+alpha=${upper}${lower}
+
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
echo "depcomp: Variables source, object and depmode must be set" 1>&2
exit 1
rm -f "$tmpdepfile"
+# Avoid interferences from the environment.
+gccflag= dashmflag=
+
# Some modes work just like other modes, but use different flags. We
# parameterize here, but still list the modes in the big case below,
# to make depend.m4 easier to write. Note that we *cannot* use a case
fi
if test "$depmode" = dashXmstdout; then
- # This is just like dashmstdout with a different argument.
- dashmflag=-xM
- depmode=dashmstdout
+ # This is just like dashmstdout with a different argument.
+ dashmflag=-xM
+ depmode=dashmstdout
fi
cygpath_u="cygpath -u -f -"
if test "$depmode" = msvcmsys; then
- # This is just like msvisualcpp but w/o cygpath translation.
- # Just convert the backslash-escaped backslashes to single forward
- # slashes to satisfy depend.m4
- cygpath_u="sed s,\\\\\\\\,/,g"
- depmode=msvisualcpp
+ # This is just like msvisualcpp but w/o cygpath translation.
+ # Just convert the backslash-escaped backslashes to single forward
+ # slashes to satisfy depend.m4
+ cygpath_u='sed s,\\\\,/,g'
+ depmode=msvisualcpp
+fi
+
+if test "$depmode" = msvc7msys; then
+ # This is just like msvc7 but w/o cygpath translation.
+ # Just convert the backslash-escaped backslashes to single forward
+ # slashes to satisfy depend.m4
+ cygpath_u='sed s,\\\\,/,g'
+ depmode=msvc7
+fi
+
+if test "$depmode" = xlc; then
+ # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
+ gccflag=-qmakedep=gcc,-MF
+ depmode=gcc
fi
case "$depmode" in
done
"$@"
stat=$?
- if test $stat -eq 0; then :
- else
+ if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
;;
gcc)
+## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
+## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
+## (see the conditional assignment to $gccflag above).
## There are various ways to get dependency output from gcc. Here's
## why we pick this rather obscure method:
## - Don't want to use -MD because we'd like the dependencies to end
## up in a subdir. Having to rename by hand is ugly.
## (We might end up doing this anyway to support other compilers.)
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
-## -MM, not -M (despite what the docs say).
+## -MM, not -M (despite what the docs say). Also, it might not be
+## supported by the other compilers which use the 'gcc' depmode.
## - Using -M directly means running the compiler twice (even worse
## than renaming).
if test -z "$gccflag"; then
fi
"$@" -Wp,"$gccflag$tmpdepfile"
stat=$?
- if test $stat -eq 0; then :
- else
+ if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
- alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
-## The second -e expression handles DOS-style file names with drive letters.
+ # The second -e expression handles DOS-style file names with drive
+ # letters.
sed -e 's/^[^:]*: / /' \
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
-## This next piece of magic avoids the `deleted header file' problem.
+## This next piece of magic avoids the "deleted header file" problem.
## The problem is that when a header file which appears in a .P file
## is deleted, the dependency causes make to die (because there is
## typically no way to rebuild the header). We avoid this by adding
## dummy dependencies for each header file. Too bad gcc doesn't do
## this for us directly.
- tr ' ' '
-' < "$tmpdepfile" |
-## Some versions of gcc put a space before the `:'. On the theory
+## Some versions of gcc put a space before the ':'. On the theory
## that the space means something, we add a space to the output as
-## well.
+## well. hp depmode also adds that space, but also prefixes the VPATH
+## to the object. Take care to not repeat it in the output.
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ tr ' ' "$nl" < "$tmpdepfile" \
+ | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
+ | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
"$@" -MDupdate "$tmpdepfile"
fi
stat=$?
- if test $stat -eq 0; then :
- else
+ if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
echo "$object : \\" > "$depfile"
-
# Clip off the initial element (the dependent). Don't try to be
# clever and replace this with sed code, as IRIX sed won't handle
# lines with more than a fixed number of characters (4096 in
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
- # the IRIX cc adds comments like `#:fec' to the end of the
+ # the IRIX cc adds comments like '#:fec' to the end of the
# dependency line.
- tr ' ' '
-' < "$tmpdepfile" \
- | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
- tr '
-' ' ' >> "$depfile"
+ tr ' ' "$nl" < "$tmpdepfile" \
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
+ | tr "$nl" ' ' >> "$depfile"
echo >> "$depfile"
-
# The second pass generates a dummy entry for each header file.
- tr ' ' '
-' < "$tmpdepfile" \
- | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
- >> "$depfile"
+ tr ' ' "$nl" < "$tmpdepfile" \
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+ >> "$depfile"
else
- # The sourcefile does not contain any dependencies, so just
- # store a dummy comment line, to avoid errors with the Makefile
- # "include basename.Plo" scheme.
- echo "#dummy" > "$depfile"
+ make_dummy_depfile
fi
rm -f "$tmpdepfile"
;;
+xlc)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
aix)
# The C for AIX Compiler uses -M and outputs the dependencies
# in a .u file. In older versions, this file always lives in the
- # current directory. Also, the AIX compiler puts `$object:' at the
+ # current directory. Also, the AIX compiler puts '$object:' at the
# start of each line; $object doesn't have directory information.
# Version 6 uses the directory in both cases.
- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
- test "x$dir" = "x$object" && dir=
- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+ set_dir_from "$object"
+ set_base_from "$object"
if test "$libtool" = yes; then
tmpdepfile1=$dir$base.u
tmpdepfile2=$base.u
"$@" -M
fi
stat=$?
-
- if test $stat -eq 0; then :
- else
+ if test $stat -ne 0; then
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
exit $stat
fi
do
test -f "$tmpdepfile" && break
done
- if test -f "$tmpdepfile"; then
- # Each line is of the form `foo.o: dependent.h'.
- # Do two passes, one to just change these to
- # `$object: dependent.h' and one to simply `dependent.h:'.
- sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
- # That's a tab and a space in the [].
- sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
- else
- # The sourcefile does not contain any dependencies, so just
- # store a dummy comment line, to avoid errors with the Makefile
- # "include basename.Plo" scheme.
- echo "#dummy" > "$depfile"
+ aix_post_process_depfile
+ ;;
+
+tcc)
+ # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
+ # FIXME: That version still under development at the moment of writing.
+ # Make that this statement remains true also for stable, released
+ # versions.
+ # It will wrap lines (doesn't matter whether long or short) with a
+ # trailing '\', as in:
+ #
+ # foo.o : \
+ # foo.c \
+ # foo.h \
+ #
+ # It will put a trailing '\' even on the last line, and will use leading
+ # spaces rather than leading tabs (at least since its commit 0394caf7
+ # "Emit spaces for -MD").
+ "$@" -MD -MF "$tmpdepfile"
+ stat=$?
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile"
+ exit $stat
fi
+ rm -f "$depfile"
+ # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
+ # We have to change lines of the first kind to '$object: \'.
+ sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
+ # And for each line of the second kind, we have to emit a 'dep.h:'
+ # dummy dependency, to avoid the deleted-header problem.
+ sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
rm -f "$tmpdepfile"
;;
-icc)
- # Intel's C compiler understands `-MD -MF file'. However on
- # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
- # ICC 7.0 will fill foo.d with something like
- # foo.o: sub/foo.c
- # foo.o: sub/foo.h
- # which is wrong. We want:
- # sub/foo.o: sub/foo.c
- # sub/foo.o: sub/foo.h
- # sub/foo.c:
- # sub/foo.h:
- # ICC 7.1 will output
+## The order of this option in the case statement is important, since the
+## shell code in configure will try each of these formats in the order
+## listed in this file. A plain '-MD' option would be understood by many
+## compilers, so we must ensure this comes after the gcc and icc options.
+pgcc)
+ # Portland's C compiler understands '-MD'.
+ # Will always output deps to 'file.d' where file is the root name of the
+ # source file under compilation, even if file resides in a subdirectory.
+ # The object file name does not affect the name of the '.d' file.
+ # pgcc 10.2 will output
# foo.o: sub/foo.c sub/foo.h
- # and will wrap long lines using \ :
+ # and will wrap long lines using '\' :
# foo.o: sub/foo.c ... \
# sub/foo.h ... \
# ...
+ set_dir_from "$object"
+ # Use the source, not the object, to determine the base name, since
+ # that's sadly what pgcc will do too.
+ set_base_from "$source"
+ tmpdepfile=$base.d
+
+ # For projects that build the same source file twice into different object
+ # files, the pgcc approach of using the *source* file root name can cause
+ # problems in parallel builds. Use a locking strategy to avoid stomping on
+ # the same $tmpdepfile.
+ lockdir=$base.d-lock
+ trap "
+ echo '$0: caught signal, cleaning up...' >&2
+ rmdir '$lockdir'
+ exit 1
+ " 1 2 13 15
+ numtries=100
+ i=$numtries
+ while test $i -gt 0; do
+ # mkdir is a portable test-and-set.
+ if mkdir "$lockdir" 2>/dev/null; then
+ # This process acquired the lock.
+ "$@" -MD
+ stat=$?
+ # Release the lock.
+ rmdir "$lockdir"
+ break
+ else
+ # If the lock is being held by a different process, wait
+ # until the winning process is done or we timeout.
+ while test -d "$lockdir" && test $i -gt 0; do
+ sleep 1
+ i=`expr $i - 1`
+ done
+ fi
+ i=`expr $i - 1`
+ done
+ trap - 1 2 13 15
+ if test $i -le 0; then
+ echo "$0: failed to acquire lock after $numtries attempts" >&2
+ echo "$0: check lockdir '$lockdir'" >&2
+ exit 1
+ fi
- "$@" -MD -MF "$tmpdepfile"
- stat=$?
- if test $stat -eq 0; then :
- else
+ if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
# Some versions of the HPUX 10.20 sed can't process this invocation
# correctly. Breaking it into two sed invocations is a workaround.
- sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
- sed -e 's/$/ :/' >> "$depfile"
+ sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
+ | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
# 'foo.d', which lands next to the object file, wherever that
# happens to be.
# Much of this is similar to the tru64 case; see comments there.
- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
- test "x$dir" = "x$object" && dir=
- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+ set_dir_from "$object"
+ set_base_from "$object"
if test "$libtool" = yes; then
tmpdepfile1=$dir$base.d
tmpdepfile2=$dir.libs/$base.d
"$@" +Maked
fi
stat=$?
- if test $stat -eq 0; then :
- else
+ if test $stat -ne 0; then
rm -f "$tmpdepfile1" "$tmpdepfile2"
exit $stat
fi
test -f "$tmpdepfile" && break
done
if test -f "$tmpdepfile"; then
- sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
- # Add `dependent.h:' lines.
+ sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
+ # Add 'dependent.h:' lines.
sed -ne '2,${
- s/^ *//
- s/ \\*$//
- s/$/:/
- p
- }' "$tmpdepfile" >> "$depfile"
+ s/^ *//
+ s/ \\*$//
+ s/$/:/
+ p
+ }' "$tmpdepfile" >> "$depfile"
else
- echo "#dummy" > "$depfile"
+ make_dummy_depfile
fi
rm -f "$tmpdepfile" "$tmpdepfile2"
;;
tru64)
- # The Tru64 compiler uses -MD to generate dependencies as a side
- # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
- # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
- # dependencies in `foo.d' instead, so we check for that too.
- # Subdirectories are respected.
- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
- test "x$dir" = "x$object" && dir=
- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-
- if test "$libtool" = yes; then
- # With Tru64 cc, shared objects can also be used to make a
- # static library. This mechanism is used in libtool 1.4 series to
- # handle both shared and static libraries in a single compilation.
- # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
- #
- # With libtool 1.5 this exception was removed, and libtool now
- # generates 2 separate objects for the 2 libraries. These two
- # compilations output dependencies in $dir.libs/$base.o.d and
- # in $dir$base.o.d. We have to check for both files, because
- # one of the two compilations can be disabled. We should prefer
- # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
- # automatically cleaned when .libs/ is deleted, while ignoring
- # the former would cause a distcleancheck panic.
- tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
- tmpdepfile2=$dir$base.o.d # libtool 1.5
- tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
- tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
- "$@" -Wc,-MD
- else
- tmpdepfile1=$dir$base.o.d
- tmpdepfile2=$dir$base.d
- tmpdepfile3=$dir$base.d
- tmpdepfile4=$dir$base.d
- "$@" -MD
- fi
-
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
- exit $stat
- fi
-
- for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
- do
- test -f "$tmpdepfile" && break
- done
- if test -f "$tmpdepfile"; then
- sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
- # That's a tab and a space in the [].
- sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
- else
- echo "#dummy" > "$depfile"
- fi
- rm -f "$tmpdepfile"
- ;;
+ # The Tru64 compiler uses -MD to generate dependencies as a side
+ # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
+ # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+ # dependencies in 'foo.d' instead, so we check for that too.
+ # Subdirectories are respected.
+ set_dir_from "$object"
+ set_base_from "$object"
+
+ if test "$libtool" = yes; then
+ # Libtool generates 2 separate objects for the 2 libraries. These
+ # two compilations output dependencies in $dir.libs/$base.o.d and
+ # in $dir$base.o.d. We have to check for both files, because
+ # one of the two compilations can be disabled. We should prefer
+ # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+ # automatically cleaned when .libs/ is deleted, while ignoring
+ # the former would cause a distcleancheck panic.
+ tmpdepfile1=$dir$base.o.d # libtool 1.5
+ tmpdepfile2=$dir.libs/$base.o.d # Likewise.
+ tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504
+ "$@" -Wc,-MD
+ else
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir$base.d
+ tmpdepfile3=$dir$base.d
+ "$@" -MD
+ fi
+
+ stat=$?
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ # Same post-processing that is required for AIX mode.
+ aix_post_process_depfile
+ ;;
+
+msvc7)
+ if test "$libtool" = yes; then
+ showIncludes=-Wc,-showIncludes
+ else
+ showIncludes=-showIncludes
+ fi
+ "$@" $showIncludes > "$tmpdepfile"
+ stat=$?
+ grep -v '^Note: including file: ' "$tmpdepfile"
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ # The first sed program below extracts the file names and escapes
+ # backslashes for cygpath. The second sed program outputs the file
+ # name when reading, but also accumulates all include files in the
+ # hold buffer in order to output them again at the end. This only
+ # works with sed implementations that can handle large buffers.
+ sed < "$tmpdepfile" -n '
+/^Note: including file: *\(.*\)/ {
+ s//\1/
+ s/\\/\\\\/g
+ p
+}' | $cygpath_u | sort -u | sed -n '
+s/ /\\ /g
+s/\(.*\)/'"$tab"'\1 \\/p
+s/.\(.*\) \\/\1:/
+H
+$ {
+ s/.*/'"$tab"'/
+ G
+ p
+}' >> "$depfile"
+ echo >> "$depfile" # make sure the fragment doesn't end with a backslash
+ rm -f "$tmpdepfile"
+ ;;
+
+msvc7msys)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
#nosideeffect)
# This comment above is used by automake to tell side-effect
shift
fi
- # Remove `-o $object'.
+ # Remove '-o $object'.
IFS=" "
for arg
do
done
test -z "$dashmflag" && dashmflag=-M
- # Require at least two characters before searching for `:'
+ # Require at least two characters before searching for ':'
# in the target name. This is to cope with DOS-style filenames:
- # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
+ # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
"$@" $dashmflag |
- sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
+ sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
- tr ' ' '
-' < "$tmpdepfile" | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ # Some versions of the HPUX 10.20 sed can't process this sed invocation
+ # correctly. Breaking it into two sed invocations is a workaround.
+ tr ' ' "$nl" < "$tmpdepfile" \
+ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+ | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
touch "$tmpdepfile"
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
rm -f "$depfile"
- cat < "$tmpdepfile" > "$depfile"
- sed '1,2d' "$tmpdepfile" | tr ' ' '
-' | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ # makedepend may prepend the VPATH from the source file name to the object.
+ # No need to regex-escape $object, excess matching of '.' is harmless.
+ sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
+ # Some versions of the HPUX 10.20 sed can't process the last invocation
+ # correctly. Breaking it into two sed invocations is a workaround.
+ sed '1,2d' "$tmpdepfile" \
+ | tr ' ' "$nl" \
+ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+ | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile" "$tmpdepfile".bak
;;
shift
fi
- # Remove `-o $object'.
+ # Remove '-o $object'.
IFS=" "
for arg
do
esac
done
- "$@" -E |
- sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
- -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
- sed '$ s: \\$::' > "$tmpdepfile"
+ "$@" -E \
+ | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+ | sed '$ s: \\$::' > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
cat < "$tmpdepfile" >> "$depfile"
shift
;;
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
- set fnord "$@"
- shift
- shift
- ;;
+ set fnord "$@"
+ shift
+ shift
+ ;;
*)
- set fnord "$@" "$arg"
- shift
- shift
- ;;
+ set fnord "$@" "$arg"
+ shift
+ shift
+ ;;
esac
done
"$@" -E 2>/dev/null |
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
- sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
- echo " " >> "$depfile"
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
+ echo "$tab" >> "$depfile"
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
rm -f "$tmpdepfile"
;;
-# Makefile.in generated by automake 1.10.3 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@SET_MAKE@
VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
target_triplet = @target@
noinst_PROGRAMS = example-c$(EXEEXT) list-dicts$(EXEEXT)
subdir = examples
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/depcomp
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \
$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
- $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
- $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/gen/settings.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
PROGRAMS = $(noinst_PROGRAMS)
am_example_c_OBJECTS = example-c.$(OBJEXT)
example_c_OBJECTS = $(am_example_c_OBJECTS)
example_c_DEPENDENCIES = ../libaspell.la
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
am_list_dicts_OBJECTS = list-dicts.$(OBJEXT)
list_dicts_OBJECTS = $(am_list_dicts_OBJECTS)
list_dicts_DEPENDENCIES = ../libaspell.la
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/gen
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
SOURCES = $(example_c_SOURCES) $(list_dicts_SOURCES)
DIST_SOURCES = $(example_c_SOURCES) $(list_dicts_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
pkglibdir = @pkglibdir@
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERLPROG = @PERLPROG@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AM_CPPFLAGS = -I${top_srcdir}/interfaces/cc/ -I${top_srcdir}/common
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign examples/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign examples/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign examples/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign examples/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-example-c$(EXEEXT): $(example_c_OBJECTS) $(example_c_DEPENDENCIES)
+ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+example-c$(EXEEXT): $(example_c_OBJECTS) $(example_c_DEPENDENCIES) $(EXTRA_example_c_DEPENDENCIES)
@rm -f example-c$(EXEEXT)
- $(LINK) $(example_c_OBJECTS) $(example_c_LDADD) $(LIBS)
-list-dicts$(EXEEXT): $(list_dicts_OBJECTS) $(list_dicts_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(example_c_OBJECTS) $(example_c_LDADD) $(LIBS)
+
+list-dicts$(EXEEXT): $(list_dicts_OBJECTS) $(list_dicts_DEPENDENCIES) $(EXTRA_list_dicts_DEPENDENCIES)
@rm -f list-dicts$(EXEEXT)
- $(LINK) $(list_dicts_OBJECTS) $(list_dicts_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(list_dicts_OBJECTS) $(list_dicts_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list-dicts.Po@am__quote@
.c.o:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
-@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \
+ ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
msgid "HTML tags to always skip the contents of"
msgstr ""
+#: modules/filter/markdown-filter.info:8
+msgid "filter for Markdown/CommonMark documents"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
+msgstr ""
+
#: modules/filter/nroff-filter.info:7
msgid "filter for dealing with Nroff documents"
msgstr ""
msgid "mode for checking HTML documents"
msgstr ""
+#: modules/filter/modes/markdown.amf:10
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr ""
+
#: modules/filter/modes/none.amf:5
msgid "mode to disable all filters"
msgstr ""
/* Defined if filter version control should be used */
#undef FILTER_VERSION_CONTROL
-/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the
+/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the
CoreFoundation framework. */
#undef HAVE_CFLOCALECOPYCURRENT
-/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in
+/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in
the CoreFoundation framework. */
#undef HAVE_CFPREFERENCESCOPYAPPVALUE
/* Define if the GNU gettext() function is already present or preinstalled. */
#undef HAVE_GETTEXT
-/* Define if you have the iconv() function. */
+/* Define if you have the iconv() function and it works. */
#undef HAVE_ICONV
/* Define to 1 if you have the <inttypes.h> header file. */
*/
#undef LT_OBJDIR
-/* Define to 1 if your C compiler doesn't accept -c and -o together. */
-#undef NO_MINUS_C_MINUS_O
-
/* Name of package */
#undef PACKAGE
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* Defined to term header file */
#undef TERM_HEADER
+/* Defined if 32-bit hash function should be used for compiled dictionaries.
+ */
+#undef USE_32_BIT_HASH_FUN
+
/* Defined if file ino is supported */
#undef USE_FILE_INO
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2011-11-20.07; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
# FSF changes to this file are in the public domain.
#
# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
+# 'make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
-s) stripcmd=$stripprog;;
-t) dst_arg=$2
+ # Protect names problematic for 'test' and other utilities.
+ case $dst_arg in
+ -* | [=\(\)!]) dst_arg=./$dst_arg;;
+ esac
shift;;
-T) no_target_directory=true;;
fi
shift # arg
dst_arg=$arg
+ # Protect names problematic for 'test' and other utilities.
+ case $dst_arg in
+ -* | [=\(\)!]) dst_arg=./$dst_arg;;
+ esac
done
fi
echo "$0: no input file specified." >&2
exit 1
fi
- # It's OK to call `install-sh -d' without argument.
+ # It's OK to call 'install-sh -d' without argument.
# This can happen when creating conditional directories.
exit 0
fi
if test -z "$dir_arg"; then
- trap '(exit $?); exit' 1 2 13 15
+ do_exit='(exit $ret); exit $ret'
+ trap "ret=129; $do_exit" 1
+ trap "ret=130; $do_exit" 2
+ trap "ret=141; $do_exit" 13
+ trap "ret=143; $do_exit" 15
# Set umask so as not to create temps with too-generous modes.
# However, 'strip' requires both read and write access to temps.
for src
do
- # Protect names starting with `-'.
+ # Protect names problematic for 'test' and other utilities.
case $src in
- -*) src=./$src;;
+ -* | [=\(\)!]) src=./$src;;
esac
if test -n "$dir_arg"; then
echo "$0: no destination specified." >&2
exit 1
fi
-
dst=$dst_arg
- # Protect names starting with `-'.
- case $dst in
- -*) dst=./$dst;;
- esac
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
;;
*)
+ # $RANDOM is not portable (e.g. dash); use it when possible to
+ # lower collision chance
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
- trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+ trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
+ # As "mkdir -p" follows symlinks and we work in /tmp possibly; so
+ # create the $tmpdir first (and fail if unsuccessful) to make sure
+ # that nobody tries to guess the $tmpdir name.
if (umask $mkdir_umask &&
- exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+ $mkdirprog $mkdir_mode "$tmpdir" &&
+ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
then
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
- # other-writeable bit of parent directory when it shouldn't.
+ # other-writable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
- ls_ld_tmpdir=`ls -ld "$tmpdir"`
+ test_tmpdir="$tmpdir/a"
+ ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
case $ls_ld_tmpdir in
d????-?r-*) different_mode=700;;
d????-?--*) different_mode=755;;
*) false;;
esac &&
- $mkdirprog -m$different_mode -p -- "$tmpdir" && {
- ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+ $mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
+ ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
}
}
then posix_mkdir=:
fi
- rmdir "$tmpdir/d" "$tmpdir"
+ rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
else
# Remove any dirs left behind by ancient mkdir implementations.
- rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+ rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
fi
trap '' 0;;
esac;;
case $dstdir in
/*) prefix='/';;
- -*) prefix='./';;
+ [-=\(\)!]*) prefix='./';;
*) prefix='';;
esac
for d
do
- test -z "$d" && continue
+ test X"$d" = X && continue
prefix=$prefix$d
if test -d "$prefix"; then
+/******************************* version *******************************/
+
+
+/* Returns a version string, which may include additional
+ * information on how Aspell was compiled. */
+const char * aspell_version_string();
+
/******************************** error ********************************/
* The speller class is expected to last until
* this class is destroyed.
* If config is given it will be used to override
- * any relevent options set by this speller class.
+ * any relevant options set by this speller class.
* The config class is not once this function is done.
* If filter is given then it will take ownership of
* the filter class and use it to do the filtering.
* the dictionary: 10=tiny, 20=really small,
* 30=small, 40=med-small, 50=med, 60=med-large,
* 70=large, 80=huge, 90=insane. Please check
- * the README in aspell-lang-200?????.tar.bz2 or
+ * the README in aspell-lang-20??????.tar.bz2 or
* see SCOWL (http://wordlist.sourceforge.net)
* for an example of how these sizes are used. */
const char * size_str;
-# Makefile.in generated by automake 1.10.3 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@SET_MAKE@
VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
target_triplet = @target@
@INCREMENTED_SONAME_TRUE@@PSPELL_COMPATIBILITY_TRUE@am__append_1 = libpspell.la
subdir = lib5
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/depcomp
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \
$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
- $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
- $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/gen/settings.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
am__installdirs = "$(DESTDIR)$(libdir)"
-libLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(lib_LTLIBRARIES)
@INCREMENTED_SONAME_TRUE@libaspell_la_DEPENDENCIES = ../libaspell.la
am__libaspell_la_SOURCES_DIST = aspell-dummy.cpp
@INCREMENTED_SONAME_TRUE@am_libaspell_la_OBJECTS = aspell-dummy.lo
libaspell_la_OBJECTS = $(am_libaspell_la_OBJECTS)
-libaspell_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+libaspell_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
$(CXXFLAGS) $(libaspell_la_LDFLAGS) $(LDFLAGS) -o $@
@INCREMENTED_SONAME_TRUE@am_libaspell_la_rpath = -rpath $(libdir)
am__libpspell_la_SOURCES_DIST = pspell-dummy.cpp
@INCREMENTED_SONAME_TRUE@@PSPELL_COMPATIBILITY_TRUE@am_libpspell_la_OBJECTS = pspell-dummy.lo
libpspell_la_OBJECTS = $(am_libpspell_la_OBJECTS)
-libpspell_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+libpspell_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
$(CXXFLAGS) $(libpspell_la_LDFLAGS) $(LDFLAGS) -o $@
@INCREMENTED_SONAME_TRUE@@PSPELL_COMPATIBILITY_TRUE@am_libpspell_la_rpath = \
@INCREMENTED_SONAME_TRUE@@PSPELL_COMPATIBILITY_TRUE@ -rpath \
@INCREMENTED_SONAME_TRUE@@PSPELL_COMPATIBILITY_TRUE@ $(libdir)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/gen
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_@AM_V@)
+am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
+am__v_CXX_0 = @echo " CXX " $@;
+am__v_CXX_1 =
CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
+am__v_CXXLD_0 = @echo " CXXLD " $@;
+am__v_CXXLD_1 =
SOURCES = $(libaspell_la_SOURCES) $(libpspell_la_SOURCES)
DIST_SOURCES = $(am__libaspell_la_SOURCES_DIST) \
$(am__libpspell_la_SOURCES_DIST)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
pkglibdir = @pkglibdir@
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERLPROG = @PERLPROG@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
@INCREMENTED_SONAME_TRUE@lib_LTLIBRARIES = libaspell.la \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign lib5/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign lib5/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign lib5/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign lib5/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
- test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ list2=; for p in $$list; do \
if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+ list2="$$list2 $$p"; \
else :; fi; \
- done
+ done; \
+ test -z "$$list2" || { \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
+ }
uninstall-libLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
done
clean-libLTLIBRARIES:
-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-libaspell.la: $(libaspell_la_OBJECTS) $(libaspell_la_DEPENDENCIES)
- $(libaspell_la_LINK) $(am_libaspell_la_rpath) $(libaspell_la_OBJECTS) $(libaspell_la_LIBADD) $(LIBS)
-libpspell.la: $(libpspell_la_OBJECTS) $(libpspell_la_DEPENDENCIES)
- $(libpspell_la_LINK) $(am_libpspell_la_rpath) $(libpspell_la_OBJECTS) $(libpspell_la_LIBADD) $(LIBS)
+ @list='$(lib_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
+libaspell.la: $(libaspell_la_OBJECTS) $(libaspell_la_DEPENDENCIES) $(EXTRA_libaspell_la_DEPENDENCIES)
+ $(AM_V_CXXLD)$(libaspell_la_LINK) $(am_libaspell_la_rpath) $(libaspell_la_OBJECTS) $(libaspell_la_LIBADD) $(LIBS)
+
+libpspell.la: $(libpspell_la_OBJECTS) $(libpspell_la_DEPENDENCIES) $(EXTRA_libpspell_la_DEPENDENCIES)
+ $(AM_V_CXXLD)$(libpspell_la_LINK) $(am_libpspell_la_rpath) $(libpspell_la_OBJECTS) $(libpspell_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pspell-dummy.Plo@am__quote@
.cpp.o:
-@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
.cpp.obj:
-@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.cpp.lo:
-@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libLTLIBRARIES clean-libtool ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am \
- install-libLTLIBRARIES install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-libLTLIBRARIES clean-libtool cscopelist-am ctags \
+ ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-libLTLIBRARIES install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-libLTLIBRARIES
+ tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
-# Generated from ltmain.m4sh.
-# ltmain.sh (GNU libtool) 2.2.2
+# libtool (GNU libtool) 2.4.2
# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
+# 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
# This is free software; see the source for copying conditions. There is NO
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#
# Provide generalized library-building support services.
#
-# --config show all configuration variables
-# --debug enable verbose shell tracing
-# -n, --dry-run display commands without modifying any files
-# --features display basic configuration information and exit
-# --mode=MODE use operation mode MODE
-# --preserve-dup-deps don't remove duplicate dependency libraries
-# --quiet, --silent don't print informational messages
-# --tag=TAG use configuration variables from tag TAG
-# -v, --verbose print informational messages (default)
-# --version print version information
-# -h, --help print short or long help message
+# --config show all configuration variables
+# --debug enable verbose shell tracing
+# -n, --dry-run display commands without modifying any files
+# --features display basic configuration information and exit
+# --mode=MODE use operation mode MODE
+# --preserve-dup-deps don't remove duplicate dependency libraries
+# --quiet, --silent don't print informational messages
+# --no-quiet, --no-silent
+# print informational messages (default)
+# --no-warn don't display warning messages
+# --tag=TAG use configuration variables from tag TAG
+# -v, --verbose print more informational messages than default
+# --no-verbose don't print the extra informational messages
+# --version print version information
+# -h, --help, --help-all print short, long, or detailed help message
#
# MODE must be one of the following:
#
-# clean remove files from the build directory
-# compile compile a source file into a libtool object
-# execute automatically set library path, then run a program
-# finish complete the installation of libtool libraries
-# install install libraries or executables
-# link create a library or an executable
-# uninstall remove libraries from an installed directory
+# clean remove files from the build directory
+# compile compile a source file into a libtool object
+# execute automatically set library path, then run a program
+# finish complete the installation of libtool libraries
+# install install libraries or executables
+# link create a library or an executable
+# uninstall remove libraries from an installed directory
#
-# MODE-ARGS vary depending on the MODE.
+# MODE-ARGS vary depending on the MODE. When passed as first option,
+# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that.
# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
#
# When reporting a bug, please describe a test case to reproduce it and
# include the following information:
#
-# host-triplet: $host
-# shell: $SHELL
-# compiler: $LTCC
-# compiler flags: $LTCFLAGS
-# linker: $LD (gnu? $with_gnu_ld)
-# $progname: (GNU libtool) 2.2.2
-# automake: $automake_version
-# autoconf: $autoconf_version
+# host-triplet: $host
+# shell: $SHELL
+# compiler: $LTCC
+# compiler flags: $LTCFLAGS
+# linker: $LD (gnu? $with_gnu_ld)
+# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1.11
+# automake: $automake_version
+# autoconf: $autoconf_version
#
# Report bugs to <bug-libtool@gnu.org>.
+# GNU libtool home page: <http://www.gnu.org/software/libtool/>.
+# General help using GNU software: <http://www.gnu.org/gethelp/>.
-PROGRAM=ltmain.sh
+PROGRAM=libtool
PACKAGE=libtool
-VERSION=2.2.2
+VERSION="2.4.2 Debian-2.4.2-1.11"
TIMESTAMP=""
-package_revision=1.2627
+package_revision=1.3337
# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+}
+
# NLS nuisances: We save the old values to restore during execute mode.
-# Only set LANG and LC_ALL to C if already set.
-# These must not be set unconditionally because not all systems understand
-# e.g. LANG=C (notably SCO).
lt_user_locale=
lt_safe_locale=
for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
fi"
done
+LC_ALL=C
+LANGUAGE=C
+export LANGUAGE LC_ALL
$lt_unset CDPATH
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath="$0"
: ${CP="cp -f"}
-: ${ECHO="echo"}
-: ${EGREP="/usr/bin/grep -E"}
-: ${FGREP="/usr/bin/grep -F"}
-: ${GREP="/usr/bin/grep"}
-: ${LN_S="ln -s"}
+test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
: ${MAKE="make"}
: ${MKDIR="mkdir"}
: ${MV="mv -f"}
: ${RM="rm -f"}
-: ${SED="/opt/local/bin/gsed"}
: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
: ${Xsed="$SED -e 1s/^X//"}
dirname="s,/[^/]*$,,"
basename="s,^.*/,,"
-# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
-# is ksh but when the shell is invoked as "sh" and the current value of
-# the _XPG environment variable is not equal to 1 (one), the special
-# positional parameter $0, within a function call, is the name of the
-# function.
-progpath="$0"
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+ func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
+ if test "X$func_dirname_result" = "X${1}"; then
+ func_dirname_result="${3}"
+ else
+ func_dirname_result="$func_dirname_result${2}"
+ fi
+} # func_dirname may be replaced by extended shell implementation
+
+
+# func_basename file
+func_basename ()
+{
+ func_basename_result=`$ECHO "${1}" | $SED "$basename"`
+} # func_basename may be replaced by extended shell implementation
+
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+# dirname: Compute the dirname of FILE. If nonempty,
+# add APPEND to the result, otherwise set result
+# to NONDIR_REPLACEMENT.
+# value returned in "$func_dirname_result"
+# basename: Compute filename of FILE.
+# value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+ # Extract subdirectory from the argument.
+ func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
+ if test "X$func_dirname_result" = "X${1}"; then
+ func_dirname_result="${3}"
+ else
+ func_dirname_result="$func_dirname_result${2}"
+ fi
+ func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
+} # func_dirname_and_basename may be replaced by extended shell implementation
+
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+# func_strip_suffix prefix name
+func_stripname ()
+{
+ case ${2} in
+ .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+ *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+ esac
+} # func_stripname may be replaced by extended shell implementation
+
+
+# These SED scripts presuppose an absolute path with a trailing slash.
+pathcar='s,^/\([^/]*\).*$,\1,'
+pathcdr='s,^/[^/]*,,'
+removedotparts=':dotsl
+ s@/\./@/@g
+ t dotsl
+ s,/\.$,/,'
+collapseslashes='s@/\{1,\}@/@g'
+finalslash='s,/*$,/,'
+
+# func_normal_abspath PATH
+# Remove doubled-up and trailing slashes, "." path components,
+# and cancel out any ".." path components in PATH after making
+# it an absolute path.
+# value returned in "$func_normal_abspath_result"
+func_normal_abspath ()
+{
+ # Start from root dir and reassemble the path.
+ func_normal_abspath_result=
+ func_normal_abspath_tpath=$1
+ func_normal_abspath_altnamespace=
+ case $func_normal_abspath_tpath in
+ "")
+ # Empty path, that just means $cwd.
+ func_stripname '' '/' "`pwd`"
+ func_normal_abspath_result=$func_stripname_result
+ return
+ ;;
+ # The next three entries are used to spot a run of precisely
+ # two leading slashes without using negated character classes;
+ # we take advantage of case's first-match behaviour.
+ ///*)
+ # Unusual form of absolute path, do nothing.
+ ;;
+ //*)
+ # Not necessarily an ordinary path; POSIX reserves leading '//'
+ # and for example Cygwin uses it to access remote file shares
+ # over CIFS/SMB, so we conserve a leading double slash if found.
+ func_normal_abspath_altnamespace=/
+ ;;
+ /*)
+ # Absolute path, do nothing.
+ ;;
+ *)
+ # Relative path, prepend $cwd.
+ func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
+ ;;
+ esac
+ # Cancel out all the simple stuff to save iterations. We also want
+ # the path to end with a slash for ease of parsing, so make sure
+ # there is one (and only one) here.
+ func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+ -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"`
+ while :; do
+ # Processed it all yet?
+ if test "$func_normal_abspath_tpath" = / ; then
+ # If we ascended to the root using ".." the result may be empty now.
+ if test -z "$func_normal_abspath_result" ; then
+ func_normal_abspath_result=/
+ fi
+ break
+ fi
+ func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
+ -e "$pathcar"`
+ func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+ -e "$pathcdr"`
+ # Figure out what to do with it
+ case $func_normal_abspath_tcomponent in
+ "")
+ # Trailing empty path component, ignore it.
+ ;;
+ ..)
+ # Parent dir; strip last assembled component from result.
+ func_dirname "$func_normal_abspath_result"
+ func_normal_abspath_result=$func_dirname_result
+ ;;
+ *)
+ # Actual path component, append it.
+ func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent
+ ;;
+ esac
+ done
+ # Restore leading double-slash if one was found on entry.
+ func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
+}
+
+# func_relative_path SRCDIR DSTDIR
+# generates a relative path from SRCDIR to DSTDIR, with a trailing
+# slash if non-empty, suitable for immediately appending a filename
+# without needing to append a separator.
+# value returned in "$func_relative_path_result"
+func_relative_path ()
+{
+ func_relative_path_result=
+ func_normal_abspath "$1"
+ func_relative_path_tlibdir=$func_normal_abspath_result
+ func_normal_abspath "$2"
+ func_relative_path_tbindir=$func_normal_abspath_result
+
+ # Ascend the tree starting from libdir
+ while :; do
+ # check if we have found a prefix of bindir
+ case $func_relative_path_tbindir in
+ $func_relative_path_tlibdir)
+ # found an exact match
+ func_relative_path_tcancelled=
+ break
+ ;;
+ $func_relative_path_tlibdir*)
+ # found a matching prefix
+ func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
+ func_relative_path_tcancelled=$func_stripname_result
+ if test -z "$func_relative_path_result"; then
+ func_relative_path_result=.
+ fi
+ break
+ ;;
+ *)
+ func_dirname $func_relative_path_tlibdir
+ func_relative_path_tlibdir=${func_dirname_result}
+ if test "x$func_relative_path_tlibdir" = x ; then
+ # Have to descend all the way to the root!
+ func_relative_path_result=../$func_relative_path_result
+ func_relative_path_tcancelled=$func_relative_path_tbindir
+ break
+ fi
+ func_relative_path_result=../$func_relative_path_result
+ ;;
+ esac
+ done
+
+ # Now calculate path; take care to avoid doubling-up slashes.
+ func_stripname '' '/' "$func_relative_path_result"
+ func_relative_path_result=$func_stripname_result
+ func_stripname '/' '/' "$func_relative_path_tcancelled"
+ if test "x$func_stripname_result" != x ; then
+ func_relative_path_result=${func_relative_path_result}/${func_stripname_result}
+ fi
+
+ # Normalisation. If bindir is libdir, return empty string,
+ # else relative path ending with a slash; either way, target
+ # file name can be directly appended.
+ if test ! -z "$func_relative_path_result"; then
+ func_stripname './' '' "$func_relative_path_result/"
+ func_relative_path_result=$func_stripname_result
+ fi
+}
# The name of this program:
-# In the unlikely event $progname began with a '-', it would play havoc with
-# func_echo (imagine progname=-n), so we prepend ./ in that case:
-progname=`$ECHO "X$progpath" | $Xsed -e "$basename" -e 's,^-,./-,'`
+func_dirname_and_basename "$progpath"
+progname=$func_basename_result
# Make sure we have an absolute path for reexecution:
case $progpath in
[\\/]*|[A-Za-z]:\\*) ;;
*[\\/]*)
- progdir=`$ECHO "X$progpath" | $Xsed -e "$dirname"`
+ progdir=$func_dirname_result
progdir=`cd "$progdir" && pwd`
progpath="$progdir/$progname"
;;
*)
save_IFS="$IFS"
- IFS=:
+ IFS=${PATH_SEPARATOR-:}
for progdir in $PATH; do
IFS="$save_IFS"
test -x "$progdir/$progname" && break
# Same as above, but do not quote variable references.
double_quote_subst='s/\(["`\\]\)/\\\1/g'
+# Sed substitution that turns a string into a regex matching for the
+# string literally.
+sed_make_literal_regex='s,[].[^$\\*\/],\\&,g'
+
+# Sed substitution that converts a w32 file name or path
+# which contains forward slashes, into one that contains
+# (escaped) backslashes. A very naive implementation.
+lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+
# Re-`\' parameter expansions in output of double_quote_subst that were
# `\'-ed in input to the same. If an odd number of `\' preceded a '$'
# in input to double_quote_subst, that '$' was protected from expansion.
opt_help=false
opt_quiet=false
opt_verbose=false
+opt_warning=:
# func_echo arg...
# Echo program name prefixed message, along with the current mode
# name if it has been set yet.
func_echo ()
{
- $ECHO "$progname${mode+: }$mode: $*"
+ $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
}
# func_verbose arg...
:
}
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+ $ECHO "$*"
+}
+
# func_error arg...
# Echo program name prefixed message to standard error.
func_error ()
{
- $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2
+ $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
}
# func_warning arg...
# Echo program name prefixed warning message to standard error.
func_warning ()
{
- $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2
+ $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
+
+ # bash bug again:
+ :
}
# func_fatal_error arg...
case $my_directory_path in */*) ;; *) break ;; esac
# ...otherwise throw away the child directory and loop
- my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"`
+ my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"`
done
- my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'`
+ my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'`
save_mkdir_p_IFS="$IFS"; IFS=':'
for my_dir in $my_dir_list; do
func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
fi
- $ECHO "X$my_tmpdir" | $Xsed
+ $ECHO "$my_tmpdir"
}
{
case $1 in
*[\\\`\"\$]*)
- func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;;
+ func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;;
*)
func_quote_for_eval_unquoted_result="$1" ;;
esac
{
case $1 in
*[\\\`\"]*)
- my_arg=`$ECHO "X$1" | $Xsed \
+ my_arg=`$ECHO "$1" | $SED \
-e "$double_quote_subst" -e "$sed_double_backslash"` ;;
*)
my_arg="$1" ;;
fi
}
-
-
+# func_tr_sh
+# Turn $1 into a string suitable for a shell variable name.
+# Result is stored in $func_tr_sh_result. All characters
+# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
+# if $1 begins with a digit, a '_' is prepended as well.
+func_tr_sh ()
+{
+ case $1 in
+ [0-9]* | *[!a-zA-Z0-9_]*)
+ func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'`
+ ;;
+ * )
+ func_tr_sh_result=$1
+ ;;
+ esac
+}
# func_version
# Echo version message to standard output and exit.
func_version ()
{
- $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / {
+ $opt_debug
+
+ $SED -n '/(C)/!b go
+ :more
+ /\./!{
+ N
+ s/\n# / /
+ b more
+ }
+ :go
+ /^# '$PROGRAM' (GNU /,/# warranty; / {
s/^# //
s/^# *$//
s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
# Echo short help message to standard output and exit.
func_usage ()
{
- $SED -n '/^# Usage:/,/# -h/ {
+ $opt_debug
+
+ $SED -n '/^# Usage:/,/^# *.*--help/ {
s/^# //
s/^# *$//
s/\$progname/'$progname'/
p
}' < "$progpath"
- $ECHO
+ echo
$ECHO "run \`$progname --help | more' for full usage"
exit $?
}
-# func_help
-# Echo long help message to standard output and exit.
+# func_help [NOEXIT]
+# Echo long help message to standard output and exit,
+# unless 'noexit' is passed as argument.
func_help ()
{
+ $opt_debug
+
$SED -n '/^# Usage:/,/# Report bugs to/ {
+ :print
s/^# //
s/^# *$//
s*\$progname*'$progname'*
s*\$LTCFLAGS*'"$LTCFLAGS"'*
s*\$LD*'"$LD"'*
s/\$with_gnu_ld/'"$with_gnu_ld"'/
- s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
- s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
+ s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/
+ s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/
p
- }' < "$progpath"
- exit $?
+ d
+ }
+ /^# .* home page:/b print
+ /^# General help using/b print
+ ' < "$progpath"
+ ret=$?
+ if test -z "$1"; then
+ exit $ret
+ fi
}
# func_missing_arg argname
# exit_cmd.
func_missing_arg ()
{
- func_error "missing argument for $1"
+ $opt_debug
+
+ func_error "missing argument for $1."
exit_cmd=exit
}
-exit_cmd=:
+# func_split_short_opt shortopt
+# Set func_split_short_opt_name and func_split_short_opt_arg shell
+# variables after splitting SHORTOPT after the 2nd character.
+func_split_short_opt ()
+{
+ my_sed_short_opt='1s/^\(..\).*$/\1/;q'
+ my_sed_short_rest='1s/^..\(.*\)$/\1/;q'
+ func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"`
+ func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"`
+} # func_split_short_opt may be replaced by extended shell implementation
+
+
+# func_split_long_opt longopt
+# Set func_split_long_opt_name and func_split_long_opt_arg shell
+# variables after splitting LONGOPT at the `=' sign.
+func_split_long_opt ()
+{
+ my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q'
+ my_sed_long_arg='1s/^--[^=]*=//'
+
+ func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"`
+ func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"`
+} # func_split_long_opt may be replaced by extended shell implementation
+
+exit_cmd=:
-# Check that we have a working $ECHO.
-if test "X$1" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
-elif test "X$1" = X--fallback-echo; then
- # Avoid inline document here, it may be left over
- :
-elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then
- # Yippee, $ECHO works!
- :
-else
- # Restart under the correct shell, and then maybe $ECHO will work.
- exec $SHELL "$progpath" --no-reexec ${1+"$@"}
-fi
-if test "X$1" = X--fallback-echo; then
- # used as fallback echo
- shift
- cat <<EOF
-$*
-EOF
- exit $EXIT_SUCCESS
-fi
magic="%%%MAGIC variable%%%"
magic_exe="%%%MAGIC EXE variable%%%"
# Global variables.
-# $mode is unset
nonopt=
-execute_dlfiles=
preserve_args=
lo2o="s/\\.lo\$/.${objext}/"
o2lo="s/\\.${objext}\$/.lo/"
extracted_archives=
extracted_serial=0
-opt_dry_run=false
-opt_duplicate_deps=false
-opt_silent=false
-opt_debug=:
-
# If this variable is set in any of the actions, the command in it
# will be execed at the end. This prevents here-documents from being
# left over by shells.
exec_cmd=
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+ eval "${1}=\$${1}\${2}"
+} # func_append may be replaced by extended shell implementation
+
+# func_append_quoted var value
+# Quote VALUE and append to the end of shell variable VAR, separated
+# by a space.
+func_append_quoted ()
+{
+ func_quote_for_eval "${2}"
+ eval "${1}=\$${1}\\ \$func_quote_for_eval_result"
+} # func_append_quoted may be replaced by extended shell implementation
+
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+ func_arith_result=`expr "${@}"`
+} # func_arith may be replaced by extended shell implementation
+
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+ func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len`
+} # func_len may be replaced by extended shell implementation
+
+
+# func_lo2o object
+func_lo2o ()
+{
+ func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
+} # func_lo2o may be replaced by extended shell implementation
+
+
+# func_xform libobj-or-source
+func_xform ()
+{
+ func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
+} # func_xform may be replaced by extended shell implementation
+
+
# func_fatal_configuration arg...
# Echo program name prefixed message to standard error, followed by
# a configuration failure hint, and exit.
# Display the features supported by this script.
func_features ()
{
- $ECHO "host: $host"
+ echo "host: $host"
if test "$build_libtool_libs" = yes; then
- $ECHO "enable shared libraries"
+ echo "enable shared libraries"
else
- $ECHO "disable shared libraries"
+ echo "disable shared libraries"
fi
if test "$build_old_libs" = yes; then
- $ECHO "enable static libraries"
+ echo "enable static libraries"
else
- $ECHO "disable static libraries"
+ echo "disable static libraries"
fi
exit $?
esac
}
-
-func_mode_help ()
+# func_check_version_match
+# Ensure that we are using m4 macros, and libtool script from the same
+# release of libtool.
+func_check_version_match ()
{
- # We need to display help for each of the modes.
- case $mode in
- "")
- # Generic help is extracted from the usage comments
- # at the start of this file.
- func_help
- ;;
+ if test "$package_revision" != "$macro_revision"; then
+ if test "$VERSION" != "$macro_version"; then
+ if test -z "$macro_version"; then
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from an older release.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+ else
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+ fi
+ else
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
+$progname: but the definition of this LT_INIT comes from revision $macro_revision.
+$progname: You should recreate aclocal.m4 with macros from revision $package_revision
+$progname: of $PACKAGE $VERSION and run autoconf again.
+_LT_EOF
+ fi
- clean)
- $ECHO \
-"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
+ exit $EXIT_MISMATCH
+ fi
+}
-Remove files from the build directory.
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
+# Shorthand for --mode=foo, only valid as the first argument
+case $1 in
+clean|clea|cle|cl)
+ shift; set dummy --mode clean ${1+"$@"}; shift
+ ;;
+compile|compil|compi|comp|com|co|c)
+ shift; set dummy --mode compile ${1+"$@"}; shift
+ ;;
+execute|execut|execu|exec|exe|ex|e)
+ shift; set dummy --mode execute ${1+"$@"}; shift
+ ;;
+finish|finis|fini|fin|fi|f)
+ shift; set dummy --mode finish ${1+"$@"}; shift
+ ;;
+install|instal|insta|inst|ins|in|i)
+ shift; set dummy --mode install ${1+"$@"}; shift
+ ;;
+link|lin|li|l)
+ shift; set dummy --mode link ${1+"$@"}; shift
+ ;;
+uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
+ shift; set dummy --mode uninstall ${1+"$@"}; shift
+ ;;
+esac
-If FILE is a libtool library, object or program, all the files associated
-with it are deleted. Otherwise, only FILE itself is deleted using RM."
- ;;
- compile)
- $ECHO \
-"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
-Compile a source file into a libtool library object.
+# Option defaults:
+opt_debug=:
+opt_dry_run=false
+opt_config=false
+opt_preserve_dup_deps=false
+opt_features=false
+opt_finish=false
+opt_help=false
+opt_help_all=false
+opt_silent=:
+opt_warning=:
+opt_verbose=:
+opt_silent=false
+opt_verbose=false
-This mode accepts the following additional options:
- -o OUTPUT-FILE set the output file name to OUTPUT-FILE
- -no-suppress do not suppress compiler output for multiple passes
- -prefer-pic try to building PIC objects only
- -prefer-non-pic try to building non-PIC objects only
- -shared do not build a \`.o' file suitable for static linking
- -static only build a \`.o' file suitable for static linking
+# Parse options once, thoroughly. This comes as soon as possible in the
+# script to make things like `--version' happen as quickly as we can.
+{
+ # this just eases exit handling
+ while test $# -gt 0; do
+ opt="$1"
+ shift
+ case $opt in
+ --debug|-x) opt_debug='set -x'
+ func_echo "enabling shell trace mode"
+ $opt_debug
+ ;;
+ --dry-run|--dryrun|-n)
+ opt_dry_run=:
+ ;;
+ --config)
+ opt_config=:
+func_config
+ ;;
+ --dlopen|-dlopen)
+ optarg="$1"
+ opt_dlopen="${opt_dlopen+$opt_dlopen
+}$optarg"
+ shift
+ ;;
+ --preserve-dup-deps)
+ opt_preserve_dup_deps=:
+ ;;
+ --features)
+ opt_features=:
+func_features
+ ;;
+ --finish)
+ opt_finish=:
+set dummy --mode finish ${1+"$@"}; shift
+ ;;
+ --help)
+ opt_help=:
+ ;;
+ --help-all)
+ opt_help_all=:
+opt_help=': help-all'
+ ;;
+ --mode)
+ test $# = 0 && func_missing_arg $opt && break
+ optarg="$1"
+ opt_mode="$optarg"
+case $optarg in
+ # Valid mode arguments:
+ clean|compile|execute|finish|install|link|relink|uninstall) ;;
+
+ # Catch anything else as an error
+ *) func_error "invalid argument for $opt"
+ exit_cmd=exit
+ break
+ ;;
+esac
+ shift
+ ;;
+ --no-silent|--no-quiet)
+ opt_silent=false
+func_append preserve_args " $opt"
+ ;;
+ --no-warning|--no-warn)
+ opt_warning=false
+func_append preserve_args " $opt"
+ ;;
+ --no-verbose)
+ opt_verbose=false
+func_append preserve_args " $opt"
+ ;;
+ --silent|--quiet)
+ opt_silent=:
+func_append preserve_args " $opt"
+ opt_verbose=false
+ ;;
+ --verbose|-v)
+ opt_verbose=:
+func_append preserve_args " $opt"
+opt_silent=false
+ ;;
+ --tag)
+ test $# = 0 && func_missing_arg $opt && break
+ optarg="$1"
+ opt_tag="$optarg"
+func_append preserve_args " $opt $optarg"
+func_enable_tag "$optarg"
+ shift
+ ;;
-COMPILE-COMMAND is a command to be used in creating a \`standard' object file
-from the given SOURCEFILE.
+ -\?|-h) func_usage ;;
+ --help) func_help ;;
+ --version) func_version ;;
-The output file name is determined by removing the directory component from
-SOURCEFILE, then substituting the C source code suffix \`.c' with the
-library object suffix, \`.lo'."
- ;;
+ # Separate optargs to long options:
+ --*=*)
+ func_split_long_opt "$opt"
+ set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"}
+ shift
+ ;;
- execute)
- $ECHO \
-"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
+ # Separate non-argument short options:
+ -\?*|-h*|-n*|-v*)
+ func_split_short_opt "$opt"
+ set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"}
+ shift
+ ;;
-Automatically set library path, then run a program.
+ --) break ;;
+ -*) func_fatal_help "unrecognized option \`$opt'" ;;
+ *) set dummy "$opt" ${1+"$@"}; shift; break ;;
+ esac
+ done
-This mode accepts the following additional options:
+ # Validate options:
- -dlopen FILE add the directory containing FILE to the library path
+ # save first non-option argument
+ if test "$#" -gt 0; then
+ nonopt="$opt"
+ shift
+ fi
-This mode sets the library path environment variable according to \`-dlopen'
-flags.
+ # preserve --debug
+ test "$opt_debug" = : || func_append preserve_args " --debug"
-If any of the ARGS are libtool executable wrappers, then they are translated
-into their corresponding uninstalled binary, and any of their required library
-directories are added to the library path.
+ case $host in
+ *cygwin* | *mingw* | *pw32* | *cegcc*)
+ # don't eliminate duplications in $postdeps and $predeps
+ opt_duplicate_compiler_generated_deps=:
+ ;;
+ *)
+ opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
+ ;;
+ esac
-Then, COMMAND is executed, with ARGS as arguments."
- ;;
+ $opt_help || {
+ # Sanity checks first:
+ func_check_version_match
- finish)
- $ECHO \
-"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
-
-Complete the installation of libtool libraries.
-
-Each LIBDIR is a directory that contains libtool libraries.
-
-The commands that this mode executes may require superuser privileges. Use
-the \`--dry-run' option if you just want to see what would be executed."
- ;;
-
- install)
- $ECHO \
-"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
-
-Install executables or libraries.
-
-INSTALL-COMMAND is the installation command. The first component should be
-either the \`install' or \`cp' program.
-
-The following components of INSTALL-COMMAND are treated specially:
-
- -inst-prefix PREFIX-DIR Use PREFIX-DIR as a staging area for installation
-
-The rest of the components are interpreted as arguments to that command (only
-BSD-compatible install options are recognized)."
- ;;
-
- link)
- $ECHO \
-"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
-
-Link object files or libraries together to form another library, or to
-create an executable program.
-
-LINK-COMMAND is a command using the C compiler that you would use to create
-a program from several object files.
-
-The following components of LINK-COMMAND are treated specially:
-
- -all-static do not do any dynamic linking at all
- -avoid-version do not add a version suffix if possible
- -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
- -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
- -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
- -export-symbols SYMFILE
- try to export only the symbols listed in SYMFILE
- -export-symbols-regex REGEX
- try to export only the symbols matching REGEX
- -LLIBDIR search LIBDIR for required installed libraries
- -lNAME OUTPUT-FILE requires the installed library libNAME
- -module build a library that can dlopened
- -no-fast-install disable the fast-install mode
- -no-install link a not-installable executable
- -no-undefined declare that a library does not refer to external symbols
- -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
- -objectlist FILE Use a list of object files found in FILE to specify objects
- -precious-files-regex REGEX
- don't remove output files matching REGEX
- -release RELEASE specify package release information
- -rpath LIBDIR the created library will eventually be installed in LIBDIR
- -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
- -shared only do dynamic linking of libtool libraries
- -shrext SUFFIX override the standard shared library file extension
- -static do not do any dynamic linking of uninstalled libtool libraries
- -static-libtool-libs
- do not do any dynamic linking of libtool libraries
- -version-info CURRENT[:REVISION[:AGE]]
- specify library version info [each variable defaults to 0]
- -weak LIBNAME declare that the target provides the LIBNAME interface
-
-All other options (arguments beginning with \`-') are ignored.
-
-Every other argument is treated as a filename. Files ending in \`.la' are
-treated as uninstalled libtool libraries, other files are standard or library
-object files.
-
-If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
-only library objects (\`.lo' files) may be specified, and \`-rpath' is
-required, except when creating a convenience library.
-
-If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
-using \`ar' and \`ranlib', or on Windows using \`lib'.
-
-If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
-is created, otherwise an executable program is created."
- ;;
-
- uninstall)
- $ECHO \
-"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
-
-Remove libraries from an installation directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, all the files associated with it are deleted.
-Otherwise, only FILE itself is deleted using RM."
- ;;
-
- *)
- func_fatal_help "invalid operation mode \`$mode'"
- ;;
- esac
-
- $ECHO
- $ECHO "Try \`$progname --help' for more information about other modes."
-
- exit $?
-}
-
-# Generated shell functions inserted here.
-
-
-# Parse options once, thoroughly. This comes as soon as possible in
-# the script to make things like `libtool --version' happen quickly.
-{
-
- # Shorthand for --mode=foo, only valid as the first argument
- case $1 in
- clean|clea|cle|cl)
- shift; set dummy --mode clean ${1+"$@"}; shift
- ;;
- compile|compil|compi|comp|com|co|c)
- shift; set dummy --mode compile ${1+"$@"}; shift
- ;;
- execute|execut|execu|exec|exe|ex|e)
- shift; set dummy --mode execute ${1+"$@"}; shift
- ;;
- finish|finis|fini|fin|fi|f)
- shift; set dummy --mode finish ${1+"$@"}; shift
- ;;
- install|instal|insta|inst|ins|in|i)
- shift; set dummy --mode install ${1+"$@"}; shift
- ;;
- link|lin|li|l)
- shift; set dummy --mode link ${1+"$@"}; shift
- ;;
- uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
- shift; set dummy --mode uninstall ${1+"$@"}; shift
- ;;
- esac
-
- # Parse non-mode specific arguments:
- while test "$#" -gt 0; do
- opt="$1"
- shift
-
- case $opt in
- --config) func_config ;;
-
- --debug) preserve_args="$preserve_args $opt"
- func_echo "enabling shell trace mode"
- opt_debug='set -x'
- $opt_debug
- ;;
-
- -dlopen) test "$#" -eq 0 && func_missing_arg "$opt" && break
- execute_dlfiles="$execute_dlfiles $1"
- shift
- ;;
-
- --dry-run | -n) opt_dry_run=: ;;
- --features) func_features ;;
- --finish) mode="finish" ;;
-
- --mode) test "$#" -eq 0 && func_missing_arg "$opt" && break
- case $1 in
- # Valid mode arguments:
- clean) ;;
- compile) ;;
- execute) ;;
- finish) ;;
- install) ;;
- link) ;;
- relink) ;;
- uninstall) ;;
-
- # Catch anything else as an error
- *) func_error "invalid argument for $opt"
- exit_cmd=exit
- break
- ;;
- esac
-
- mode="$1"
- shift
- ;;
-
- --preserve-dup-deps)
- opt_duplicate_deps=: ;;
-
- --quiet|--silent) preserve_args="$preserve_args $opt"
- opt_silent=:
- ;;
-
- --verbose| -v) preserve_args="$preserve_args $opt"
- opt_silent=false
- ;;
-
- --tag) test "$#" -eq 0 && func_missing_arg "$opt" && break
- preserve_args="$preserve_args $opt $1"
- func_enable_tag "$1" # tagname is set here
- shift
- ;;
-
- # Separate optargs to long options:
- -dlopen=*|--mode=*|--tag=*)
- func_opt_split "$opt"
- set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"}
- shift
- ;;
-
- -\?|-h) func_usage ;;
- --help) opt_help=: ;;
- --version) func_version ;;
+ if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
+ func_fatal_configuration "not configured to build any kind of library"
+ fi
- -*) func_fatal_help "unrecognized option \`$opt'" ;;
+ # Darwin sucks
+ eval std_shrext=\"$shrext_cmds\"
- *) nonopt="$opt"
- break
- ;;
- esac
- done
+ # Only execute mode is allowed to have -dlopen flags.
+ if test -n "$opt_dlopen" && test "$opt_mode" != execute; then
+ func_error "unrecognized option \`-dlopen'"
+ $ECHO "$help" 1>&2
+ exit $EXIT_FAILURE
+ fi
- # Now that we've collected a possible --mode arg, show help if necessary
- $opt_help && func_mode_help
+ # Change the help message to a mode-specific one.
+ generic_help="$help"
+ help="Try \`$progname --help --mode=$opt_mode' for more information."
+ }
- case $host in
- *cygwin* | *mingw* | *pw32*)
- # don't eliminate duplications in $postdeps and $predeps
- opt_duplicate_compiler_generated_deps=:
- ;;
- *)
- opt_duplicate_compiler_generated_deps=$opt_duplicate_deps
- ;;
- esac
- # Having warned about all mis-specified options, bail out if
- # anything was wrong.
+ # Bail if the options were screwed
$exit_cmd $EXIT_FAILURE
}
-# func_check_version_match
-# Ensure that we are using m4 macros, and libtool script from the same
-# release of libtool.
-func_check_version_match ()
-{
- if test "$package_revision" != "$macro_revision"; then
- if test "$VERSION" != "$macro_version"; then
- if test -z "$macro_version"; then
- cat >&2 <<_LT_EOF
-$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
-$progname: definition of this LT_INIT comes from an older release.
-$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
-$progname: and run autoconf again.
-_LT_EOF
- else
- cat >&2 <<_LT_EOF
-$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
-$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
-$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
-$progname: and run autoconf again.
-_LT_EOF
- fi
- else
- cat >&2 <<_LT_EOF
-$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
-$progname: but the definition of this LT_INIT comes from revision $macro_revision.
-$progname: You should recreate aclocal.m4 with macros from revision $package_revision
-$progname: of $PACKAGE $VERSION and run autoconf again.
-_LT_EOF
- fi
- exit $EXIT_MISMATCH
- fi
-}
## ----------- ##
## Main. ##
## ----------- ##
-{
- # Sanity checks first:
- func_check_version_match
-
- if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
- func_fatal_configuration "not configured to build any kind of library"
- fi
-
- test -z "$mode" && func_fatal_error "error: you must specify a MODE."
-
-
- # Darwin sucks
- eval std_shrext=\"$shrext_cmds\"
-
-
- # Only execute mode is allowed to have -dlopen flags.
- if test -n "$execute_dlfiles" && test "$mode" != execute; then
- func_error "unrecognized option \`-dlopen'"
- $ECHO "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Change the help message to a mode-specific one.
- generic_help="$help"
- help="Try \`$progname --help --mode=$mode' for more information."
-}
-
-
# func_lalib_p file
# True iff FILE is a libtool `.la' library or `.lo' object file.
# This function is only a basic sanity check; it will hardly flush out
# determined imposters.
func_lalib_p ()
{
- $SED -e 4q "$1" 2>/dev/null \
- | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
+ test -f "$1" &&
+ $SED -e 4q "$1" 2>/dev/null \
+ | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
}
# func_lalib_unsafe_p file
func_lalib_unsafe_p ()
{
lalib_p=no
- if test -r "$1" && exec 5<&0 <"$1"; then
+ if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
for lalib_p_l in 1 2 3 4
do
read lalib_p_line
# temporary ltwrapper_script.
func_ltwrapper_scriptname ()
{
- func_ltwrapper_scriptname_result=""
- if func_ltwrapper_executable_p "$1"; then
- func_dirname_and_basename "$1" "" "."
- func_stripname '' '.exe' "$func_basename_result"
- func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
- fi
+ func_dirname_and_basename "$1" "" "."
+ func_stripname '' '.exe' "$func_basename_result"
+ func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
}
# func_ltwrapper_p file
}
-# func_win32_libid arg
-# return the library type of file 'arg'
-#
-# Need a lot of goo to handle *both* DLLs and import libs
-# Has to be a shell function in order to 'eat' the argument
-# that is supplied when $file_magic_command is called.
-func_win32_libid ()
+# func_resolve_sysroot PATH
+# Replace a leading = in PATH with a sysroot. Store the result into
+# func_resolve_sysroot_result
+func_resolve_sysroot ()
{
- $opt_debug
- win32_libid_type="unknown"
- win32_fileres=`file -L $1 2>/dev/null`
- case $win32_fileres in
- *ar\ archive\ import\ library*) # definitely import
- win32_libid_type="x86 archive import"
- ;;
- *ar\ archive*) # could be an import, or static
- if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
- $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
- win32_nmres=`eval $NM -f posix -A $1 |
- $SED -n -e '
- 1,100{
- / I /{
- s,.*,import,
- p
- q
- }
- }'`
- case $win32_nmres in
- import*) win32_libid_type="x86 archive import";;
- *) win32_libid_type="x86 archive static";;
- esac
- fi
- ;;
- *DLL*)
- win32_libid_type="x86 DLL"
- ;;
- *executable*) # but shell scripts are "executable" too...
- case $win32_fileres in
- *MS\ Windows\ PE\ Intel*)
- win32_libid_type="x86 DLL"
- ;;
- esac
+ func_resolve_sysroot_result=$1
+ case $func_resolve_sysroot_result in
+ =*)
+ func_stripname '=' '' "$func_resolve_sysroot_result"
+ func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
;;
esac
- $ECHO "$win32_libid_type"
}
-
+# func_replace_sysroot PATH
+# If PATH begins with the sysroot, replace it with = and
+# store the result into func_replace_sysroot_result.
+func_replace_sysroot ()
+{
+ case "$lt_sysroot:$1" in
+ ?*:"$lt_sysroot"*)
+ func_stripname "$lt_sysroot" '' "$1"
+ func_replace_sysroot_result="=$func_stripname_result"
+ ;;
+ *)
+ # Including no sysroot.
+ func_replace_sysroot_result=$1
+ ;;
+ esac
+}
# func_infer_tag arg
# Infer tagged configuration to use if any are available and
if test -n "$available_tags" && test -z "$tagname"; then
CC_quoted=
for arg in $CC; do
- func_quote_for_eval "$arg"
- CC_quoted="$CC_quoted $func_quote_for_eval_result"
+ func_append_quoted CC_quoted "$arg"
done
+ CC_expanded=`func_echo_all $CC`
+ CC_quoted_expanded=`func_echo_all $CC_quoted`
case $@ in
# Blanks in the command may have been stripped by the calling shell,
# but not from the CC environment variable when configure was run.
- " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;;
+ " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
+ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;;
# Blanks at the start of $base_compile will cause this to fail
# if we don't check for them as well.
*)
CC_quoted=
for arg in $CC; do
# Double-quote args containing other shell metacharacters.
- func_quote_for_eval "$arg"
- CC_quoted="$CC_quoted $func_quote_for_eval_result"
+ func_append_quoted CC_quoted "$arg"
done
+ CC_expanded=`func_echo_all $CC`
+ CC_quoted_expanded=`func_echo_all $CC_quoted`
case "$@ " in
- " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*)
+ " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
+ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*)
# The compiler in the base compile command matches
# the one in the tagged configuration.
# Assume this is the tagged configuration we want.
-# func_generate_dlsyms outputname originator pic_p
-# Extract symbols from dlprefiles and create ${outputname}S.o with
-# a dlpreopen symbol table.
-func_generate_dlsyms ()
+# func_write_libtool_object output_name pic_name nonpic_name
+# Create a libtool object file (analogous to a ".la" file),
+# but don't create it if we're doing a dry run.
+func_write_libtool_object ()
{
- $opt_debug
- my_outputname="$1"
- my_originator="$2"
- my_pic_p="${3-no}"
- my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
- my_dlsyms=
+ write_libobj=${1}
+ if test "$build_libtool_libs" = yes; then
+ write_lobj=\'${2}\'
+ else
+ write_lobj=none
+ fi
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- if test -n "$NM" && test -n "$global_symbol_pipe"; then
- my_dlsyms="${my_outputname}S.c"
- else
- func_error "not configured to extract global symbols from dlpreopened files"
- fi
+ if test "$build_old_libs" = yes; then
+ write_oldobj=\'${3}\'
+ else
+ write_oldobj=none
fi
- if test -n "$my_dlsyms"; then
- case $my_dlsyms in
- "") ;;
- *.c)
- # Discover the nlist of each of the dlfiles.
- nlist="$output_objdir/${my_outputname}.nm"
+ $opt_dry_run || {
+ cat >${write_libobj}T <<EOF
+# $write_libobj - a libtool object file
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
- func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
+# Name of the PIC object.
+pic_object=$write_lobj
- # Parse the name list into a source file.
- func_verbose "creating $output_objdir/$my_dlsyms"
+# Name of the non-PIC object
+non_pic_object=$write_oldobj
- $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
-/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
-/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
+EOF
+ $MV "${write_libobj}T" "${write_libobj}"
+ }
+}
-#ifdef __cplusplus
-extern \"C\" {
-#endif
-/* External symbol declarations for the compiler. */\
-"
+##################################################
+# FILE NAME AND PATH CONVERSION HELPER FUNCTIONS #
+##################################################
- if test "$dlself" = yes; then
- func_verbose "generating symbol list for \`$output'"
+# func_convert_core_file_wine_to_w32 ARG
+# Helper function used by file name conversion functions when $build is *nix,
+# and $host is mingw, cygwin, or some other w32 environment. Relies on a
+# correctly configured wine environment available, with the winepath program
+# in $build's $PATH.
+#
+# ARG is the $build file name to be converted to w32 format.
+# Result is available in $func_convert_core_file_wine_to_w32_result, and will
+# be empty on error (or when ARG is empty)
+func_convert_core_file_wine_to_w32 ()
+{
+ $opt_debug
+ func_convert_core_file_wine_to_w32_result="$1"
+ if test -n "$1"; then
+ # Unfortunately, winepath does not exit with a non-zero error code, so we
+ # are forced to check the contents of stdout. On the other hand, if the
+ # command is not found, the shell will set an exit code of 127 and print
+ # *an error message* to stdout. So we must check for both error code of
+ # zero AND non-empty stdout, which explains the odd construction:
+ func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
+ if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then
+ func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
+ $SED -e "$lt_sed_naive_backslashify"`
+ else
+ func_convert_core_file_wine_to_w32_result=
+ fi
+ fi
+}
+# end: func_convert_core_file_wine_to_w32
- $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
- # Add our own program objects to the symbol list.
- progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
- for progfile in $progfiles; do
- func_verbose "extracting global C symbols from \`$progfile'"
- $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"
- done
+# func_convert_core_path_wine_to_w32 ARG
+# Helper function used by path conversion functions when $build is *nix, and
+# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly
+# configured wine environment available, with the winepath program in $build's
+# $PATH. Assumes ARG has no leading or trailing path separator characters.
+#
+# ARG is path to be converted from $build format to win32.
+# Result is available in $func_convert_core_path_wine_to_w32_result.
+# Unconvertible file (directory) names in ARG are skipped; if no directory names
+# are convertible, then the result may be empty.
+func_convert_core_path_wine_to_w32 ()
+{
+ $opt_debug
+ # unfortunately, winepath doesn't convert paths, only file names
+ func_convert_core_path_wine_to_w32_result=""
+ if test -n "$1"; then
+ oldIFS=$IFS
+ IFS=:
+ for func_convert_core_path_wine_to_w32_f in $1; do
+ IFS=$oldIFS
+ func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
+ if test -n "$func_convert_core_file_wine_to_w32_result" ; then
+ if test -z "$func_convert_core_path_wine_to_w32_result"; then
+ func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result"
+ else
+ func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
+ fi
+ fi
+ done
+ IFS=$oldIFS
+ fi
+}
+# end: func_convert_core_path_wine_to_w32
+
+
+# func_cygpath ARGS...
+# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when
+# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2)
+# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or
+# (2), returns the Cygwin file name or path in func_cygpath_result (input
+# file name or path is assumed to be in w32 format, as previously converted
+# from $build's *nix or MSYS format). In case (3), returns the w32 file name
+# or path in func_cygpath_result (input file name or path is assumed to be in
+# Cygwin format). Returns an empty string on error.
+#
+# ARGS are passed to cygpath, with the last one being the file name or path to
+# be converted.
+#
+# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH
+# environment variable; do not put it in $PATH.
+func_cygpath ()
+{
+ $opt_debug
+ if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
+ func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
+ if test "$?" -ne 0; then
+ # on failure, ensure result is empty
+ func_cygpath_result=
+ fi
+ else
+ func_cygpath_result=
+ func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'"
+ fi
+}
+#end: func_cygpath
- if test -n "$exclude_expsyms"; then
- $opt_dry_run || {
- eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
- eval '$MV "$nlist"T "$nlist"'
- }
- fi
- if test -n "$export_symbols_regex"; then
- $opt_dry_run || {
- eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
- eval '$MV "$nlist"T "$nlist"'
- }
- fi
+# func_convert_core_msys_to_w32 ARG
+# Convert file name or path ARG from MSYS format to w32 format. Return
+# result in func_convert_core_msys_to_w32_result.
+func_convert_core_msys_to_w32 ()
+{
+ $opt_debug
+ # awkward: cmd appends spaces to result
+ func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
+ $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
+}
+#end: func_convert_core_msys_to_w32
- # Prepare the list of exported symbols
- if test -z "$export_symbols"; then
- export_symbols="$output_objdir/$outputname.exp"
- $opt_dry_run || {
- $RM $export_symbols
- eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
- case $host in
- *cygwin* | *mingw* )
- eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
- eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
- ;;
- esac
- }
- else
- $opt_dry_run || {
- eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
- eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
- eval '$MV "$nlist"T "$nlist"'
- case $host in
- *cygwin | *mingw* )
- eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
- eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
- ;;
- esac
- }
- fi
- fi
- for dlprefile in $dlprefiles; do
- func_verbose "extracting global C symbols from \`$dlprefile'"
- func_basename "$dlprefile"
- name="$func_basename_result"
- $opt_dry_run || {
- eval '$ECHO ": $name " >> "$nlist"'
- eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'"
- }
- done
+# func_convert_file_check ARG1 ARG2
+# Verify that ARG1 (a file name in $build format) was converted to $host
+# format in ARG2. Otherwise, emit an error message, but continue (resetting
+# func_to_host_file_result to ARG1).
+func_convert_file_check ()
+{
+ $opt_debug
+ if test -z "$2" && test -n "$1" ; then
+ func_error "Could not determine host file name corresponding to"
+ func_error " \`$1'"
+ func_error "Continuing, but uninstalled executables may not work."
+ # Fallback:
+ func_to_host_file_result="$1"
+ fi
+}
+# end func_convert_file_check
- $opt_dry_run || {
- # Make sure we have at least an empty file.
- test -f "$nlist" || : > "$nlist"
- if test -n "$exclude_expsyms"; then
- $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
- $MV "$nlist"T "$nlist"
- fi
+# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH
+# Verify that FROM_PATH (a path in $build format) was converted to $host
+# format in TO_PATH. Otherwise, emit an error message, but continue, resetting
+# func_to_host_file_result to a simplistic fallback value (see below).
+func_convert_path_check ()
+{
+ $opt_debug
+ if test -z "$4" && test -n "$3"; then
+ func_error "Could not determine the host path corresponding to"
+ func_error " \`$3'"
+ func_error "Continuing, but uninstalled executables may not work."
+ # Fallback. This is a deliberately simplistic "conversion" and
+ # should not be "improved". See libtool.info.
+ if test "x$1" != "x$2"; then
+ lt_replace_pathsep_chars="s|$1|$2|g"
+ func_to_host_path_result=`echo "$3" |
+ $SED -e "$lt_replace_pathsep_chars"`
+ else
+ func_to_host_path_result="$3"
+ fi
+ fi
+}
+# end func_convert_path_check
- # Try sorting and uniquifying the output.
- if $GREP -v "^: " < "$nlist" |
- if sort -k 3 </dev/null >/dev/null 2>&1; then
- sort -k 3
- else
- sort +2
- fi |
- uniq > "$nlist"S; then
- :
- else
- $GREP -v "^: " < "$nlist" > "$nlist"S
- fi
- if test -f "$nlist"S; then
- eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
- else
- $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms"
- fi
+# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG
+# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT
+# and appending REPL if ORIG matches BACKPAT.
+func_convert_path_front_back_pathsep ()
+{
+ $opt_debug
+ case $4 in
+ $1 ) func_to_host_path_result="$3$func_to_host_path_result"
+ ;;
+ esac
+ case $4 in
+ $2 ) func_append func_to_host_path_result "$3"
+ ;;
+ esac
+}
+# end func_convert_path_front_back_pathsep
- $ECHO >> "$output_objdir/$my_dlsyms" "\
-/* The mapping between symbol names and symbols. */
-typedef struct {
- const char *name;
- void *address;
-} lt_dlsymlist;
-"
- case $host in
- *cygwin* | *mingw* )
- $ECHO >> "$output_objdir/$my_dlsyms" "\
-/* DATA imports from DLLs on WIN32 con't be const, because
- runtime relocations are performed -- see ld's documentation
- on pseudo-relocs. */"
- lt_dlsym_const= ;;
- *osf5*)
- echo >> "$output_objdir/$my_dlsyms" "\
-/* This system does not cope well with relocations in const data */"
- lt_dlsym_const= ;;
- *)
- lt_dlsym_const=const ;;
- esac
+##################################################
+# $build to $host FILE NAME CONVERSION FUNCTIONS #
+##################################################
+# invoked via `$to_host_file_cmd ARG'
+#
+# In each case, ARG is the path to be converted from $build to $host format.
+# Result will be available in $func_to_host_file_result.
- $ECHO >> "$output_objdir/$my_dlsyms" "\
-extern $lt_dlsym_const lt_dlsymlist
-lt_${my_prefix}_LTX_preloaded_symbols[];
-$lt_dlsym_const lt_dlsymlist
-lt_${my_prefix}_LTX_preloaded_symbols[] =
-{\
- { \"$my_originator\", (void *) 0 },"
- case $need_lib_prefix in
- no)
- eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
- ;;
- *)
- eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
- ;;
- esac
- $ECHO >> "$output_objdir/$my_dlsyms" "\
- {0, (void *) 0}
-};
+# func_to_host_file ARG
+# Converts the file name ARG from $build format to $host format. Return result
+# in func_to_host_file_result.
+func_to_host_file ()
+{
+ $opt_debug
+ $to_host_file_cmd "$1"
+}
+# end func_to_host_file
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
- return lt_${my_prefix}_LTX_preloaded_symbols;
+
+# func_to_tool_file ARG LAZY
+# converts the file name ARG from $build format to toolchain format. Return
+# result in func_to_tool_file_result. If the conversion in use is listed
+# in (the comma separated) LAZY, no conversion takes place.
+func_to_tool_file ()
+{
+ $opt_debug
+ case ,$2, in
+ *,"$to_tool_file_cmd",*)
+ func_to_tool_file_result=$1
+ ;;
+ *)
+ $to_tool_file_cmd "$1"
+ func_to_tool_file_result=$func_to_host_file_result
+ ;;
+ esac
}
-#endif
+# end func_to_tool_file
-#ifdef __cplusplus
+
+# func_convert_file_noop ARG
+# Copy ARG to func_to_host_file_result.
+func_convert_file_noop ()
+{
+ func_to_host_file_result="$1"
}
-#endif\
-"
- } # !$opt_dry_run
+# end func_convert_file_noop
- pic_flag_for_symtable=
- case "$compile_command " in
- *" -static "*) ;;
- *)
- case $host in
- # compiling the symbol table file with pic_flag works around
- # a FreeBSD bug that causes programs to crash when -lm is
- # linked before any other PIC object. But we must not use
- # pic_flag when linking with -static. The problem exists in
- # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
- *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
- pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
- *-*-hpux*)
- pic_flag_for_symtable=" $pic_flag" ;;
- *)
- if test "X$my_pic_p" != Xno; then
- pic_flag_for_symtable=" $pic_flag"
- fi
- ;;
- esac
- ;;
- esac
- symtab_cflags=
- for arg in $LTCFLAGS; do
- case $arg in
- -pie | -fpie | -fPIE) ;;
- *) symtab_cflags="$symtab_cflags $arg" ;;
- esac
- done
- # Now compile the dynamic symbol file.
- func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
+# func_convert_file_msys_to_w32 ARG
+# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic
+# conversion to w32 is not available inside the cwrapper. Returns result in
+# func_to_host_file_result.
+func_convert_file_msys_to_w32 ()
+{
+ $opt_debug
+ func_to_host_file_result="$1"
+ if test -n "$1"; then
+ func_convert_core_msys_to_w32 "$1"
+ func_to_host_file_result="$func_convert_core_msys_to_w32_result"
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_msys_to_w32
- # Clean up the generated files.
- func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
- # Transform the symbol file into the correct name.
- symfileobj="$output_objdir/${my_outputname}S.$objext"
- case $host in
- *cygwin* | *mingw* )
- if test -f "$output_objdir/$my_outputname.def"; then
- compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
- finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
- else
- compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
- finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
- fi
- ;;
- *)
- compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
- finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
- ;;
- esac
- ;;
- *)
- func_fatal_error "unknown suffix for \`$my_dlsyms'"
- ;;
- esac
- else
- # We keep going just in case the user didn't refer to
- # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
- # really was required.
+# func_convert_file_cygwin_to_w32 ARG
+# Convert file name ARG from Cygwin to w32 format. Returns result in
+# func_to_host_file_result.
+func_convert_file_cygwin_to_w32 ()
+{
+ $opt_debug
+ func_to_host_file_result="$1"
+ if test -n "$1"; then
+ # because $build is cygwin, we call "the" cygpath in $PATH; no need to use
+ # LT_CYGPATH in this case.
+ func_to_host_file_result=`cygpath -m "$1"`
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_cygwin_to_w32
- # Nullify the symbol file.
- compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
- finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
- fi
+
+# func_convert_file_nix_to_w32 ARG
+# Convert file name ARG from *nix to w32 format. Requires a wine environment
+# and a working winepath. Returns result in func_to_host_file_result.
+func_convert_file_nix_to_w32 ()
+{
+ $opt_debug
+ func_to_host_file_result="$1"
+ if test -n "$1"; then
+ func_convert_core_file_wine_to_w32 "$1"
+ func_to_host_file_result="$func_convert_core_file_wine_to_w32_result"
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
}
+# end func_convert_file_nix_to_w32
-# func_extract_an_archive dir oldlib
-func_extract_an_archive ()
+
+# func_convert_file_msys_to_cygwin ARG
+# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set.
+# Returns result in func_to_host_file_result.
+func_convert_file_msys_to_cygwin ()
{
- $opt_debug
- f_ex_an_ar_dir="$1"; shift
- f_ex_an_ar_oldlib="$1"
- func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?'
- if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
- :
- else
- func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
- fi
+ $opt_debug
+ func_to_host_file_result="$1"
+ if test -n "$1"; then
+ func_convert_core_msys_to_w32 "$1"
+ func_cygpath -u "$func_convert_core_msys_to_w32_result"
+ func_to_host_file_result="$func_cygpath_result"
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
}
+# end func_convert_file_msys_to_cygwin
-# func_extract_archives gentop oldlib ...
-func_extract_archives ()
+# func_convert_file_nix_to_cygwin ARG
+# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed
+# in a wine environment, working winepath, and LT_CYGPATH set. Returns result
+# in func_to_host_file_result.
+func_convert_file_nix_to_cygwin ()
{
- $opt_debug
- my_gentop="$1"; shift
- my_oldlibs=${1+"$@"}
- my_oldobjs=""
- my_xlib=""
- my_xabs=""
- my_xdir=""
+ $opt_debug
+ func_to_host_file_result="$1"
+ if test -n "$1"; then
+ # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
+ func_convert_core_file_wine_to_w32 "$1"
+ func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
+ func_to_host_file_result="$func_cygpath_result"
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_nix_to_cygwin
- for my_xlib in $my_oldlibs; do
- # Extract the objects.
- case $my_xlib in
- [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
- *) my_xabs=`pwd`"/$my_xlib" ;;
- esac
- func_basename "$my_xlib"
- my_xlib="$func_basename_result"
- my_xlib_u=$my_xlib
- while :; do
- case " $extracted_archives " in
- *" $my_xlib_u "*)
- extracted_serial=`expr $extracted_serial + 1`
- my_xlib_u=lt$extracted_serial-$my_xlib ;;
- *) break ;;
- esac
- done
- extracted_archives="$extracted_archives $my_xlib_u"
- my_xdir="$my_gentop/$my_xlib_u"
- func_mkdir_p "$my_xdir"
+#############################################
+# $build to $host PATH CONVERSION FUNCTIONS #
+#############################################
+# invoked via `$to_host_path_cmd ARG'
+#
+# In each case, ARG is the path to be converted from $build to $host format.
+# The result will be available in $func_to_host_path_result.
+#
+# Path separators are also converted from $build format to $host format. If
+# ARG begins or ends with a path separator character, it is preserved (but
+# converted to $host format) on output.
+#
+# All path conversion functions are named using the following convention:
+# file name conversion function : func_convert_file_X_to_Y ()
+# path conversion function : func_convert_path_X_to_Y ()
+# where, for any given $build/$host combination the 'X_to_Y' value is the
+# same. If conversion functions are added for new $build/$host combinations,
+# the two new functions must follow this pattern, or func_init_to_host_path_cmd
+# will break.
+
+
+# func_init_to_host_path_cmd
+# Ensures that function "pointer" variable $to_host_path_cmd is set to the
+# appropriate value, based on the value of $to_host_file_cmd.
+to_host_path_cmd=
+func_init_to_host_path_cmd ()
+{
+ $opt_debug
+ if test -z "$to_host_path_cmd"; then
+ func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
+ to_host_path_cmd="func_convert_path_${func_stripname_result}"
+ fi
+}
- case $host in
- *-darwin*)
- func_verbose "Extracting $my_xabs"
- # Do not bother doing anything if just a dry run
- $opt_dry_run || {
- darwin_orig_dir=`pwd`
- cd $my_xdir || exit $?
- darwin_archive=$my_xabs
- darwin_curdir=`pwd`
- darwin_base_archive=`basename "$darwin_archive"`
- darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
- if test -n "$darwin_arches"; then
- darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
- darwin_arch=
- func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
- for darwin_arch in $darwin_arches ; do
- func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
- lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
- cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
- func_extract_an_archive "`pwd`" "${darwin_base_archive}"
- cd "$darwin_curdir"
- $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
- done # $darwin_arches
- ## Okay now we've a bunch of thin objects, gotta fatten them up :)
- darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP`
- darwin_file=
- darwin_files=
- for darwin_file in $darwin_filelist; do
- darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
- lipo -create -output "$darwin_file" $darwin_files
- done # $darwin_filelist
- $RM -rf unfat-$$
- cd "$darwin_orig_dir"
- else
- cd $darwin_orig_dir
- func_extract_an_archive "$my_xdir" "$my_xabs"
- fi # $darwin_arches
- } # !$opt_dry_run
- ;;
- *)
- func_extract_an_archive "$my_xdir" "$my_xabs"
- ;;
- esac
- my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
- done
- func_extract_archives_result="$my_oldobjs"
+# func_to_host_path ARG
+# Converts the path ARG from $build format to $host format. Return result
+# in func_to_host_path_result.
+func_to_host_path ()
+{
+ $opt_debug
+ func_init_to_host_path_cmd
+ $to_host_path_cmd "$1"
}
+# end func_to_host_path
+# func_convert_path_noop ARG
+# Copy ARG to func_to_host_path_result.
+func_convert_path_noop ()
+{
+ func_to_host_path_result="$1"
+}
+# end func_convert_path_noop
-# func_write_libtool_object output_name pic_name nonpic_name
-# Create a libtool object file (analogous to a ".la" file),
-# but don't create it if we're doing a dry run.
-func_write_libtool_object ()
+
+# func_convert_path_msys_to_w32 ARG
+# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic
+# conversion to w32 is not available inside the cwrapper. Returns result in
+# func_to_host_path_result.
+func_convert_path_msys_to_w32 ()
{
- write_libobj=${1}
- if test "$build_libtool_libs" = yes; then
- write_lobj=\'${2}\'
- else
- write_lobj=none
- fi
+ $opt_debug
+ func_to_host_path_result="$1"
+ if test -n "$1"; then
+ # Remove leading and trailing path separator characters from ARG. MSYS
+ # behavior is inconsistent here; cygpath turns them into '.;' and ';.';
+ # and winepath ignores them completely.
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
+ func_to_host_path_result="$func_convert_core_msys_to_w32_result"
+ func_convert_path_check : ";" \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+ fi
+}
+# end func_convert_path_msys_to_w32
- if test "$build_old_libs" = yes; then
- write_oldobj=\'${3}\'
- else
- write_oldobj=none
- fi
- $opt_dry_run || {
- cat >${write_libobj}T <<EOF
-# $write_libobj - a libtool object file
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
+# func_convert_path_cygwin_to_w32 ARG
+# Convert path ARG from Cygwin to w32 format. Returns result in
+# func_to_host_file_result.
+func_convert_path_cygwin_to_w32 ()
+{
+ $opt_debug
+ func_to_host_path_result="$1"
+ if test -n "$1"; then
+ # See func_convert_path_msys_to_w32:
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"`
+ func_convert_path_check : ";" \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+ fi
+}
+# end func_convert_path_cygwin_to_w32
-# Name of the PIC object.
-pic_object=$write_lobj
-# Name of the non-PIC object
-non_pic_object=$write_oldobj
+# func_convert_path_nix_to_w32 ARG
+# Convert path ARG from *nix to w32 format. Requires a wine environment and
+# a working winepath. Returns result in func_to_host_file_result.
+func_convert_path_nix_to_w32 ()
+{
+ $opt_debug
+ func_to_host_path_result="$1"
+ if test -n "$1"; then
+ # See func_convert_path_msys_to_w32:
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
+ func_to_host_path_result="$func_convert_core_path_wine_to_w32_result"
+ func_convert_path_check : ";" \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+ fi
+}
+# end func_convert_path_nix_to_w32
-EOF
- mv -f "${write_libobj}T" "${write_libobj}"
- }
+
+# func_convert_path_msys_to_cygwin ARG
+# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set.
+# Returns result in func_to_host_file_result.
+func_convert_path_msys_to_cygwin ()
+{
+ $opt_debug
+ func_to_host_path_result="$1"
+ if test -n "$1"; then
+ # See func_convert_path_msys_to_w32:
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
+ func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
+ func_to_host_path_result="$func_cygpath_result"
+ func_convert_path_check : : \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" : "$1"
+ fi
}
+# end func_convert_path_msys_to_cygwin
+
+
+# func_convert_path_nix_to_cygwin ARG
+# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a
+# a wine environment, working winepath, and LT_CYGPATH set. Returns result in
+# func_to_host_file_result.
+func_convert_path_nix_to_cygwin ()
+{
+ $opt_debug
+ func_to_host_path_result="$1"
+ if test -n "$1"; then
+ # Remove leading and trailing path separator characters from
+ # ARG. msys behavior is inconsistent here, cygpath turns them
+ # into '.;' and ';.', and winepath ignores them completely.
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
+ func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
+ func_to_host_path_result="$func_cygpath_result"
+ func_convert_path_check : : \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" : "$1"
+ fi
+}
+# end func_convert_path_nix_to_cygwin
+
# func_mode_compile arg...
func_mode_compile ()
;;
-pie | -fpie | -fPIE)
- pie_flag="$pie_flag $arg"
+ func_append pie_flag " $arg"
continue
;;
-shared | -static | -prefer-pic | -prefer-non-pic)
- later="$later $arg"
+ func_append later " $arg"
continue
;;
save_ifs="$IFS"; IFS=','
for arg in $args; do
IFS="$save_ifs"
- func_quote_for_eval "$arg"
- lastarg="$lastarg $func_quote_for_eval_result"
+ func_append_quoted lastarg "$arg"
done
IFS="$save_ifs"
func_stripname ' ' '' "$lastarg"
lastarg=$func_stripname_result
# Add the arguments to base_compile.
- base_compile="$base_compile $lastarg"
+ func_append base_compile " $lastarg"
continue
;;
esac # case $arg_mode
# Aesthetically quote the previous argument.
- func_quote_for_eval "$lastarg"
- base_compile="$base_compile $func_quote_for_eval_result"
+ func_append_quoted base_compile "$lastarg"
done # for arg
case $arg_mode in
# Recognize several different file suffixes.
# If the user specifies -o file.o, it is replaced with file.lo
- xform='[cCFSifmso]'
case $libobj in
- *.ada) xform=ada ;;
- *.adb) xform=adb ;;
- *.ads) xform=ads ;;
- *.asm) xform=asm ;;
- *.c++) xform=c++ ;;
- *.cc) xform=cc ;;
- *.ii) xform=ii ;;
- *.class) xform=class ;;
- *.cpp) xform=cpp ;;
- *.cxx) xform=cxx ;;
- *.[fF][09]?) xform='[fF][09].' ;;
- *.for) xform=for ;;
- *.java) xform=java ;;
- *.obj) xform=obj ;;
- *.sx) xform=sx ;;
+ *.[cCFSifmso] | \
+ *.ada | *.adb | *.ads | *.asm | \
+ *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
+ *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup)
+ func_xform "$libobj"
+ libobj=$func_xform_result
+ ;;
esac
- libobj=`$ECHO "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
-
case $libobj in
*.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
*)
removelist="$lobj $libobj ${libobj}T"
fi
- $opt_dry_run || $RM $removelist
- trap "$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE" 1 2 15
-
# On Cygwin there's no "real" PIC flag so we must build both object types
case $host_os in
- cygwin* | mingw* | pw32* | os2*)
+ cygwin* | mingw* | pw32* | os2* | cegcc*)
pic_mode=default
;;
esac
# Calculate the filename of the output object if compiler does
# not support -o with -c
if test "$compiler_c_o" = no; then
- output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
+ output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext}
lockfile="$output_obj.lock"
- removelist="$removelist $output_obj $lockfile"
- trap "$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE" 1 2 15
else
output_obj=
need_locks=no
$opt_dry_run || $RM $removelist
exit $EXIT_FAILURE
fi
+ func_append removelist " $output_obj"
$ECHO "$srcfile" > "$lockfile"
fi
- if test -n "$fix_srcfile_path"; then
- eval srcfile=\"$fix_srcfile_path\"
- fi
+ $opt_dry_run || $RM $removelist
+ func_append removelist " $lockfile"
+ trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
+
+ func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
+ srcfile=$func_to_tool_file_result
func_quote_for_eval "$srcfile"
qsrcfile=$func_quote_for_eval_result
- $opt_dry_run || $RM "$libobj" "${libobj}T"
-
# Only build a PIC object if we are building libtool libraries.
if test "$build_libtool_libs" = yes; then
# Without this assignment, base_compile gets emptied.
if test -z "$output_obj"; then
# Place PIC objects in $objdir
- command="$command -o $lobj"
+ func_append command " -o $lobj"
fi
- $opt_dry_run || $RM "$lobj" "$output_obj"
-
func_show_eval_locale "$command" \
'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
command="$base_compile $qsrcfile $pic_flag"
fi
if test "$compiler_c_o" = yes; then
- command="$command -o $obj"
+ func_append command " -o $obj"
fi
# Suppress compiler output if we already did a PIC compilation.
- command="$command$suppress_output"
- $opt_dry_run || $RM "$obj" "$output_obj"
+ func_append command "$suppress_output"
func_show_eval_locale "$command" \
'$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
# Unlock the critical section if it was locked
if test "$need_locks" != no; then
+ removelist=$lockfile
$RM "$lockfile"
fi
}
exit $EXIT_SUCCESS
}
-test "$mode" = compile && func_mode_compile ${1+"$@"}
-
+$opt_help || {
+ test "$opt_mode" = compile && func_mode_compile ${1+"$@"}
+}
-# func_mode_execute arg...
-func_mode_execute ()
+func_mode_help ()
{
- $opt_debug
- # The first argument is the command name.
- cmd="$nonopt"
- test -z "$cmd" && \
- func_fatal_help "you must specify a COMMAND"
+ # We need to display help for each of the modes.
+ case $opt_mode in
+ "")
+ # Generic help is extracted from the usage comments
+ # at the start of this file.
+ func_help
+ ;;
- # Handle -dlopen flags immediately.
- for file in $execute_dlfiles; do
- test -f "$file" \
- || func_fatal_help "\`$file' is not a file"
+ clean)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
- dir=
- case $file in
- *.la)
- # Check to see that this really is a libtool archive.
- func_lalib_unsafe_p "$file" \
- || func_fatal_help "\`$lib' is not a valid libtool archive"
+Remove files from the build directory.
- # Read the libtool library.
- dlname=
- library_names=
- func_source "$file"
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
- # Skip this library if it cannot be dlopened.
- if test -z "$dlname"; then
- # Warn if it was a shared library.
- test -n "$library_names" && \
- func_warning "\`$file' was not linked with \`-export-dynamic'"
- continue
- fi
+If FILE is a libtool library, object or program, all the files associated
+with it are deleted. Otherwise, only FILE itself is deleted using RM."
+ ;;
- func_dirname "$file" "" "."
- dir="$func_dirname_result"
+ compile)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
- if test -f "$dir/$objdir/$dlname"; then
- dir="$dir/$objdir"
- else
- if test ! -f "$dir/$dlname"; then
- func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
- fi
- fi
- ;;
+Compile a source file into a libtool library object.
- *.lo)
- # Just add the directory containing the .lo file.
- func_dirname "$file" "" "."
- dir="$func_dirname_result"
- ;;
+This mode accepts the following additional options:
+
+ -o OUTPUT-FILE set the output file name to OUTPUT-FILE
+ -no-suppress do not suppress compiler output for multiple passes
+ -prefer-pic try to build PIC objects only
+ -prefer-non-pic try to build non-PIC objects only
+ -shared do not build a \`.o' file suitable for static linking
+ -static only build a \`.o' file suitable for static linking
+ -Wc,FLAG pass FLAG directly to the compiler
+
+COMPILE-COMMAND is a command to be used in creating a \`standard' object file
+from the given SOURCEFILE.
+
+The output file name is determined by removing the directory component from
+SOURCEFILE, then substituting the C source code suffix \`.c' with the
+library object suffix, \`.lo'."
+ ;;
+
+ execute)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
+
+Automatically set library path, then run a program.
+
+This mode accepts the following additional options:
+
+ -dlopen FILE add the directory containing FILE to the library path
+
+This mode sets the library path environment variable according to \`-dlopen'
+flags.
+
+If any of the ARGS are libtool executable wrappers, then they are translated
+into their corresponding uninstalled binary, and any of their required library
+directories are added to the library path.
+
+Then, COMMAND is executed, with ARGS as arguments."
+ ;;
+
+ finish)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
+
+Complete the installation of libtool libraries.
+
+Each LIBDIR is a directory that contains libtool libraries.
+
+The commands that this mode executes may require superuser privileges. Use
+the \`--dry-run' option if you just want to see what would be executed."
+ ;;
+
+ install)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
+
+Install executables or libraries.
+
+INSTALL-COMMAND is the installation command. The first component should be
+either the \`install' or \`cp' program.
+
+The following components of INSTALL-COMMAND are treated specially:
+
+ -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation
+
+The rest of the components are interpreted as arguments to that command (only
+BSD-compatible install options are recognized)."
+ ;;
+
+ link)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
+
+Link object files or libraries together to form another library, or to
+create an executable program.
+
+LINK-COMMAND is a command using the C compiler that you would use to create
+a program from several object files.
+
+The following components of LINK-COMMAND are treated specially:
+
+ -all-static do not do any dynamic linking at all
+ -avoid-version do not add a version suffix if possible
+ -bindir BINDIR specify path to binaries directory (for systems where
+ libraries must be found in the PATH setting at runtime)
+ -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
+ -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
+ -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
+ -export-symbols SYMFILE
+ try to export only the symbols listed in SYMFILE
+ -export-symbols-regex REGEX
+ try to export only the symbols matching REGEX
+ -LLIBDIR search LIBDIR for required installed libraries
+ -lNAME OUTPUT-FILE requires the installed library libNAME
+ -module build a library that can dlopened
+ -no-fast-install disable the fast-install mode
+ -no-install link a not-installable executable
+ -no-undefined declare that a library does not refer to external symbols
+ -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
+ -objectlist FILE Use a list of object files found in FILE to specify objects
+ -precious-files-regex REGEX
+ don't remove output files matching REGEX
+ -release RELEASE specify package release information
+ -rpath LIBDIR the created library will eventually be installed in LIBDIR
+ -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
+ -shared only do dynamic linking of libtool libraries
+ -shrext SUFFIX override the standard shared library file extension
+ -static do not do any dynamic linking of uninstalled libtool libraries
+ -static-libtool-libs
+ do not do any dynamic linking of libtool libraries
+ -version-info CURRENT[:REVISION[:AGE]]
+ specify library version info [each variable defaults to 0]
+ -weak LIBNAME declare that the target provides the LIBNAME interface
+ -Wc,FLAG
+ -Xcompiler FLAG pass linker-specific FLAG directly to the compiler
+ -Wl,FLAG
+ -Xlinker FLAG pass linker-specific FLAG directly to the linker
+ -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC)
+
+All other options (arguments beginning with \`-') are ignored.
+
+Every other argument is treated as a filename. Files ending in \`.la' are
+treated as uninstalled libtool libraries, other files are standard or library
+object files.
+
+If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
+only library objects (\`.lo' files) may be specified, and \`-rpath' is
+required, except when creating a convenience library.
+
+If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
+using \`ar' and \`ranlib', or on Windows using \`lib'.
+
+If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
+is created, otherwise an executable program is created."
+ ;;
+
+ uninstall)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+
+Remove libraries from an installation directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, all the files associated with it are deleted.
+Otherwise, only FILE itself is deleted using RM."
+ ;;
+
+ *)
+ func_fatal_help "invalid operation mode \`$opt_mode'"
+ ;;
+ esac
+
+ echo
+ $ECHO "Try \`$progname --help' for more information about other modes."
+}
+
+# Now that we've collected a possible --mode arg, show help if necessary
+if $opt_help; then
+ if test "$opt_help" = :; then
+ func_mode_help
+ else
+ {
+ func_help noexit
+ for opt_mode in compile link execute install finish uninstall clean; do
+ func_mode_help
+ done
+ } | sed -n '1p; 2,$s/^Usage:/ or: /p'
+ {
+ func_help noexit
+ for opt_mode in compile link execute install finish uninstall clean; do
+ echo
+ func_mode_help
+ done
+ } |
+ sed '1d
+ /^When reporting/,/^Report/{
+ H
+ d
+ }
+ $x
+ /information about other modes/d
+ /more detailed .*MODE/d
+ s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/'
+ fi
+ exit $?
+fi
+
+
+# func_mode_execute arg...
+func_mode_execute ()
+{
+ $opt_debug
+ # The first argument is the command name.
+ cmd="$nonopt"
+ test -z "$cmd" && \
+ func_fatal_help "you must specify a COMMAND"
+
+ # Handle -dlopen flags immediately.
+ for file in $opt_dlopen; do
+ test -f "$file" \
+ || func_fatal_help "\`$file' is not a file"
+
+ dir=
+ case $file in
+ *.la)
+ func_resolve_sysroot "$file"
+ file=$func_resolve_sysroot_result
+
+ # Check to see that this really is a libtool archive.
+ func_lalib_unsafe_p "$file" \
+ || func_fatal_help "\`$lib' is not a valid libtool archive"
+
+ # Read the libtool library.
+ dlname=
+ library_names=
+ func_source "$file"
+
+ # Skip this library if it cannot be dlopened.
+ if test -z "$dlname"; then
+ # Warn if it was a shared library.
+ test -n "$library_names" && \
+ func_warning "\`$file' was not linked with \`-export-dynamic'"
+ continue
+ fi
+
+ func_dirname "$file" "" "."
+ dir="$func_dirname_result"
+
+ if test -f "$dir/$objdir/$dlname"; then
+ func_append dir "/$objdir"
+ else
+ if test ! -f "$dir/$dlname"; then
+ func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
+ fi
+ fi
+ ;;
+
+ *.lo)
+ # Just add the directory containing the .lo file.
+ func_dirname "$file" "" "."
+ dir="$func_dirname_result"
+ ;;
*)
func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
for file
do
case $file in
- -*) ;;
+ -* | *.la | *.lo ) ;;
*)
# Do a test to see if this is really a libtool program.
if func_ltwrapper_script_p "$file"; then
;;
esac
# Quote arguments (to preserve shell metacharacters).
- func_quote_for_eval "$file"
- args="$args $func_quote_for_eval_result"
+ func_append_quoted args "$file"
done
if test "X$opt_dry_run" = Xfalse; then
# Display what would be done.
if test -n "$shlibpath_var"; then
eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
- $ECHO "export $shlibpath_var"
+ echo "export $shlibpath_var"
fi
$ECHO "$cmd$args"
exit $EXIT_SUCCESS
fi
}
-test "$mode" = execute && func_mode_execute ${1+"$@"}
+test "$opt_mode" = execute && func_mode_execute ${1+"$@"}
# func_mode_finish arg...
func_mode_finish ()
{
$opt_debug
- libdirs="$nonopt"
+ libs=
+ libdirs=
admincmds=
- if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
- for dir
- do
- libdirs="$libdirs $dir"
- done
+ for opt in "$nonopt" ${1+"$@"}
+ do
+ if test -d "$opt"; then
+ func_append libdirs " $opt"
+
+ elif test -f "$opt"; then
+ if func_lalib_unsafe_p "$opt"; then
+ func_append libs " $opt"
+ else
+ func_warning "\`$opt' is not a valid libtool archive"
+ fi
+
+ else
+ func_fatal_error "invalid argument \`$opt'"
+ fi
+ done
+
+ if test -n "$libs"; then
+ if test -n "$lt_sysroot"; then
+ sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"`
+ sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;"
+ else
+ sysroot_cmd=
+ fi
+
+ # Remove sysroot references
+ if $opt_dry_run; then
+ for lib in $libs; do
+ echo "removing references to $lt_sysroot and \`=' prefixes from $lib"
+ done
+ else
+ tmpdir=`func_mktempdir`
+ for lib in $libs; do
+ sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
+ > $tmpdir/tmp-la
+ mv -f $tmpdir/tmp-la $lib
+ done
+ ${RM}r "$tmpdir"
+ fi
+ fi
+ if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
for libdir in $libdirs; do
if test -n "$finish_cmds"; then
# Do each command in the finish commands.
if test -n "$finish_eval"; then
# Do the single finish_eval.
eval cmds=\"$finish_eval\"
- $opt_dry_run || eval "$cmds" || admincmds="$admincmds
+ $opt_dry_run || eval "$cmds" || func_append admincmds "
$cmds"
fi
done
# Exit here if they wanted silent mode.
$opt_silent && exit $EXIT_SUCCESS
- $ECHO "X----------------------------------------------------------------------" | $Xsed
- $ECHO "Libraries have been installed in:"
- for libdir in $libdirs; do
- $ECHO " $libdir"
- done
- $ECHO
- $ECHO "If you ever happen to want to link against installed libraries"
- $ECHO "in a given directory, LIBDIR, you must either use libtool, and"
- $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'"
- $ECHO "flag during linking and do at least one of the following:"
- if test -n "$shlibpath_var"; then
- $ECHO " - add LIBDIR to the \`$shlibpath_var' environment variable"
- $ECHO " during execution"
- fi
- if test -n "$runpath_var"; then
- $ECHO " - add LIBDIR to the \`$runpath_var' environment variable"
- $ECHO " during linking"
- fi
- if test -n "$hardcode_libdir_flag_spec"; then
- libdir=LIBDIR
- eval flag=\"$hardcode_libdir_flag_spec\"
+ if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+ echo "----------------------------------------------------------------------"
+ echo "Libraries have been installed in:"
+ for libdir in $libdirs; do
+ $ECHO " $libdir"
+ done
+ echo
+ echo "If you ever happen to want to link against installed libraries"
+ echo "in a given directory, LIBDIR, you must either use libtool, and"
+ echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
+ echo "flag during linking and do at least one of the following:"
+ if test -n "$shlibpath_var"; then
+ echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
+ echo " during execution"
+ fi
+ if test -n "$runpath_var"; then
+ echo " - add LIBDIR to the \`$runpath_var' environment variable"
+ echo " during linking"
+ fi
+ if test -n "$hardcode_libdir_flag_spec"; then
+ libdir=LIBDIR
+ eval flag=\"$hardcode_libdir_flag_spec\"
- $ECHO " - use the \`$flag' linker flag"
- fi
- if test -n "$admincmds"; then
- $ECHO " - have your system administrator run these commands:$admincmds"
- fi
- if test -f /etc/ld.so.conf; then
- $ECHO " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
- fi
- $ECHO
+ $ECHO " - use the \`$flag' linker flag"
+ fi
+ if test -n "$admincmds"; then
+ $ECHO " - have your system administrator run these commands:$admincmds"
+ fi
+ if test -f /etc/ld.so.conf; then
+ echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+ fi
+ echo
- $ECHO "See any operating system documentation about shared libraries for"
- case $host in
- solaris2.[6789]|solaris2.1[0-9])
- $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual"
- $ECHO "pages."
- ;;
- *)
- $ECHO "more information, such as the ld(1) and ld.so(8) manual pages."
- ;;
- esac
- $ECHO "X----------------------------------------------------------------------" | $Xsed
+ echo "See any operating system documentation about shared libraries for"
+ case $host in
+ solaris2.[6789]|solaris2.1[0-9])
+ echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
+ echo "pages."
+ ;;
+ *)
+ echo "more information, such as the ld(1) and ld.so(8) manual pages."
+ ;;
+ esac
+ echo "----------------------------------------------------------------------"
+ fi
exit $EXIT_SUCCESS
}
-test "$mode" = finish && func_mode_finish ${1+"$@"}
+test "$opt_mode" = finish && func_mode_finish ${1+"$@"}
# func_mode_install arg...
# install_prog (especially on Windows NT).
if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
# Allow the use of GNU shtool's install command.
- $ECHO "X$nonopt" | $GREP shtool >/dev/null; then
+ case $nonopt in *shtool*) :;; *) false;; esac; then
# Aesthetically quote it.
func_quote_for_eval "$nonopt"
install_prog="$func_quote_for_eval_result "
# The real first argument should be the name of the installation program.
# Aesthetically quote it.
func_quote_for_eval "$arg"
- install_prog="$install_prog$func_quote_for_eval_result"
+ func_append install_prog "$func_quote_for_eval_result"
+ install_shared_prog=$install_prog
+ case " $install_prog " in
+ *[\\\ /]cp\ *) install_cp=: ;;
+ *) install_cp=false ;;
+ esac
# We need to accept at least all the BSD install flags.
dest=
install_type=
isdir=no
stripme=
+ no_mode=:
for arg
do
+ arg2=
if test -n "$dest"; then
- files="$files $dest"
+ func_append files " $dest"
dest=$arg
continue
fi
case $arg in
-d) isdir=yes ;;
-f)
- case " $install_prog " in
- *[\\\ /]cp\ *) ;;
- *) prev=$arg ;;
- esac
+ if $install_cp; then :; else
+ prev=$arg
+ fi
;;
-g | -m | -o)
prev=$arg
*)
# If the previous option needed an argument, then skip it.
if test -n "$prev"; then
+ if test "x$prev" = x-m && test -n "$install_override_mode"; then
+ arg2=$install_override_mode
+ no_mode=false
+ fi
prev=
else
dest=$arg
# Aesthetically quote the argument.
func_quote_for_eval "$arg"
- install_prog="$install_prog $func_quote_for_eval_result"
+ func_append install_prog " $func_quote_for_eval_result"
+ if test -n "$arg2"; then
+ func_quote_for_eval "$arg2"
+ fi
+ func_append install_shared_prog " $func_quote_for_eval_result"
done
test -z "$install_prog" && \
test -n "$prev" && \
func_fatal_help "the \`$prev' option requires an argument"
+ if test -n "$install_override_mode" && $no_mode; then
+ if $install_cp; then :; else
+ func_quote_for_eval "$install_override_mode"
+ func_append install_shared_prog " -m $func_quote_for_eval_result"
+ fi
+ fi
+
if test -z "$files"; then
if test -z "$dest"; then
func_fatal_help "no file or destination specified"
case $file in
*.$libext)
# Do the static libraries later.
- staticlibs="$staticlibs $file"
+ func_append staticlibs " $file"
;;
*.la)
+ func_resolve_sysroot "$file"
+ file=$func_resolve_sysroot_result
+
# Check to see that this really is a libtool archive.
func_lalib_unsafe_p "$file" \
|| func_fatal_help "\`$file' is not a valid libtool archive"
if test "X$destdir" = "X$libdir"; then
case "$current_libdirs " in
*" $libdir "*) ;;
- *) current_libdirs="$current_libdirs $libdir" ;;
+ *) func_append current_libdirs " $libdir" ;;
esac
else
# Note the libdir as a future libdir.
case "$future_libdirs " in
*" $libdir "*) ;;
- *) future_libdirs="$future_libdirs $libdir" ;;
+ *) func_append future_libdirs " $libdir" ;;
esac
fi
func_dirname "$file" "/" ""
dir="$func_dirname_result"
- dir="$dir$objdir"
+ func_append dir "$objdir"
if test -n "$relink_command"; then
# Determine the prefix the user has applied to our future dir.
- inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"`
+ inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
# Don't allow the user to place us outside of our expected
# location b/c this prevents finding dependent libraries that
if test -n "$inst_prefix_dir"; then
# Stick the inst_prefix_dir data into the link command.
- relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+ relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
else
- relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"`
+ relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
fi
func_warning "relinking \`$file'"
test -n "$relink_command" && srcname="$realname"T
# Install the shared library and build the symlinks.
- func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \
+ func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
'exit $?'
tstripme="$stripme"
case $host_os in
- cygwin* | mingw* | pw32*)
+ cygwin* | mingw* | pw32* | cegcc*)
case $realname in
*.dll.a)
tstripme=""
func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
# Maybe install the static library, too.
- test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
+ test -n "$old_library" && func_append staticlibs " $dir/$old_library"
;;
*.lo)
# Do a test to see if this is really a libtool program.
case $host in
- *cygwin*|*mingw*)
+ *cygwin* | *mingw*)
if func_ltwrapper_executable_p "$file"; then
func_ltwrapper_scriptname "$file"
wrapper=$func_ltwrapper_scriptname_result
if test -f "$lib"; then
func_source "$lib"
fi
- libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
+ libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test
if test -n "$libdir" && test ! -f "$libfile"; then
func_warning "\`$lib' has not been installed in \`$libdir'"
finalize=no
file="$func_basename_result"
outputname="$tmpdir/$file"
# Replace the output file specification.
- relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
+ relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
$opt_silent || {
func_quote_for_expand "$relink_command"
}
else
# Install the binary that we compiled earlier.
- file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
+ file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"`
fi
fi
esac
done
- for file in $staticlibs; do
- func_basename "$file"
- name="$func_basename_result"
+ for file in $staticlibs; do
+ func_basename "$file"
+ name="$func_basename_result"
+
+ # Set up the ranlib parameters.
+ oldlib="$destdir/$name"
+ func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
+ tool_oldlib=$func_to_tool_file_result
+
+ func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
+
+ if test -n "$stripme" && test -n "$old_striplib"; then
+ func_show_eval "$old_striplib $tool_oldlib" 'exit $?'
+ fi
+
+ # Do each command in the postinstall commands.
+ func_execute_cmds "$old_postinstall_cmds" 'exit $?'
+ done
+
+ test -n "$future_libdirs" && \
+ func_warning "remember to run \`$progname --finish$future_libdirs'"
+
+ if test -n "$current_libdirs"; then
+ # Maybe just do a dry run.
+ $opt_dry_run && current_libdirs=" -n$current_libdirs"
+ exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
+ else
+ exit $EXIT_SUCCESS
+ fi
+}
+
+test "$opt_mode" = install && func_mode_install ${1+"$@"}
+
+
+# func_generate_dlsyms outputname originator pic_p
+# Extract symbols from dlprefiles and create ${outputname}S.o with
+# a dlpreopen symbol table.
+func_generate_dlsyms ()
+{
+ $opt_debug
+ my_outputname="$1"
+ my_originator="$2"
+ my_pic_p="${3-no}"
+ my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
+ my_dlsyms=
+
+ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+ if test -n "$NM" && test -n "$global_symbol_pipe"; then
+ my_dlsyms="${my_outputname}S.c"
+ else
+ func_error "not configured to extract global symbols from dlpreopened files"
+ fi
+ fi
+
+ if test -n "$my_dlsyms"; then
+ case $my_dlsyms in
+ "") ;;
+ *.c)
+ # Discover the nlist of each of the dlfiles.
+ nlist="$output_objdir/${my_outputname}.nm"
+
+ func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
+
+ # Parse the name list into a source file.
+ func_verbose "creating $output_objdir/$my_dlsyms"
+
+ $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
+/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
+/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
+
+#ifdef __cplusplus
+extern \"C\" {
+#endif
+
+#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
+#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
+#endif
+
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
+#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
+/* DATA imports from DLLs on WIN32 con't be const, because runtime
+ relocations are performed -- see ld's documentation on pseudo-relocs. */
+# define LT_DLSYM_CONST
+#elif defined(__osf__)
+/* This system does not cope well with relocations in const data. */
+# define LT_DLSYM_CONST
+#else
+# define LT_DLSYM_CONST const
+#endif
+
+/* External symbol declarations for the compiler. */\
+"
+
+ if test "$dlself" = yes; then
+ func_verbose "generating symbol list for \`$output'"
+
+ $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
+
+ # Add our own program objects to the symbol list.
+ progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
+ for progfile in $progfiles; do
+ func_to_tool_file "$progfile" func_convert_file_msys_to_w32
+ func_verbose "extracting global C symbols from \`$func_to_tool_file_result'"
+ $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
+ done
+
+ if test -n "$exclude_expsyms"; then
+ $opt_dry_run || {
+ eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ }
+ fi
+
+ if test -n "$export_symbols_regex"; then
+ $opt_dry_run || {
+ eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ }
+ fi
+
+ # Prepare the list of exported symbols
+ if test -z "$export_symbols"; then
+ export_symbols="$output_objdir/$outputname.exp"
+ $opt_dry_run || {
+ $RM $export_symbols
+ eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+ eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
+ ;;
+ esac
+ }
+ else
+ $opt_dry_run || {
+ eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+ eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+ eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
+ ;;
+ esac
+ }
+ fi
+ fi
+
+ for dlprefile in $dlprefiles; do
+ func_verbose "extracting global C symbols from \`$dlprefile'"
+ func_basename "$dlprefile"
+ name="$func_basename_result"
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ # if an import library, we need to obtain dlname
+ if func_win32_import_lib_p "$dlprefile"; then
+ func_tr_sh "$dlprefile"
+ eval "curr_lafile=\$libfile_$func_tr_sh_result"
+ dlprefile_dlbasename=""
+ if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
+ # Use subshell, to avoid clobbering current variable values
+ dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
+ if test -n "$dlprefile_dlname" ; then
+ func_basename "$dlprefile_dlname"
+ dlprefile_dlbasename="$func_basename_result"
+ else
+ # no lafile. user explicitly requested -dlpreopen <import library>.
+ $sharedlib_from_linklib_cmd "$dlprefile"
+ dlprefile_dlbasename=$sharedlib_from_linklib_result
+ fi
+ fi
+ $opt_dry_run || {
+ if test -n "$dlprefile_dlbasename" ; then
+ eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
+ else
+ func_warning "Could not compute DLL name from $name"
+ eval '$ECHO ": $name " >> "$nlist"'
+ fi
+ func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+ eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe |
+ $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'"
+ }
+ else # not an import lib
+ $opt_dry_run || {
+ eval '$ECHO ": $name " >> "$nlist"'
+ func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+ eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+ }
+ fi
+ ;;
+ *)
+ $opt_dry_run || {
+ eval '$ECHO ": $name " >> "$nlist"'
+ func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+ eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+ }
+ ;;
+ esac
+ done
+
+ $opt_dry_run || {
+ # Make sure we have at least an empty file.
+ test -f "$nlist" || : > "$nlist"
+
+ if test -n "$exclude_expsyms"; then
+ $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
+ $MV "$nlist"T "$nlist"
+ fi
+
+ # Try sorting and uniquifying the output.
+ if $GREP -v "^: " < "$nlist" |
+ if sort -k 3 </dev/null >/dev/null 2>&1; then
+ sort -k 3
+ else
+ sort +2
+ fi |
+ uniq > "$nlist"S; then
+ :
+ else
+ $GREP -v "^: " < "$nlist" > "$nlist"S
+ fi
+
+ if test -f "$nlist"S; then
+ eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
+ else
+ echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
+ fi
+
+ echo >> "$output_objdir/$my_dlsyms" "\
+
+/* The mapping between symbol names and symbols. */
+typedef struct {
+ const char *name;
+ void *address;
+} lt_dlsymlist;
+extern LT_DLSYM_CONST lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[];
+LT_DLSYM_CONST lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[] =
+{\
+ { \"$my_originator\", (void *) 0 },"
+
+ case $need_lib_prefix in
+ no)
+ eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
+ ;;
+ *)
+ eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
+ ;;
+ esac
+ echo >> "$output_objdir/$my_dlsyms" "\
+ {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt_${my_prefix}_LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif\
+"
+ } # !$opt_dry_run
+
+ pic_flag_for_symtable=
+ case "$compile_command " in
+ *" -static "*) ;;
+ *)
+ case $host in
+ # compiling the symbol table file with pic_flag works around
+ # a FreeBSD bug that causes programs to crash when -lm is
+ # linked before any other PIC object. But we must not use
+ # pic_flag when linking with -static. The problem exists in
+ # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
+ *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+ pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
+ *-*-hpux*)
+ pic_flag_for_symtable=" $pic_flag" ;;
+ *)
+ if test "X$my_pic_p" != Xno; then
+ pic_flag_for_symtable=" $pic_flag"
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ symtab_cflags=
+ for arg in $LTCFLAGS; do
+ case $arg in
+ -pie | -fpie | -fPIE) ;;
+ *) func_append symtab_cflags " $arg" ;;
+ esac
+ done
+
+ # Now compile the dynamic symbol file.
+ func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
+
+ # Clean up the generated files.
+ func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
+
+ # Transform the symbol file into the correct name.
+ symfileobj="$output_objdir/${my_outputname}S.$objext"
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ if test -f "$output_objdir/$my_outputname.def"; then
+ compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+ finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+ else
+ compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+ finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+ fi
+ ;;
+ *)
+ compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+ finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+ ;;
+ esac
+ ;;
+ *)
+ func_fatal_error "unknown suffix for \`$my_dlsyms'"
+ ;;
+ esac
+ else
+ # We keep going just in case the user didn't refer to
+ # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
+ # really was required.
+
+ # Nullify the symbol file.
+ compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"`
+ finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"`
+ fi
+}
+
+# func_win32_libid arg
+# return the library type of file 'arg'
+#
+# Need a lot of goo to handle *both* DLLs and import libs
+# Has to be a shell function in order to 'eat' the argument
+# that is supplied when $file_magic_command is called.
+# Despite the name, also deal with 64 bit binaries.
+func_win32_libid ()
+{
+ $opt_debug
+ win32_libid_type="unknown"
+ win32_fileres=`file -L $1 2>/dev/null`
+ case $win32_fileres in
+ *ar\ archive\ import\ library*) # definitely import
+ win32_libid_type="x86 archive import"
+ ;;
+ *ar\ archive*) # could be an import, or static
+ # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
+ if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
+ $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
+ func_to_tool_file "$1" func_convert_file_msys_to_w32
+ win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
+ $SED -n -e '
+ 1,100{
+ / I /{
+ s,.*,import,
+ p
+ q
+ }
+ }'`
+ case $win32_nmres in
+ import*) win32_libid_type="x86 archive import";;
+ *) win32_libid_type="x86 archive static";;
+ esac
+ fi
+ ;;
+ *DLL*)
+ win32_libid_type="x86 DLL"
+ ;;
+ *executable*) # but shell scripts are "executable" too...
+ case $win32_fileres in
+ *MS\ Windows\ PE\ Intel*)
+ win32_libid_type="x86 DLL"
+ ;;
+ esac
+ ;;
+ esac
+ $ECHO "$win32_libid_type"
+}
+
+# func_cygming_dll_for_implib ARG
+#
+# Platform-specific function to extract the
+# name of the DLL associated with the specified
+# import library ARG.
+# Invoked by eval'ing the libtool variable
+# $sharedlib_from_linklib_cmd
+# Result is available in the variable
+# $sharedlib_from_linklib_result
+func_cygming_dll_for_implib ()
+{
+ $opt_debug
+ sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
+}
- # Set up the ranlib parameters.
- oldlib="$destdir/$name"
+# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs
+#
+# The is the core of a fallback implementation of a
+# platform-specific function to extract the name of the
+# DLL associated with the specified import library LIBNAME.
+#
+# SECTION_NAME is either .idata$6 or .idata$7, depending
+# on the platform and compiler that created the implib.
+#
+# Echos the name of the DLL associated with the
+# specified import library.
+func_cygming_dll_for_implib_fallback_core ()
+{
+ $opt_debug
+ match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
+ $OBJDUMP -s --section "$1" "$2" 2>/dev/null |
+ $SED '/^Contents of section '"$match_literal"':/{
+ # Place marker at beginning of archive member dllname section
+ s/.*/====MARK====/
+ p
+ d
+ }
+ # These lines can sometimes be longer than 43 characters, but
+ # are always uninteresting
+ /:[ ]*file format pe[i]\{,1\}-/d
+ /^In archive [^:]*:/d
+ # Ensure marker is printed
+ /^====MARK====/p
+ # Remove all lines with less than 43 characters
+ /^.\{43\}/!d
+ # From remaining lines, remove first 43 characters
+ s/^.\{43\}//' |
+ $SED -n '
+ # Join marker and all lines until next marker into a single line
+ /^====MARK====/ b para
+ H
+ $ b para
+ b
+ :para
+ x
+ s/\n//g
+ # Remove the marker
+ s/^====MARK====//
+ # Remove trailing dots and whitespace
+ s/[\. \t]*$//
+ # Print
+ /./p' |
+ # we now have a list, one entry per line, of the stringified
+ # contents of the appropriate section of all members of the
+ # archive which possess that section. Heuristic: eliminate
+ # all those which have a first or second character that is
+ # a '.' (that is, objdump's representation of an unprintable
+ # character.) This should work for all archives with less than
+ # 0x302f exports -- but will fail for DLLs whose name actually
+ # begins with a literal '.' or a single character followed by
+ # a '.'.
+ #
+ # Of those that remain, print the first one.
+ $SED -e '/^\./d;/^.\./d;q'
+}
- func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
+# func_cygming_gnu_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is a GNU/binutils-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_gnu_implib_p ()
+{
+ $opt_debug
+ func_to_tool_file "$1" func_convert_file_msys_to_w32
+ func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
+ test -n "$func_cygming_gnu_implib_tmp"
+}
- if test -n "$stripme" && test -n "$old_striplib"; then
- func_show_eval "$old_striplib $oldlib" 'exit $?'
- fi
+# func_cygming_ms_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is an MS-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_ms_implib_p ()
+{
+ $opt_debug
+ func_to_tool_file "$1" func_convert_file_msys_to_w32
+ func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
+ test -n "$func_cygming_ms_implib_tmp"
+}
- # Do each command in the postinstall commands.
- func_execute_cmds "$old_postinstall_cmds" 'exit $?'
- done
+# func_cygming_dll_for_implib_fallback ARG
+# Platform-specific function to extract the
+# name of the DLL associated with the specified
+# import library ARG.
+#
+# This fallback implementation is for use when $DLLTOOL
+# does not support the --identify-strict option.
+# Invoked by eval'ing the libtool variable
+# $sharedlib_from_linklib_cmd
+# Result is available in the variable
+# $sharedlib_from_linklib_result
+func_cygming_dll_for_implib_fallback ()
+{
+ $opt_debug
+ if func_cygming_gnu_implib_p "$1" ; then
+ # binutils import library
+ sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
+ elif func_cygming_ms_implib_p "$1" ; then
+ # ms-generated import library
+ sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
+ else
+ # unknown
+ sharedlib_from_linklib_result=""
+ fi
+}
- test -n "$future_libdirs" && \
- func_warning "remember to run \`$progname --finish$future_libdirs'"
- if test -n "$current_libdirs"; then
- # Maybe just do a dry run.
- $opt_dry_run && current_libdirs=" -n$current_libdirs"
- exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
+# func_extract_an_archive dir oldlib
+func_extract_an_archive ()
+{
+ $opt_debug
+ f_ex_an_ar_dir="$1"; shift
+ f_ex_an_ar_oldlib="$1"
+ if test "$lock_old_archive_extraction" = yes; then
+ lockfile=$f_ex_an_ar_oldlib.lock
+ until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
+ func_echo "Waiting for $lockfile to be removed"
+ sleep 2
+ done
+ fi
+ func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
+ 'stat=$?; rm -f "$lockfile"; exit $stat'
+ if test "$lock_old_archive_extraction" = yes; then
+ $opt_dry_run || rm -f "$lockfile"
+ fi
+ if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
+ :
else
- exit $EXIT_SUCCESS
+ func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
fi
}
-test "$mode" = install && func_mode_install ${1+"$@"}
+
+# func_extract_archives gentop oldlib ...
+func_extract_archives ()
+{
+ $opt_debug
+ my_gentop="$1"; shift
+ my_oldlibs=${1+"$@"}
+ my_oldobjs=""
+ my_xlib=""
+ my_xabs=""
+ my_xdir=""
+
+ for my_xlib in $my_oldlibs; do
+ # Extract the objects.
+ case $my_xlib in
+ [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
+ *) my_xabs=`pwd`"/$my_xlib" ;;
+ esac
+ func_basename "$my_xlib"
+ my_xlib="$func_basename_result"
+ my_xlib_u=$my_xlib
+ while :; do
+ case " $extracted_archives " in
+ *" $my_xlib_u "*)
+ func_arith $extracted_serial + 1
+ extracted_serial=$func_arith_result
+ my_xlib_u=lt$extracted_serial-$my_xlib ;;
+ *) break ;;
+ esac
+ done
+ extracted_archives="$extracted_archives $my_xlib_u"
+ my_xdir="$my_gentop/$my_xlib_u"
+
+ func_mkdir_p "$my_xdir"
+
+ case $host in
+ *-darwin*)
+ func_verbose "Extracting $my_xabs"
+ # Do not bother doing anything if just a dry run
+ $opt_dry_run || {
+ darwin_orig_dir=`pwd`
+ cd $my_xdir || exit $?
+ darwin_archive=$my_xabs
+ darwin_curdir=`pwd`
+ darwin_base_archive=`basename "$darwin_archive"`
+ darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
+ if test -n "$darwin_arches"; then
+ darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
+ darwin_arch=
+ func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
+ for darwin_arch in $darwin_arches ; do
+ func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+ $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
+ cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+ func_extract_an_archive "`pwd`" "${darwin_base_archive}"
+ cd "$darwin_curdir"
+ $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
+ done # $darwin_arches
+ ## Okay now we've a bunch of thin objects, gotta fatten them up :)
+ darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
+ darwin_file=
+ darwin_files=
+ for darwin_file in $darwin_filelist; do
+ darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP`
+ $LIPO -create -output "$darwin_file" $darwin_files
+ done # $darwin_filelist
+ $RM -rf unfat-$$
+ cd "$darwin_orig_dir"
+ else
+ cd $darwin_orig_dir
+ func_extract_an_archive "$my_xdir" "$my_xabs"
+ fi # $darwin_arches
+ } # !$opt_dry_run
+ ;;
+ *)
+ func_extract_an_archive "$my_xdir" "$my_xabs"
+ ;;
+ esac
+ my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
+ done
+
+ func_extract_archives_result="$my_oldobjs"
+}
-# func_emit_wrapper arg
+# func_emit_wrapper [arg=no]
#
-# emit a libtool wrapper script on stdout
-# don't directly open a file because we may want to
+# Emit a libtool wrapper script on stdout.
+# Don't directly open a file because we may want to
# incorporate the script contents within a cygwin/mingw
# wrapper executable. Must ONLY be called from within
-# func_mode_link because it depends on a number of variable
+# func_mode_link because it depends on a number of variables
# set therein.
#
-# arg is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
+# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
# variable will take. If 'yes', then the emitted script
# will assume that the directory in which it is stored is
-# the '.lib' directory. This is a cygwin/mingw-specific
+# the $objdir directory. This is a cygwin/mingw-specific
# behavior.
func_emit_wrapper ()
{
- func_emit_wrapper_arg1=no
- if test -n "$1" ; then
- func_emit_wrapper_arg1=$1
- fi
+ func_emit_wrapper_arg1=${1-no}
$ECHO "\
#! $SHELL
# Sed substitution that helps us do robust quoting. It backslashifies
# metacharacters that are still active within double-quoted strings.
-Xsed='${SED} -e 1s/^X//'
sed_quote_subst='$sed_quote_subst'
# Be Bourne compatible
else
# When we are sourced in execute mode, \$file and \$ECHO are already set.
if test \"\$libtool_execute_magic\" != \"$magic\"; then
- ECHO=\"$qecho\"
- file=\"\$0\"
- # Make sure echo works.
- if test \"X\$1\" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
- elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then
- # Yippee, \$ECHO works!
- :
- else
- # Restart under the correct shell, and then maybe \$ECHO will work.
- exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
- fi
- fi\
+ file=\"\$0\""
+
+ qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
+ $ECHO "\
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+\$1
+_LTECHO_EOF'
+}
+ ECHO=\"$qECHO\"
+ fi
+
+# Very basic option parsing. These options are (a) specific to
+# the libtool wrapper, (b) are identical between the wrapper
+# /script/ and the wrapper /executable/ which is used only on
+# windows platforms, and (c) all begin with the string "--lt-"
+# (application programs are unlikely to have options which match
+# this pattern).
+#
+# There are only two supported options: --lt-debug and
+# --lt-dump-script. There is, deliberately, no --lt-help.
+#
+# The first argument to this parsing function should be the
+# script's $0 value, followed by "$@".
+lt_option_debug=
+func_parse_lt_options ()
+{
+ lt_script_arg0=\$0
+ shift
+ for lt_opt
+ do
+ case \"\$lt_opt\" in
+ --lt-debug) lt_option_debug=1 ;;
+ --lt-dump-script)
+ lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\`
+ test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=.
+ lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\`
+ cat \"\$lt_dump_D/\$lt_dump_F\"
+ exit 0
+ ;;
+ --lt-*)
+ \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2
+ exit 1
+ ;;
+ esac
+ done
+
+ # Print the debug banner immediately:
+ if test -n \"\$lt_option_debug\"; then
+ echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2
+ fi
+}
+
+# Used when --lt-debug. Prints its arguments to stdout
+# (redirection is the responsibility of the caller)
+func_lt_dump_args ()
+{
+ lt_dump_args_N=1;
+ for lt_arg
+ do
+ \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\"
+ lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
+ done
+}
+
+# Core function for launching the target application
+func_exec_program_core ()
+{
"
- $ECHO "\
+ case $host in
+ # Backslashes separate directories on plain windows
+ *-*-mingw | *-*-os2* | *-cegcc*)
+ $ECHO "\
+ if test -n \"\$lt_option_debug\"; then
+ \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2
+ func_lt_dump_args \${1+\"\$@\"} 1>&2
+ fi
+ exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
+"
+ ;;
+
+ *)
+ $ECHO "\
+ if test -n \"\$lt_option_debug\"; then
+ \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2
+ func_lt_dump_args \${1+\"\$@\"} 1>&2
+ fi
+ exec \"\$progdir/\$program\" \${1+\"\$@\"}
+"
+ ;;
+ esac
+ $ECHO "\
+ \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
+ exit 1
+}
+
+# A function to encapsulate launching the target application
+# Strips options in the --lt-* namespace from \$@ and
+# launches target application with the remaining arguments.
+func_exec_program ()
+{
+ case \" \$* \" in
+ *\\ --lt-*)
+ for lt_wr_arg
+ do
+ case \$lt_wr_arg in
+ --lt-*) ;;
+ *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
+ esac
+ shift
+ done ;;
+ esac
+ func_exec_program_core \${1+\"\$@\"}
+}
+
+ # Parse options
+ func_parse_lt_options \"\$0\" \${1+\"\$@\"}
# Find the directory that this script lives in.
- thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
+ thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\`
test \"x\$thisdir\" = \"x\$file\" && thisdir=.
# Follow symbolic links until we get to the real thisdir.
- file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
+ file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\`
while test -n \"\$file\"; do
- destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
+ destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\`
# If there was a directory component, then change thisdir.
if test \"x\$destdir\" != \"x\$file\"; then
esac
fi
- file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
- file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
+ file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\`
+ file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\`
done
# Usually 'no', except on cygwin/mingw when embedded into
fi
# remove .libs from thisdir
case \"\$thisdir\" in
- *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;;
+ *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;;
$objdir ) thisdir=. ;;
esac
fi
if test -f \"\$progdir/\$program\"; then"
+ # fixup the dll searchpath if we need to.
+ #
+ # Fix the DLL searchpath if we need to. Do this before prepending
+ # to shlibpath, because on Windows, both are PATH and uninstalled
+ # libraries must come first.
+ if test -n "$dllsearchpath"; then
+ $ECHO "\
+ # Add the dll search path components to the executable PATH
+ PATH=$dllsearchpath:\$PATH
+"
+ fi
+
# Export our shlibpath_var if we have one.
if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
$ECHO "\
# Some systems cannot cope with colon-terminated $shlibpath_var
# The second colon is a workaround for a bug in BeOS R4 sed
- $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
+ $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\`
export $shlibpath_var
"
fi
- # fixup the dll searchpath if we need to.
- if test -n "$dllsearchpath"; then
- $ECHO "\
- # Add the dll search path components to the executable PATH
- PATH=$dllsearchpath:\$PATH
-"
- fi
-
$ECHO "\
if test \"\$libtool_execute_magic\" != \"$magic\"; then
# Run the actual program with our arguments.
-"
- case $host in
- # Backslashes separate directories on plain windows
- *-*-mingw | *-*-os2*)
- $ECHO "\
- exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
-"
- ;;
-
- *)
- $ECHO "\
- exec \"\$progdir/\$program\" \${1+\"\$@\"}
-"
- ;;
- esac
- $ECHO "\
- \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
- exit 1
+ func_exec_program \${1+\"\$@\"}
fi
else
# The program doesn't exist.
\$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
\$ECHO \"This script is just a wrapper for \$program.\" 1>&2
- $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
+ \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
exit 1
fi
fi\
"
}
-# end: func_emit_wrapper
+
# func_emit_cwrapperexe_src
# emit the source code for a wrapper executable on stdout
This wrapper executable should never be moved out of the build directory.
If it is, it will not operate correctly.
-
- Currently, it simply execs the wrapper *script* "$SHELL $output",
- but could eventually absorb all of the scripts functionality and
- exec $objdir/$outputname directly.
*/
EOF
cat <<"EOF"
+#ifdef _MSC_VER
+# define _CRT_SECURE_NO_DEPRECATE 1
+#endif
#include <stdio.h>
#include <stdlib.h>
#ifdef _MSC_VER
#else
# include <unistd.h>
# include <stdint.h>
+# ifdef __CYGWIN__
+# include <io.h>
+# endif
#endif
#include <malloc.h>
#include <stdarg.h>
#include <fcntl.h>
#include <sys/stat.h>
+/* declarations of non-ANSI functions */
+#if defined(__MINGW32__)
+# ifdef __STRICT_ANSI__
+int _putenv (const char *);
+# endif
+#elif defined(__CYGWIN__)
+# ifdef __STRICT_ANSI__
+char *realpath (const char *, char *);
+int putenv (char *);
+int setenv (const char *, const char *, int);
+# endif
+/* #elif defined (other platforms) ... */
+#endif
+
+/* portability defines, excluding path handling macros */
+#if defined(_MSC_VER)
+# define setmode _setmode
+# define stat _stat
+# define chmod _chmod
+# define getcwd _getcwd
+# define putenv _putenv
+# define S_IXUSR _S_IEXEC
+# ifndef _INTPTR_T_DEFINED
+# define _INTPTR_T_DEFINED
+# define intptr_t int
+# endif
+#elif defined(__MINGW32__)
+# define setmode _setmode
+# define stat _stat
+# define chmod _chmod
+# define getcwd _getcwd
+# define putenv _putenv
+#elif defined(__CYGWIN__)
+# define HAVE_SETENV
+# define FOPEN_WB "wb"
+/* #elif defined (other platforms) ... */
+#endif
+
#if defined(PATH_MAX)
# define LT_PATHMAX PATH_MAX
#elif defined(MAXPATHLEN)
# define S_IXGRP 0
#endif
-#ifdef _MSC_VER
-# define S_IXUSR _S_IEXEC
-# define stat _stat
-# ifndef _INTPTR_T_DEFINED
-# define intptr_t int
-# endif
-#endif
-
+/* path handling portability macros */
#ifndef DIR_SEPARATOR
# define DIR_SEPARATOR '/'
# define PATH_SEPARATOR ':'
# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
#endif /* PATH_SEPARATOR_2 */
-#ifdef __CYGWIN__
-# define FOPEN_WB "wb"
-#endif
-
#ifndef FOPEN_WB
# define FOPEN_WB "w"
#endif
#define XFREE(stale) do { \
if (stale) { free ((void *) stale); stale = 0; } \
} while (0)
-
-#undef LTWRAPPER_DEBUGPRINTF
-#if defined DEBUGWRAPPER
-# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args
-static void
-ltwrapper_debugprintf (const char *fmt, ...)
-{
- va_list args;
- va_start (args, fmt);
- (void) vfprintf (stderr, fmt, args);
- va_end (args);
-}
+
+#if defined(LT_DEBUGWRAPPER)
+static int lt_debug = 1;
#else
-# define LTWRAPPER_DEBUGPRINTF(args)
+static int lt_debug = 0;
#endif
-const char *program_name = NULL;
+const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */
void *xmalloc (size_t num);
char *xstrdup (const char *string);
int make_executable (const char *path);
int check_executable (const char *path);
char *strendzap (char *str, const char *pat);
-void lt_fatal (const char *message, ...);
+void lt_debugprintf (const char *file, int line, const char *fmt, ...);
+void lt_fatal (const char *file, int line, const char *message, ...);
+static const char *nonnull (const char *s);
+static const char *nonempty (const char *s);
+void lt_setenv (const char *name, const char *value);
+char *lt_extend_str (const char *orig_value, const char *add, int to_end);
+void lt_update_exe_path (const char *name, const char *value);
+void lt_update_lib_path (const char *name, const char *value);
+char **prepare_spawn (char **argv);
+void lt_dump_script (FILE *f);
+EOF
-static const char *script_text =
+ cat <<EOF
+volatile const char * MAGIC_EXE = "$magic_exe";
+const char * LIB_PATH_VARNAME = "$shlibpath_var";
EOF
- func_emit_wrapper yes |
- $SED -e 's/\([\\"]\)/\\\1/g' \
- -e 's/^/ "/' -e 's/$/\\n"/'
- echo ";"
+ if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ func_to_host_path "$temp_rpath"
+ cat <<EOF
+const char * LIB_PATH_VALUE = "$func_to_host_path_result";
+EOF
+ else
+ cat <<"EOF"
+const char * LIB_PATH_VALUE = "";
+EOF
+ fi
- cat <<EOF
-const char * MAGIC_EXE = "$magic_exe";
+ if test -n "$dllsearchpath"; then
+ func_to_host_path "$dllsearchpath:"
+ cat <<EOF
+const char * EXE_PATH_VARNAME = "PATH";
+const char * EXE_PATH_VALUE = "$func_to_host_path_result";
+EOF
+ else
+ cat <<"EOF"
+const char * EXE_PATH_VARNAME = "";
+const char * EXE_PATH_VALUE = "";
+EOF
+ fi
+
+ if test "$fast_install" = yes; then
+ cat <<EOF
+const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
+EOF
+ else
+ cat <<EOF
+const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
+EOF
+ fi
+
+
+ cat <<"EOF"
+
+#define LTWRAPPER_OPTION_PREFIX "--lt-"
+
+static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
+static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script";
+static const char *debug_opt = LTWRAPPER_OPTION_PREFIX "debug";
int
main (int argc, char *argv[])
{
char **newargz;
+ int newargc;
char *tmp_pathspec;
char *actual_cwrapper_path;
- char *shwrapper_name;
+ char *actual_cwrapper_name;
+ char *target_name;
+ char *lt_argv_zero;
intptr_t rval = 127;
- FILE *shwrapper;
- const char *dumpscript_opt = "--lt-dump-script";
int i;
program_name = (char *) xstrdup (base_name (argv[0]));
- LTWRAPPER_DEBUGPRINTF (("(main) argv[0] : %s\n", argv[0]));
- LTWRAPPER_DEBUGPRINTF (("(main) program_name : %s\n", program_name));
+ newargz = XMALLOC (char *, argc + 1);
- /* very simple arg parsing; don't want to rely on getopt */
+ /* very simple arg parsing; don't want to rely on getopt
+ * also, copy all non cwrapper options to newargz, except
+ * argz[0], which is handled differently
+ */
+ newargc=0;
for (i = 1; i < argc; i++)
{
if (strcmp (argv[i], dumpscript_opt) == 0)
case "$host" in
*mingw* | *cygwin* )
# make stdout use "unix" line endings
- echo " _setmode(1,_O_BINARY);"
+ echo " setmode(1,_O_BINARY);"
;;
esac
- cat <<EOF
- printf ("%s", script_text);
+ cat <<"EOF"
+ lt_dump_script (stdout);
return 0;
}
+ if (strcmp (argv[i], debug_opt) == 0)
+ {
+ lt_debug = 1;
+ continue;
+ }
+ if (strcmp (argv[i], ltwrapper_option_prefix) == 0)
+ {
+ /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
+ namespace, but it is not one of the ones we know about and
+ have already dealt with, above (inluding dump-script), then
+ report an error. Otherwise, targets might begin to believe
+ they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
+ namespace. The first time any user complains about this, we'll
+ need to make LTWRAPPER_OPTION_PREFIX a configure-time option
+ or a configure.ac-settable value.
+ */
+ lt_fatal (__FILE__, __LINE__,
+ "unrecognized %s option: '%s'",
+ ltwrapper_option_prefix, argv[i]);
+ }
+ /* otherwise ... */
+ newargz[++newargc] = xstrdup (argv[i]);
}
+ newargz[++newargc] = NULL;
- newargz = XMALLOC (char *, argc + 2);
EOF
-
- if test -n "$TARGETSHELL" ; then
- # no path translation at all
- lt_newargv0=$TARGETSHELL
- else
- case "$host" in
- *mingw* )
- # awkward: cmd appends spaces to result
- lt_sed_strip_trailing_spaces="s/[ ]*\$//"
- lt_newargv0=`( cmd //c echo $SHELL | $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo $SHELL`
- case $lt_newargv0 in
- *.exe | *.EXE) ;;
- *) lt_newargv0=$lt_newargv0.exe ;;
- esac
- ;;
- * ) lt_newargv0=$SHELL ;;
- esac
- fi
-
- cat <<EOF
- newargz[0] = (char *) xstrdup ("$lt_newargv0");
+ cat <<EOF
+ /* The GNU banner must be the first non-error debug message */
+ lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\n");
EOF
-
cat <<"EOF"
+ lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
+ lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name);
+
tmp_pathspec = find_executable (argv[0]);
if (tmp_pathspec == NULL)
- lt_fatal ("Couldn't find %s", argv[0]);
- LTWRAPPER_DEBUGPRINTF (("(main) found exe (before symlink chase) at : %s\n",
- tmp_pathspec));
+ lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]);
+ lt_debugprintf (__FILE__, __LINE__,
+ "(main) found exe (before symlink chase) at: %s\n",
+ tmp_pathspec);
actual_cwrapper_path = chase_symlinks (tmp_pathspec);
- LTWRAPPER_DEBUGPRINTF (("(main) found exe (after symlink chase) at : %s\n",
- actual_cwrapper_path));
+ lt_debugprintf (__FILE__, __LINE__,
+ "(main) found exe (after symlink chase) at: %s\n",
+ actual_cwrapper_path);
XFREE (tmp_pathspec);
- shwrapper_name = (char *) xstrdup (base_name (actual_cwrapper_path));
- strendzap (actual_cwrapper_path, shwrapper_name);
-
- /* shwrapper_name transforms */
- strendzap (shwrapper_name, ".exe");
- tmp_pathspec = XMALLOC (char, (strlen (shwrapper_name) +
- strlen ("_ltshwrapperTMP") + 1));
- strcpy (tmp_pathspec, shwrapper_name);
- strcat (tmp_pathspec, "_ltshwrapperTMP");
- XFREE (shwrapper_name);
- shwrapper_name = tmp_pathspec;
+ actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path));
+ strendzap (actual_cwrapper_path, actual_cwrapper_name);
+
+ /* wrapper name transforms */
+ strendzap (actual_cwrapper_name, ".exe");
+ tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
+ XFREE (actual_cwrapper_name);
+ actual_cwrapper_name = tmp_pathspec;
+ tmp_pathspec = 0;
+
+ /* target_name transforms -- use actual target program name; might have lt- prefix */
+ target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
+ strendzap (target_name, ".exe");
+ tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
+ XFREE (target_name);
+ target_name = tmp_pathspec;
tmp_pathspec = 0;
- LTWRAPPER_DEBUGPRINTF (("(main) libtool shell wrapper name: %s\n",
- shwrapper_name));
+
+ lt_debugprintf (__FILE__, __LINE__,
+ "(main) libtool target name: %s\n",
+ target_name);
EOF
cat <<EOF
- newargz[1] =
+ newargz[0] =
XMALLOC (char, (strlen (actual_cwrapper_path) +
- strlen ("$objdir") + 1 + strlen (shwrapper_name) + 1));
- strcpy (newargz[1], actual_cwrapper_path);
- strcat (newargz[1], "$objdir");
- strcat (newargz[1], "/");
- strcat (newargz[1], shwrapper_name);
+ strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
+ strcpy (newargz[0], actual_cwrapper_path);
+ strcat (newargz[0], "$objdir");
+ strcat (newargz[0], "/");
EOF
+ cat <<"EOF"
+ /* stop here, and copy so we don't have to do this twice */
+ tmp_pathspec = xstrdup (newargz[0]);
+
+ /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
+ strcat (newargz[0], actual_cwrapper_name);
+
+ /* DO want the lt- prefix here if it exists, so use target_name */
+ lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
+ XFREE (tmp_pathspec);
+ tmp_pathspec = NULL;
+EOF
case $host_os in
mingw*)
cat <<"EOF"
{
char* p;
- while ((p = strchr (newargz[1], '\\')) != NULL)
+ while ((p = strchr (newargz[0], '\\')) != NULL)
+ {
+ *p = '/';
+ }
+ while ((p = strchr (lt_argv_zero, '\\')) != NULL)
{
*p = '/';
}
esac
cat <<"EOF"
- XFREE (shwrapper_name);
+ XFREE (target_name);
XFREE (actual_cwrapper_path);
-
- /* always write in binary mode */
- if ((shwrapper = fopen (newargz[1], FOPEN_WB)) == 0)
- {
- lt_fatal ("Could not open %s for writing", newargz[1]);
- }
- fprintf (shwrapper, "%s", script_text);
- fclose (shwrapper);
-
- make_executable (newargz[1]);
-
- for (i = 1; i < argc; i++)
- newargz[i + 1] = xstrdup (argv[i]);
- newargz[argc + 1] = NULL;
-
- for (i = 0; i < argc + 1; i++)
+ XFREE (actual_cwrapper_name);
+
+ lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
+ lt_setenv ("DUALCASE", "1"); /* for MSK sh */
+ /* Update the DLL searchpath. EXE_PATH_VALUE ($dllsearchpath) must
+ be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath)
+ because on Windows, both *_VARNAMEs are PATH but uninstalled
+ libraries must come first. */
+ lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
+ lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
+
+ lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n",
+ nonnull (lt_argv_zero));
+ for (i = 0; i < newargc; i++)
{
- LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d] : %s\n", i, newargz[i]));
+ lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n",
+ i, nonnull (newargz[i]));
}
EOF
case $host_os in
mingw*)
- cat <<EOF
+ cat <<"EOF"
/* execv doesn't actually work on mingw as expected on unix */
- rval = _spawnv (_P_WAIT, "$lt_newargv0", (const char * const *) newargz);
+ newargz = prepare_spawn (newargz);
+ rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
if (rval == -1)
{
/* failed to start process */
- LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"$lt_newargv0\": errno = %d\n", errno));
+ lt_debugprintf (__FILE__, __LINE__,
+ "(main) failed to launch target \"%s\": %s\n",
+ lt_argv_zero, nonnull (strerror (errno)));
return 127;
}
return rval;
-}
EOF
;;
*)
- cat <<EOF
- execv ("$lt_newargv0", newargz);
+ cat <<"EOF"
+ execv (lt_argv_zero, newargz);
return rval; /* =127, but avoids unused variable warning */
-}
EOF
;;
esac
cat <<"EOF"
+}
void *
xmalloc (size_t num)
{
void *p = (void *) malloc (num);
if (!p)
- lt_fatal ("Memory exhausted");
+ lt_fatal (__FILE__, __LINE__, "memory exhausted");
return p;
}
{
struct stat st;
- LTWRAPPER_DEBUGPRINTF (("(check_executable) : %s\n",
- path ? (*path ? path : "EMPTY!") : "NULL!"));
+ lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n",
+ nonempty (path));
if ((!path) || (!*path))
return 0;
int rval = 0;
struct stat st;
- LTWRAPPER_DEBUGPRINTF (("(make_executable) : %s\n",
- path ? (*path ? path : "EMPTY!") : "NULL!"));
+ lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n",
+ nonempty (path));
if ((!path) || (!*path))
return 0;
int tmp_len;
char *concat_name;
- LTWRAPPER_DEBUGPRINTF (("(find_executable) : %s\n",
- wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"));
+ lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
+ nonempty (wrapper));
if ((wrapper == NULL) || (*wrapper == '\0'))
return NULL;
{
/* empty path: current directory */
if (getcwd (tmp, LT_PATHMAX) == NULL)
- lt_fatal ("getcwd failed");
+ lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
+ nonnull (strerror (errno)));
tmp_len = strlen (tmp);
concat_name =
XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
}
/* Relative path | not found in path: prepend cwd */
if (getcwd (tmp, LT_PATHMAX) == NULL)
- lt_fatal ("getcwd failed");
+ lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
+ nonnull (strerror (errno)));
tmp_len = strlen (tmp);
concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
memcpy (concat_name, tmp, tmp_len);
int has_symlinks = 0;
while (strlen (tmp_pathspec) && !has_symlinks)
{
- LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n",
- tmp_pathspec));
+ lt_debugprintf (__FILE__, __LINE__,
+ "checking path component for symlinks: %s\n",
+ tmp_pathspec);
if (lstat (tmp_pathspec, &s) == 0)
{
if (S_ISLNK (s.st_mode) != 0)
}
else
{
- char *errstr = strerror (errno);
- lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr);
+ lt_fatal (__FILE__, __LINE__,
+ "error accessing file \"%s\": %s",
+ tmp_pathspec, nonnull (strerror (errno)));
}
}
XFREE (tmp_pathspec);
tmp_pathspec = realpath (pathspec, buf);
if (tmp_pathspec == 0)
{
- lt_fatal ("Could not follow symlinks for %s", pathspec);
+ lt_fatal (__FILE__, __LINE__,
+ "could not follow symlinks for %s", pathspec);
}
return xstrdup (tmp_pathspec);
#endif
return str;
}
+void
+lt_debugprintf (const char *file, int line, const char *fmt, ...)
+{
+ va_list args;
+ if (lt_debug)
+ {
+ (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);
+ va_start (args, fmt);
+ (void) vfprintf (stderr, fmt, args);
+ va_end (args);
+ }
+}
+
static void
-lt_error_core (int exit_status, const char *mode,
+lt_error_core (int exit_status, const char *file,
+ int line, const char *mode,
const char *message, va_list ap)
{
- fprintf (stderr, "%s: %s: ", program_name, mode);
+ fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);
vfprintf (stderr, message, ap);
fprintf (stderr, ".\n");
}
void
-lt_fatal (const char *message, ...)
+lt_fatal (const char *file, int line, const char *message, ...)
{
va_list ap;
va_start (ap, message);
- lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
+ lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);
va_end (ap);
}
+
+static const char *
+nonnull (const char *s)
+{
+ return s ? s : "(null)";
+}
+
+static const char *
+nonempty (const char *s)
+{
+ return (s && !*s) ? "(empty)" : nonnull (s);
+}
+
+void
+lt_setenv (const char *name, const char *value)
+{
+ lt_debugprintf (__FILE__, __LINE__,
+ "(lt_setenv) setting '%s' to '%s'\n",
+ nonnull (name), nonnull (value));
+ {
+#ifdef HAVE_SETENV
+ /* always make a copy, for consistency with !HAVE_SETENV */
+ char *str = xstrdup (value);
+ setenv (name, str, 1);
+#else
+ int len = strlen (name) + 1 + strlen (value) + 1;
+ char *str = XMALLOC (char, len);
+ sprintf (str, "%s=%s", name, value);
+ if (putenv (str) != EXIT_SUCCESS)
+ {
+ XFREE (str);
+ }
+#endif
+ }
+}
+
+char *
+lt_extend_str (const char *orig_value, const char *add, int to_end)
+{
+ char *new_value;
+ if (orig_value && *orig_value)
+ {
+ int orig_value_len = strlen (orig_value);
+ int add_len = strlen (add);
+ new_value = XMALLOC (char, add_len + orig_value_len + 1);
+ if (to_end)
+ {
+ strcpy (new_value, orig_value);
+ strcpy (new_value + orig_value_len, add);
+ }
+ else
+ {
+ strcpy (new_value, add);
+ strcpy (new_value + add_len, orig_value);
+ }
+ }
+ else
+ {
+ new_value = xstrdup (add);
+ }
+ return new_value;
+}
+
+void
+lt_update_exe_path (const char *name, const char *value)
+{
+ lt_debugprintf (__FILE__, __LINE__,
+ "(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
+ nonnull (name), nonnull (value));
+
+ if (name && *name && value && *value)
+ {
+ char *new_value = lt_extend_str (getenv (name), value, 0);
+ /* some systems can't cope with a ':'-terminated path #' */
+ int len = strlen (new_value);
+ while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
+ {
+ new_value[len-1] = '\0';
+ }
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ }
+}
+
+void
+lt_update_lib_path (const char *name, const char *value)
+{
+ lt_debugprintf (__FILE__, __LINE__,
+ "(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
+ nonnull (name), nonnull (value));
+
+ if (name && *name && value && *value)
+ {
+ char *new_value = lt_extend_str (getenv (name), value, 0);
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ }
+}
+
+EOF
+ case $host_os in
+ mingw*)
+ cat <<"EOF"
+
+/* Prepares an argument vector before calling spawn().
+ Note that spawn() does not by itself call the command interpreter
+ (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :
+ ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
+ GetVersionEx(&v);
+ v.dwPlatformId == VER_PLATFORM_WIN32_NT;
+ }) ? "cmd.exe" : "command.com").
+ Instead it simply concatenates the arguments, separated by ' ', and calls
+ CreateProcess(). We must quote the arguments since Win32 CreateProcess()
+ interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a
+ special way:
+ - Space and tab are interpreted as delimiters. They are not treated as
+ delimiters if they are surrounded by double quotes: "...".
+ - Unescaped double quotes are removed from the input. Their only effect is
+ that within double quotes, space and tab are treated like normal
+ characters.
+ - Backslashes not followed by double quotes are not special.
+ - But 2*n+1 backslashes followed by a double quote become
+ n backslashes followed by a double quote (n >= 0):
+ \" -> "
+ \\\" -> \"
+ \\\\\" -> \\"
+ */
+#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
+#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
+char **
+prepare_spawn (char **argv)
+{
+ size_t argc;
+ char **new_argv;
+ size_t i;
+
+ /* Count number of arguments. */
+ for (argc = 0; argv[argc] != NULL; argc++)
+ ;
+
+ /* Allocate new argument vector. */
+ new_argv = XMALLOC (char *, argc + 1);
+
+ /* Put quoted arguments into the new argument vector. */
+ for (i = 0; i < argc; i++)
+ {
+ const char *string = argv[i];
+
+ if (string[0] == '\0')
+ new_argv[i] = xstrdup ("\"\"");
+ else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)
+ {
+ int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);
+ size_t length;
+ unsigned int backslashes;
+ const char *s;
+ char *quoted_string;
+ char *p;
+
+ length = 0;
+ backslashes = 0;
+ if (quote_around)
+ length++;
+ for (s = string; *s != '\0'; s++)
+ {
+ char c = *s;
+ if (c == '"')
+ length += backslashes + 1;
+ length++;
+ if (c == '\\')
+ backslashes++;
+ else
+ backslashes = 0;
+ }
+ if (quote_around)
+ length += backslashes + 1;
+
+ quoted_string = XMALLOC (char, length + 1);
+
+ p = quoted_string;
+ backslashes = 0;
+ if (quote_around)
+ *p++ = '"';
+ for (s = string; *s != '\0'; s++)
+ {
+ char c = *s;
+ if (c == '"')
+ {
+ unsigned int j;
+ for (j = backslashes + 1; j > 0; j--)
+ *p++ = '\\';
+ }
+ *p++ = c;
+ if (c == '\\')
+ backslashes++;
+ else
+ backslashes = 0;
+ }
+ if (quote_around)
+ {
+ unsigned int j;
+ for (j = backslashes; j > 0; j--)
+ *p++ = '\\';
+ *p++ = '"';
+ }
+ *p = '\0';
+
+ new_argv[i] = quoted_string;
+ }
+ else
+ new_argv[i] = (char *) string;
+ }
+ new_argv[argc] = NULL;
+
+ return new_argv;
+}
+EOF
+ ;;
+ esac
+
+ cat <<"EOF"
+void lt_dump_script (FILE* f)
+{
+EOF
+ func_emit_wrapper yes |
+ $SED -n -e '
+s/^\(.\{79\}\)\(..*\)/\1\
+\2/
+h
+s/\([\\"]\)/\\\1/g
+s/$/\\n/
+s/\([^\n]*\).*/ fputs ("\1", f);/p
+g
+D'
+ cat <<"EOF"
+}
EOF
}
# end: func_emit_cwrapperexe_src
+# func_win32_import_lib_p ARG
+# True if ARG is an import lib, as indicated by $file_magic_cmd
+func_win32_import_lib_p ()
+{
+ $opt_debug
+ case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
+ *import*) : ;;
+ *) false ;;
+ esac
+}
+
# func_mode_link arg...
func_mode_link ()
{
$opt_debug
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
# It is impossible to link a dll without this setting, and
# we shouldn't force the makefile maintainer to figure out
# which system we are compiling for in order to pass an extra
new_inherited_linker_flags=
avoid_version=no
+ bindir=
dlfiles=
dlprefiles=
dlself=no
fi
if test -n "$link_static_flag"; then
dlopen_self=$dlopen_self_static
- # See comment for -static flag below, for more details.
- func_append compile_command " $link_static_flag"
- func_append finalize_command " $link_static_flag"
fi
prefer_static_libs=yes
;;
esac
case $prev in
+ bindir)
+ bindir="$arg"
+ prev=
+ continue
+ ;;
dlfiles|dlprefiles)
if test "$preload" = no; then
# Add the symbol object into the linking commands.
;;
*)
if test "$prev" = dlfiles; then
- dlfiles="$dlfiles $arg"
+ func_append dlfiles " $arg"
else
- dlprefiles="$dlprefiles $arg"
+ func_append dlprefiles " $arg"
fi
prev=
continue
*-*-darwin*)
case "$deplibs " in
*" $qarg.ltframework "*) ;;
- *) deplibs="$deplibs $qarg.ltframework" # this is fixed later
+ *) func_append deplibs " $qarg.ltframework" # this is fixed later
;;
esac
;;
moreargs=
for fil in `cat "$save_arg"`
do
-# moreargs="$moreargs $fil"
+# func_append moreargs " $fil"
arg=$fil
# A libtool-controlled object.
if test "$prev" = dlfiles; then
if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
- dlfiles="$dlfiles $pic_object"
+ func_append dlfiles " $pic_object"
prev=
continue
else
# CHECK ME: I think I busted this. -Ossama
if test "$prev" = dlprefiles; then
# Preload the old-style object.
- dlprefiles="$dlprefiles $pic_object"
+ func_append dlprefiles " $pic_object"
prev=
fi
if test "$prev" = rpath; then
case "$rpath " in
*" $arg "*) ;;
- *) rpath="$rpath $arg" ;;
+ *) func_append rpath " $arg" ;;
esac
else
case "$xrpath " in
*" $arg "*) ;;
- *) xrpath="$xrpath $arg" ;;
+ *) func_append xrpath " $arg" ;;
esac
fi
prev=
continue
;;
weak)
- weak_libs="$weak_libs $arg"
+ func_append weak_libs " $arg"
prev=
continue
;;
xcclinker)
- linker_flags="$linker_flags $qarg"
- compiler_flags="$compiler_flags $qarg"
+ func_append linker_flags " $qarg"
+ func_append compiler_flags " $qarg"
prev=
func_append compile_command " $qarg"
func_append finalize_command " $qarg"
continue
;;
xcompiler)
- compiler_flags="$compiler_flags $qarg"
+ func_append compiler_flags " $qarg"
prev=
func_append compile_command " $qarg"
func_append finalize_command " $qarg"
continue
;;
xlinker)
- linker_flags="$linker_flags $qarg"
- compiler_flags="$compiler_flags $wl$qarg"
+ func_append linker_flags " $qarg"
+ func_append compiler_flags " $wl$qarg"
prev=
func_append compile_command " $wl$qarg"
func_append finalize_command " $wl$qarg"
case $arg in
-all-static)
- # The effects of -all-static are defined in a previous loop.
+ if test -n "$link_static_flag"; then
+ # See comment for -static flag below, for more details.
+ func_append compile_command " $link_static_flag"
+ func_append finalize_command " $link_static_flag"
+ fi
continue
;;
continue
;;
+ -bindir)
+ prev=bindir
+ continue
+ ;;
+
-dlopen)
prev=dlfiles
continue
;;
-L*)
- func_stripname '-L' '' "$arg"
- dir=$func_stripname_result
+ func_stripname "-L" '' "$arg"
+ if test -z "$func_stripname_result"; then
+ if test "$#" -gt 0; then
+ func_fatal_error "require no space between \`-L' and \`$1'"
+ else
+ func_fatal_error "need path for \`-L' option"
+ fi
+ fi
+ func_resolve_sysroot "$func_stripname_result"
+ dir=$func_resolve_sysroot_result
# We need an absolute path.
case $dir in
[\\/]* | [A-Za-z]:[\\/]*) ;;
;;
esac
case "$deplibs " in
- *" -L$dir "*) ;;
+ *" -L$dir "* | *" $arg "*)
+ # Will only happen for absolute or sysroot arguments
+ ;;
*)
- deplibs="$deplibs -L$dir"
- lib_search_path="$lib_search_path $dir"
+ # Preserve sysroot, but never include relative directories
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;;
+ *) func_append deplibs " -L$dir" ;;
+ esac
+ func_append lib_search_path " $dir"
;;
esac
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
- testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'`
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
case :$dllsearchpath: in
*":$dir:"*) ;;
- *) dllsearchpath="$dllsearchpath:$dir";;
+ ::) dllsearchpath=$dir;;
+ *) func_append dllsearchpath ":$dir";;
esac
case :$dllsearchpath: in
*":$testbindir:"*) ;;
- *) dllsearchpath="$dllsearchpath:$testbindir";;
+ ::) dllsearchpath=$testbindir;;
+ *) func_append dllsearchpath ":$testbindir";;
esac
;;
esac
-l*)
if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*)
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
# These systems don't actually have a C or math library (as such)
continue
;;
;;
*-*-rhapsody* | *-*-darwin1.[012])
# Rhapsody C and math libraries are in the System framework
- deplibs="$deplibs System.ltframework"
+ func_append deplibs " System.ltframework"
continue
;;
*-*-sco3.2v5* | *-*-sco5v6*)
;;
esac
fi
- deplibs="$deplibs $arg"
+ func_append deplibs " $arg"
continue
;;
# Tru64 UNIX uses -model [arg] to determine the layout of C++
# classes, name mangling, and exception handling.
# Darwin uses the -arch flag to determine output architecture.
- -model|-arch|-isysroot)
- compiler_flags="$compiler_flags $arg"
+ -model|-arch|-isysroot|--sysroot)
+ func_append compiler_flags " $arg"
func_append compile_command " $arg"
func_append finalize_command " $arg"
prev=xcompiler
continue
;;
- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
- compiler_flags="$compiler_flags $arg"
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
+ func_append compiler_flags " $arg"
func_append compile_command " $arg"
func_append finalize_command " $arg"
case "$new_inherited_linker_flags " in
*" $arg "*) ;;
- * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;;
+ * ) func_append new_inherited_linker_flags " $arg" ;;
esac
continue
;;
-no-install)
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*)
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
# The PATH hackery in wrapper scripts is required on Windows
# and Darwin in order for the loader to find any dlls it needs.
func_warning "\`-no-install' is ignored for $host"
# We need an absolute path.
case $dir in
[\\/]* | [A-Za-z]:[\\/]*) ;;
+ =*)
+ func_stripname '=' '' "$dir"
+ dir=$lt_sysroot$func_stripname_result
+ ;;
*)
func_fatal_error "only absolute run-paths are allowed"
;;
esac
case "$xrpath " in
*" $dir "*) ;;
- *) xrpath="$xrpath $dir" ;;
+ *) func_append xrpath " $dir" ;;
esac
continue
;;
for flag in $args; do
IFS="$save_ifs"
func_quote_for_eval "$flag"
- arg="$arg $wl$func_quote_for_eval_result"
- compiler_flags="$compiler_flags $func_quote_for_eval_result"
+ func_append arg " $func_quote_for_eval_result"
+ func_append compiler_flags " $func_quote_for_eval_result"
done
IFS="$save_ifs"
func_stripname ' ' '' "$arg"
for flag in $args; do
IFS="$save_ifs"
func_quote_for_eval "$flag"
- arg="$arg $wl$func_quote_for_eval_result"
- compiler_flags="$compiler_flags $wl$func_quote_for_eval_result"
- linker_flags="$linker_flags $func_quote_for_eval_result"
+ func_append arg " $wl$func_quote_for_eval_result"
+ func_append compiler_flags " $wl$func_quote_for_eval_result"
+ func_append linker_flags " $func_quote_for_eval_result"
done
IFS="$save_ifs"
func_stripname ' ' '' "$arg"
arg="$func_quote_for_eval_result"
;;
- # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
- # -r[0-9][0-9]* specifies the processor on the SGI compiler
- # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
- # +DA*, +DD* enable 64-bit mode on the HP compiler
- # -q* pass through compiler args for the IBM compiler
- # -m*, -t[45]*, -txscale* pass through architecture-specific
- # compiler args for GCC
- # -F/path gives path to uninstalled frameworks, gcc on darwin
- # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
- # @file GCC response files
+ # Flags to be passed through unchanged, with rationale:
+ # -64, -mips[0-9] enable 64-bit mode for the SGI compiler
+ # -r[0-9][0-9]* specify processor for the SGI compiler
+ # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler
+ # +DA*, +DD* enable 64-bit mode for the HP compiler
+ # -q* compiler args for the IBM compiler
+ # -m*, -t[45]*, -txscale* architecture-specific flags for GCC
+ # -F/path path to uninstalled frameworks, gcc on darwin
+ # -p, -pg, --coverage, -fprofile-* profiling flags for GCC
+ # @file GCC response files
+ # -tp=* Portland pgcc target processor selection
+ # --sysroot=* for sysroot support
+ # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
- -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
+ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
+ -O*|-flto*|-fwhopr*|-fuse-linker-plugin)
func_quote_for_eval "$arg"
arg="$func_quote_for_eval_result"
func_append compile_command " $arg"
func_append finalize_command " $arg"
- compiler_flags="$compiler_flags $arg"
+ func_append compiler_flags " $arg"
continue
;;
*.$objext)
# A standard object.
- objs="$objs $arg"
+ func_append objs " $arg"
;;
*.lo)
if test "$prev" = dlfiles; then
if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
- dlfiles="$dlfiles $pic_object"
+ func_append dlfiles " $pic_object"
prev=
continue
else
# CHECK ME: I think I busted this. -Ossama
if test "$prev" = dlprefiles; then
# Preload the old-style object.
- dlprefiles="$dlprefiles $pic_object"
+ func_append dlprefiles " $pic_object"
prev=
fi
*.$libext)
# An archive.
- deplibs="$deplibs $arg"
- old_deplibs="$old_deplibs $arg"
+ func_append deplibs " $arg"
+ func_append old_deplibs " $arg"
continue
;;
*.la)
# A libtool-controlled library.
+ func_resolve_sysroot "$arg"
if test "$prev" = dlfiles; then
# This library was specified with -dlopen.
- dlfiles="$dlfiles $arg"
+ func_append dlfiles " $func_resolve_sysroot_result"
prev=
elif test "$prev" = dlprefiles; then
# The library was specified with -dlpreopen.
- dlprefiles="$dlprefiles $arg"
+ func_append dlprefiles " $func_resolve_sysroot_result"
prev=
else
- deplibs="$deplibs $arg"
+ func_append deplibs " $func_resolve_sysroot_result"
fi
continue
;;
if test -n "$shlibpath_var"; then
# get the directories listed in $shlibpath_var
- eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
+ eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\`
else
shlib_search_path=
fi
func_dirname "$output" "/" ""
output_objdir="$func_dirname_result$objdir"
+ func_to_tool_file "$output_objdir/"
+ tool_output_objdir=$func_to_tool_file_result
# Create the object directory.
func_mkdir_p "$output_objdir"
# Find all interdependent deplibs by searching for libraries
# that are linked more than once (e.g. -la -lb -la)
for deplib in $deplibs; do
- if $opt_duplicate_deps ; then
+ if $opt_preserve_dup_deps ; then
case "$libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+ *" $deplib "*) func_append specialdeplibs " $deplib" ;;
esac
fi
- libs="$libs $deplib"
+ func_append libs " $deplib"
done
if test "$linkmode" = lib; then
if $opt_duplicate_compiler_generated_deps; then
for pre_post_dep in $predeps $postdeps; do
case "$pre_post_deps " in
- *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
+ *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;;
esac
- pre_post_deps="$pre_post_deps $pre_post_dep"
+ func_append pre_post_deps " $pre_post_dep"
done
fi
pre_post_deps=
case $pass in
dlopen) libs="$dlfiles" ;;
dlpreopen) libs="$dlprefiles" ;;
- link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
+ link)
+ libs="$deplibs %DEPLIBS%"
+ test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
+ ;;
esac
fi
if test "$linkmode,$pass" = "lib,dlpreopen"; then
for lib in $dlprefiles; do
# Ignore non-libtool-libs
dependency_libs=
+ func_resolve_sysroot "$lib"
case $lib in
- *.la) func_source "$lib" ;;
+ *.la) func_source "$func_resolve_sysroot_result" ;;
esac
# Collect preopened libtool deplibs, except any this library
# has declared as weak libs
for deplib in $dependency_libs; do
- deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"`
+ func_basename "$deplib"
+ deplib_base=$func_basename_result
case " $weak_libs " in
*" $deplib_base "*) ;;
- *) deplibs="$deplibs $deplib" ;;
+ *) func_append deplibs " $deplib" ;;
esac
done
done
lib=
found=no
case $deplib in
- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
if test "$linkmode,$pass" = "prog,link"; then
compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs"
else
- compiler_flags="$compiler_flags $deplib"
+ func_append compiler_flags " $deplib"
if test "$linkmode" = lib ; then
case "$new_inherited_linker_flags " in
*" $deplib "*) ;;
- * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
+ * ) func_append new_inherited_linker_flags " $deplib" ;;
esac
fi
fi
if test "$linkmode" = lib ; then
case "$new_inherited_linker_flags " in
*" $deplib "*) ;;
- * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
+ * ) func_append new_inherited_linker_flags " $deplib" ;;
esac
fi
fi
test "$pass" = conv && continue
newdependency_libs="$deplib $newdependency_libs"
func_stripname '-L' '' "$deplib"
- newlib_search_path="$newlib_search_path $func_stripname_result"
+ func_resolve_sysroot "$func_stripname_result"
+ func_append newlib_search_path " $func_resolve_sysroot_result"
;;
prog)
if test "$pass" = conv; then
finalize_deplibs="$deplib $finalize_deplibs"
fi
func_stripname '-L' '' "$deplib"
- newlib_search_path="$newlib_search_path $func_stripname_result"
+ func_resolve_sysroot "$func_stripname_result"
+ func_append newlib_search_path " $func_resolve_sysroot_result"
;;
*)
func_warning "\`-L' is ignored for archives/objects"
-R*)
if test "$pass" = link; then
func_stripname '-R' '' "$deplib"
- dir=$func_stripname_result
+ func_resolve_sysroot "$func_stripname_result"
+ dir=$func_resolve_sysroot_result
# Make sure the xrpath contains only unique directories.
case "$xrpath " in
*" $dir "*) ;;
- *) xrpath="$xrpath $dir" ;;
+ *) func_append xrpath " $dir" ;;
esac
fi
deplibs="$deplib $deplibs"
continue
;;
- *.la) lib="$deplib" ;;
+ *.la)
+ func_resolve_sysroot "$deplib"
+ lib=$func_resolve_sysroot_result
+ ;;
*.$libext)
if test "$pass" = conv; then
deplibs="$deplib $deplibs"
match_pattern*)
set dummy $deplibs_check_method; shift
match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
- if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \
+ if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
| $EGREP "$match_pattern_regex" > /dev/null; then
valid_a_lib=yes
fi
;;
esac
if test "$valid_a_lib" != yes; then
- $ECHO
+ echo
$ECHO "*** Warning: Trying to link with static lib archive $deplib."
- $ECHO "*** I have the capability to make that library automatically link in when"
- $ECHO "*** you link to this library. But I can only do this if you have a"
- $ECHO "*** shared version of the library, which you do not appear to have"
- $ECHO "*** because the file extensions .$libext of this argument makes me believe"
- $ECHO "*** that it is just a static archive that I should not use here."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because the file extensions .$libext of this argument makes me believe"
+ echo "*** that it is just a static archive that I should not use here."
else
- $ECHO
+ echo
$ECHO "*** Warning: Linking the shared library $output against the"
$ECHO "*** static library $deplib is not portable!"
deplibs="$deplib $deplibs"
if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
# If there is no dlopen support or we're linking statically,
# we need to preload.
- newdlprefiles="$newdlprefiles $deplib"
+ func_append newdlprefiles " $deplib"
compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs"
else
- newdlfiles="$newdlfiles $deplib"
+ func_append newdlfiles " $deplib"
fi
fi
continue
# Convert "-framework foo" to "foo.ltframework"
if test -n "$inherited_linker_flags"; then
- tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'`
+ tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'`
for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
case " $new_inherited_linker_flags " in
*" $tmp_inherited_linker_flag "*) ;;
- *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";;
+ *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";;
esac
done
fi
- dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
if test "$linkmode,$pass" = "lib,link" ||
test "$linkmode,$pass" = "prog,scan" ||
{ test "$linkmode" != prog && test "$linkmode" != lib; }; then
- test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
- test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
+ test -n "$dlopen" && func_append dlfiles " $dlopen"
+ test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
fi
if test "$pass" = conv; then
func_fatal_error "cannot find name of link library for \`$lib'"
fi
# It is a libtool convenience library, so add in its objects.
- convenience="$convenience $ladir/$objdir/$old_library"
- old_convenience="$old_convenience $ladir/$objdir/$old_library"
+ func_append convenience " $ladir/$objdir/$old_library"
+ func_append old_convenience " $ladir/$objdir/$old_library"
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ deplibs="$deplib $deplibs"
+ if $opt_preserve_dup_deps ; then
+ case "$tmp_libs " in
+ *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+ esac
+ fi
+ func_append tmp_libs " $deplib"
+ done
elif test "$linkmode" != prog && test "$linkmode" != lib; then
func_fatal_error "\`$lib' is not a convenience library"
fi
- tmp_libs=
- for deplib in $dependency_libs; do
- deplibs="$deplib $deplibs"
- if $opt_duplicate_deps ; then
- case "$tmp_libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
- esac
- fi
- tmp_libs="$tmp_libs $deplib"
- done
continue
fi # $pass = conv
# Get the name of the library we link against.
linklib=
- for l in $old_library $library_names; do
- linklib="$l"
- done
+ if test -n "$old_library" &&
+ { test "$prefer_static_libs" = yes ||
+ test "$prefer_static_libs,$installed" = "built,no"; }; then
+ linklib=$old_library
+ else
+ for l in $old_library $library_names; do
+ linklib="$l"
+ done
+ fi
if test -z "$linklib"; then
func_fatal_error "cannot find name of link library for \`$lib'"
fi
# statically, we need to preload. We also need to preload any
# dependent libraries so libltdl's deplib preloader doesn't
# bomb out in the load deplibs phase.
- dlprefiles="$dlprefiles $lib $dependency_libs"
+ func_append dlprefiles " $lib $dependency_libs"
else
- newdlfiles="$newdlfiles $lib"
+ func_append newdlfiles " $lib"
fi
continue
fi # $pass = dlopen
# Find the relevant object directory and library name.
if test "X$installed" = Xyes; then
- if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+ if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
func_warning "library \`$lib' was moved."
dir="$ladir"
absdir="$abs_ladir"
libdir="$abs_ladir"
else
- dir="$libdir"
- absdir="$libdir"
+ dir="$lt_sysroot$libdir"
+ absdir="$lt_sysroot$libdir"
fi
test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
else
dir="$ladir"
absdir="$abs_ladir"
# Remove this search path later
- notinst_path="$notinst_path $abs_ladir"
+ func_append notinst_path " $abs_ladir"
else
dir="$ladir/$objdir"
absdir="$abs_ladir/$objdir"
# Remove this search path later
- notinst_path="$notinst_path $abs_ladir"
+ func_append notinst_path " $abs_ladir"
fi
fi # $installed = yes
func_stripname 'lib' '.la' "$laname"
if test -z "$libdir" && test "$linkmode" = prog; then
func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
fi
- # Prefer using a static library (so that no silly _DYNAMIC symbols
- # are required to link).
- if test -n "$old_library"; then
- newdlprefiles="$newdlprefiles $dir/$old_library"
- # Keep a list of preopened convenience libraries to check
- # that they are being used correctly in the link pass.
- test -z "$libdir" && \
- dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library"
- # Otherwise, use the dlname, so that lt_dlopen finds it.
- elif test -n "$dlname"; then
- newdlprefiles="$newdlprefiles $dir/$dlname"
- else
- newdlprefiles="$newdlprefiles $dir/$linklib"
- fi
+ case "$host" in
+ # special handling for platforms with PE-DLLs.
+ *cygwin* | *mingw* | *cegcc* )
+ # Linker will automatically link against shared library if both
+ # static and shared are present. Therefore, ensure we extract
+ # symbols from the import library if a shared library is present
+ # (otherwise, the dlopen module name will be incorrect). We do
+ # this by putting the import library name into $newdlprefiles.
+ # We recover the dlopen module name by 'saving' the la file
+ # name in a special purpose variable, and (later) extracting the
+ # dlname from the la file.
+ if test -n "$dlname"; then
+ func_tr_sh "$dir/$linklib"
+ eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname"
+ func_append newdlprefiles " $dir/$linklib"
+ else
+ func_append newdlprefiles " $dir/$old_library"
+ # Keep a list of preopened convenience libraries to check
+ # that they are being used correctly in the link pass.
+ test -z "$libdir" && \
+ func_append dlpreconveniencelibs " $dir/$old_library"
+ fi
+ ;;
+ * )
+ # Prefer using a static library (so that no silly _DYNAMIC symbols
+ # are required to link).
+ if test -n "$old_library"; then
+ func_append newdlprefiles " $dir/$old_library"
+ # Keep a list of preopened convenience libraries to check
+ # that they are being used correctly in the link pass.
+ test -z "$libdir" && \
+ func_append dlpreconveniencelibs " $dir/$old_library"
+ # Otherwise, use the dlname, so that lt_dlopen finds it.
+ elif test -n "$dlname"; then
+ func_append newdlprefiles " $dir/$dlname"
+ else
+ func_append newdlprefiles " $dir/$linklib"
+ fi
+ ;;
+ esac
fi # $pass = dlpreopen
if test -z "$libdir"; then
if test "$linkmode" = prog && test "$pass" != link; then
- newlib_search_path="$newlib_search_path $ladir"
+ func_append newlib_search_path " $ladir"
deplibs="$lib $deplibs"
linkalldeplibs=no
for deplib in $dependency_libs; do
case $deplib in
-L*) func_stripname '-L' '' "$deplib"
- newlib_search_path="$newlib_search_path $func_stripname_result"
+ func_resolve_sysroot "$func_stripname_result"
+ func_append newlib_search_path " $func_resolve_sysroot_result"
;;
esac
# Need to link against all dependency_libs?
# or/and link against static libraries
newdependency_libs="$deplib $newdependency_libs"
fi
- if $opt_duplicate_deps ; then
+ if $opt_preserve_dup_deps ; then
case "$tmp_libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+ *" $deplib "*) func_append specialdeplibs " $deplib" ;;
esac
fi
- tmp_libs="$tmp_libs $deplib"
+ func_append tmp_libs " $deplib"
done # for deplib
continue
fi # $linkmode = prog...
# Make sure the rpath contains only unique directories.
case "$temp_rpath:" in
*"$absdir:"*) ;;
- *) temp_rpath="$temp_rpath$absdir:" ;;
+ *) func_append temp_rpath "$absdir:" ;;
esac
fi
*)
case "$compile_rpath " in
*" $absdir "*) ;;
- *) compile_rpath="$compile_rpath $absdir"
+ *) func_append compile_rpath " $absdir" ;;
esac
;;
esac
*)
case "$finalize_rpath " in
*" $libdir "*) ;;
- *) finalize_rpath="$finalize_rpath $libdir"
+ *) func_append finalize_rpath " $libdir" ;;
esac
;;
esac
if test -n "$library_names" &&
{ test "$use_static_libs" = no || test -z "$old_library"; }; then
case $host in
- *cygwin* | *mingw*)
+ *cygwin* | *mingw* | *cegcc*)
# No point in relinking DLLs because paths are not encoded
- notinst_deplibs="$notinst_deplibs $lib"
+ func_append notinst_deplibs " $lib"
need_relink=no
;;
*)
if test "$installed" = no; then
- notinst_deplibs="$notinst_deplibs $lib"
+ func_append notinst_deplibs " $lib"
need_relink=yes
fi
;;
fi
done
if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
- $ECHO
+ echo
if test "$linkmode" = prog; then
$ECHO "*** Warning: Linking the executable $output against the loadable module"
else
*)
case "$compile_rpath " in
*" $absdir "*) ;;
- *) compile_rpath="$compile_rpath $absdir"
+ *) func_append compile_rpath " $absdir" ;;
esac
;;
esac
*)
case "$finalize_rpath " in
*" $libdir "*) ;;
- *) finalize_rpath="$finalize_rpath $libdir"
+ *) func_append finalize_rpath " $libdir" ;;
esac
;;
esac
elif test -n "$soname_spec"; then
# bleh windows
case $host in
- *cygwin* | mingw*)
- major=`expr $current - $age`
+ *cygwin* | mingw* | *cegcc*)
+ func_arith $current - $age
+ major=$func_arith_result
versuffix="-$major"
;;
esac
linklib=$newlib
fi # test -n "$old_archive_from_expsyms_cmds"
- if test "$linkmode" = prog || test "$mode" != relink; then
+ if test "$linkmode" = prog || test "$opt_mode" != relink; then
add_shlibpath=
add_dir=
add=
if test "X$dlopenmodule" != "X$lib"; then
$ECHO "*** Warning: lib $linklib is a module, not a shared library"
if test -z "$old_library" ; then
- $ECHO
- $ECHO "*** And there doesn't seem to be a static archive available"
- $ECHO "*** The link will probably fail, sorry"
+ echo
+ echo "*** And there doesn't seem to be a static archive available"
+ echo "*** The link will probably fail, sorry"
else
add="$dir/$old_library"
fi
test "$hardcode_direct_absolute" = no; then
add="$dir/$linklib"
elif test "$hardcode_minus_L" = yes; then
- add_dir="-L$dir"
+ add_dir="-L$absdir"
# Try looking first in the location we're being installed to.
if test -n "$inst_prefix_dir"; then
case $libdir in
[\\/]*)
- add_dir="$add_dir -L$inst_prefix_dir$libdir"
+ func_append add_dir " -L$inst_prefix_dir$libdir"
;;
esac
fi
if test -n "$add_shlibpath"; then
case :$compile_shlibpath: in
*":$add_shlibpath:"*) ;;
- *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
+ *) func_append compile_shlibpath "$add_shlibpath:" ;;
esac
fi
if test "$linkmode" = prog; then
test "$hardcode_shlibpath_var" = yes; then
case :$finalize_shlibpath: in
*":$libdir:"*) ;;
- *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+ *) func_append finalize_shlibpath "$libdir:" ;;
esac
fi
fi
fi
- if test "$linkmode" = prog || test "$mode" = relink; then
+ if test "$linkmode" = prog || test "$opt_mode" = relink; then
add_shlibpath=
add_dir=
add=
elif test "$hardcode_shlibpath_var" = yes; then
case :$finalize_shlibpath: in
*":$libdir:"*) ;;
- *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+ *) func_append finalize_shlibpath "$libdir:" ;;
esac
add="-l$name"
elif test "$hardcode_automatic" = yes; then
if test -n "$inst_prefix_dir"; then
case $libdir in
[\\/]*)
- add_dir="$add_dir -L$inst_prefix_dir$libdir"
+ func_append add_dir " -L$inst_prefix_dir$libdir"
;;
esac
fi
# Just print a warning and add the library to dependency_libs so
# that the program can be linked against the static library.
- $ECHO
+ echo
$ECHO "*** Warning: This system can not link to static lib archive $lib."
- $ECHO "*** I have the capability to make that library automatically link in when"
- $ECHO "*** you link to this library. But I can only do this if you have a"
- $ECHO "*** shared version of the library, which you do not appear to have."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have."
if test "$module" = yes; then
- $ECHO "*** But as you try to build a module library, libtool will still create "
- $ECHO "*** a static module, that should work as long as the dlopening application"
- $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime."
+ echo "*** But as you try to build a module library, libtool will still create "
+ echo "*** a static module, that should work as long as the dlopening application"
+ echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
if test -z "$global_symbol_pipe"; then
- $ECHO
- $ECHO "*** However, this would only work if libtool was able to extract symbol"
- $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
- $ECHO "*** not find such a program. So, this module is probably useless."
- $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
+ echo
+ echo "*** However, this would only work if libtool was able to extract symbol"
+ echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+ echo "*** not find such a program. So, this module is probably useless."
+ echo "*** \`nm' from GNU binutils and a full rebuild may help."
fi
if test "$build_old_libs" = no; then
build_libtool_libs=module
temp_xrpath=$func_stripname_result
case " $xrpath " in
*" $temp_xrpath "*) ;;
- *) xrpath="$xrpath $temp_xrpath";;
+ *) func_append xrpath " $temp_xrpath";;
esac;;
- *) temp_deplibs="$temp_deplibs $libdir";;
+ *) func_append temp_deplibs " $libdir";;
esac
done
dependency_libs="$temp_deplibs"
fi
- newlib_search_path="$newlib_search_path $absdir"
+ func_append newlib_search_path " $absdir"
# Link against this library
test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
# ... and its dependency_libs
tmp_libs=
for deplib in $dependency_libs; do
newdependency_libs="$deplib $newdependency_libs"
- if $opt_duplicate_deps ; then
+ case $deplib in
+ -L*) func_stripname '-L' '' "$deplib"
+ func_resolve_sysroot "$func_stripname_result";;
+ *) func_resolve_sysroot "$deplib" ;;
+ esac
+ if $opt_preserve_dup_deps ; then
case "$tmp_libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+ *" $func_resolve_sysroot_result "*)
+ func_append specialdeplibs " $func_resolve_sysroot_result" ;;
esac
fi
- tmp_libs="$tmp_libs $deplib"
+ func_append tmp_libs " $func_resolve_sysroot_result"
done
if test "$link_all_deplibs" != no; then
# Add the search paths of all dependency libraries
for deplib in $dependency_libs; do
+ path=
case $deplib in
-L*) path="$deplib" ;;
*.la)
+ func_resolve_sysroot "$deplib"
+ deplib=$func_resolve_sysroot_result
func_dirname "$deplib" "" "."
- dir="$func_dirname_result"
+ dir=$func_dirname_result
# We need an absolute path.
case $dir in
[\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
done
if test -f "$absdir/$objdir/$depdepl" ; then
depdepl="$absdir/$objdir/$depdepl"
- darwin_install_name=`otool -L $depdepl | $SED -n -e '3q;2,2p' | $SED -e 's/(.*//'`
- darwin_install_name=`$ECHO $darwin_install_name`
+ darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
if test -z "$darwin_install_name"; then
- darwin_install_name=`otool64 -L $depdepl | $SED -n -e '3q;2,2p' | $SED -e 's/(.*//'`
- darwin_install_name=`$ECHO $darwin_install_name`
+ darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
fi
- compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
- linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}"
+ func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
+ func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}"
path=
fi
fi
compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
else
- compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
fi
fi
dependency_libs="$newdependency_libs"
for dir in $newlib_search_path; do
case "$lib_search_path " in
*" $dir "*) ;;
- *) lib_search_path="$lib_search_path $dir" ;;
+ *) func_append lib_search_path " $dir" ;;
esac
done
newlib_search_path=
-L*)
case " $tmp_libs " in
*" $deplib "*) ;;
- *) tmp_libs="$tmp_libs $deplib" ;;
+ *) func_append tmp_libs " $deplib" ;;
esac
;;
- *) tmp_libs="$tmp_libs $deplib" ;;
+ *) func_append tmp_libs " $deplib" ;;
esac
done
eval $var=\"$tmp_libs\"
;;
esac
if test -n "$i" ; then
- tmp_libs="$tmp_libs $i"
+ func_append tmp_libs " $i"
fi
done
dependency_libs=$tmp_libs
# Now set the variables for building old libraries.
build_libtool_libs=no
oldlibs="$output"
- objs="$objs$old_deplibs"
+ func_append objs "$old_deplibs"
;;
lib)
if test "$deplibs_check_method" != pass_all; then
func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
else
- $ECHO
+ echo
$ECHO "*** Warning: Linking the shared library $output against the non-libtool"
$ECHO "*** objects $objs is not portable!"
- libobjs="$libobjs $objs"
+ func_append libobjs " $objs"
fi
fi
# which has an extra 1 added just for fun
#
case $version_type in
+ # correct linux to gnu/linux during the next big refactor
darwin|linux|osf|windows|none)
- current=`expr $number_major + $number_minor`
+ func_arith $number_major + $number_minor
+ current=$func_arith_result
age="$number_minor"
revision="$number_revision"
;;
- freebsd-aout|freebsd-elf|sunos)
+ freebsd-aout|freebsd-elf|qnx|sunos)
current="$number_major"
revision="$number_minor"
age="0"
;;
irix|nonstopux)
- current=`expr $number_major + $number_minor`
+ func_arith $number_major + $number_minor
+ current=$func_arith_result
age="$number_minor"
revision="$number_minor"
lt_irix_increment=no
;;
+ *)
+ func_fatal_configuration "$modename: unknown library version type \`$version_type'"
+ ;;
esac
;;
no)
darwin)
# Like Linux, but with the current version available in
# verstring for coding it into the library header
- major=.`expr $current - $age`
+ func_arith $current - $age
+ major=.$func_arith_result
versuffix="$major.$age.$revision"
# Darwin ld doesn't like 0 for these options...
- minor_current=`expr $current + 1`
+ func_arith $current + 1
+ minor_current=$func_arith_result
xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
;;
irix | nonstopux)
if test "X$lt_irix_increment" = "Xno"; then
- major=`expr $current - $age`
+ func_arith $current - $age
else
- major=`expr $current - $age + 1`
+ func_arith $current - $age + 1
fi
+ major=$func_arith_result
case $version_type in
nonstopux) verstring_prefix=nonstopux ;;
# Add in all the interfaces that we are compatible with.
loop=$revision
while test "$loop" -ne 0; do
- iface=`expr $revision - $loop`
- loop=`expr $loop - 1`
+ func_arith $revision - $loop
+ iface=$func_arith_result
+ func_arith $loop - 1
+ loop=$func_arith_result
verstring="$verstring_prefix$major.$iface:$verstring"
done
versuffix="$major.$revision"
;;
- linux)
- major=.`expr $current - $age`
+ linux) # correct to gnu/linux during the next big refactor
+ func_arith $current - $age
+ major=.$func_arith_result
versuffix="$major.$age.$revision"
;;
osf)
- major=.`expr $current - $age`
+ func_arith $current - $age
+ major=.$func_arith_result
versuffix=".$current.$age.$revision"
verstring="$current.$age.$revision"
# Add in all the interfaces that we are compatible with.
loop=$age
while test "$loop" -ne 0; do
- iface=`expr $current - $loop`
- loop=`expr $loop - 1`
+ func_arith $current - $loop
+ iface=$func_arith_result
+ func_arith $loop - 1
+ loop=$func_arith_result
verstring="$verstring:${iface}.0"
done
# Make executables depend on our current version.
- verstring="$verstring:${current}.0"
+ func_append verstring ":${current}.0"
;;
qnx)
windows)
# Use '-' rather than '.', since we only want one
# extension on DOS 8.3 filesystems.
- major=`expr $current - $age`
+ func_arith $current - $age
+ major=$func_arith_result
versuffix="-$major"
;;
fi
func_generate_dlsyms "$libname" "$libname" "yes"
- libobjs="$libobjs $symfileobj"
+ func_append libobjs " $symfileobj"
test "X$libobjs" = "X " && libobjs=
- if test "$mode" != relink; then
+ if test "$opt_mode" != relink; then
# Remove our outputs, but don't remove object files since they
# may have been created when compiling PIC objects.
removelist=
tempremovelist=`$ECHO "$output_objdir/*"`
for p in $tempremovelist; do
case $p in
- *.$objext)
+ *.$objext | *.gcno)
;;
$output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
if test "X$precious_files_regex" != "X"; then
continue
fi
fi
- removelist="$removelist $p"
+ func_append removelist " $p"
;;
*) ;;
esac
# Now set the variables for building old libraries.
if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
- oldlibs="$oldlibs $output_objdir/$libname.$libext"
+ func_append oldlibs " $output_objdir/$libname.$libext"
# Transform .lo files to .o files.
- oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
+ oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP`
fi
# Eliminate all temporary directories.
#for path in $notinst_path; do
- # lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"`
- # deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"`
- # dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"`
+ # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"`
+ # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"`
+ # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"`
#done
if test -n "$xrpath"; then
# If the user specified any rpath flags, then add them.
temp_xrpath=
for libdir in $xrpath; do
- temp_xrpath="$temp_xrpath -R$libdir"
+ func_replace_sysroot "$libdir"
+ func_append temp_xrpath " -R$func_replace_sysroot_result"
case "$finalize_rpath " in
*" $libdir "*) ;;
- *) finalize_rpath="$finalize_rpath $libdir" ;;
+ *) func_append finalize_rpath " $libdir" ;;
esac
done
if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
for lib in $old_dlfiles; do
case " $dlprefiles $dlfiles " in
*" $lib "*) ;;
- *) dlfiles="$dlfiles $lib" ;;
+ *) func_append dlfiles " $lib" ;;
esac
done
for lib in $old_dlprefiles; do
case "$dlprefiles " in
*" $lib "*) ;;
- *) dlprefiles="$dlprefiles $lib" ;;
+ *) func_append dlprefiles " $lib" ;;
esac
done
if test "$build_libtool_libs" = yes; then
if test -n "$rpath"; then
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
# these systems don't actually have a c library (as such)!
;;
*-*-rhapsody* | *-*-darwin1.[012])
# Rhapsody C library is in the System framework
- deplibs="$deplibs System.ltframework"
+ func_append deplibs " System.ltframework"
;;
*-*-netbsd*)
# Don't link with libc until the a.out ld.so is fixed.
*)
# Add libc to deplibs on all other systems if necessary.
if test "$build_libtool_need_lc" = "yes"; then
- deplibs="$deplibs -lc"
+ func_append deplibs " -lc"
fi
;;
esac
if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
ldd_output=`ldd conftest`
for i in $deplibs; do
- name=`expr $i : '-l\(.*\)'`
- # If $name is empty we are operating on a -L argument.
- if test "$name" != "" && test "$name" != "0"; then
+ case $i in
+ -l*)
+ func_stripname -l '' "$i"
+ name=$func_stripname_result
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
case " $predeps $postdeps " in
*" $i "*)
- newdeplibs="$newdeplibs $i"
+ func_append newdeplibs " $i"
i=""
;;
esac
set dummy $deplib_matches; shift
deplib_match=$1
if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
- newdeplibs="$newdeplibs $i"
+ func_append newdeplibs " $i"
else
droppeddeps=yes
- $ECHO
+ echo
$ECHO "*** Warning: dynamic linker does not accept needed library $i."
- $ECHO "*** I have the capability to make that library automatically link in when"
- $ECHO "*** you link to this library. But I can only do this if you have a"
- $ECHO "*** shared version of the library, which I believe you do not have"
- $ECHO "*** because a test_compile did reveal that the linker did not use it for"
- $ECHO "*** its dynamic dependency list that programs get resolved with at runtime."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which I believe you do not have"
+ echo "*** because a test_compile did reveal that the linker did not use it for"
+ echo "*** its dynamic dependency list that programs get resolved with at runtime."
fi
fi
- else
- newdeplibs="$newdeplibs $i"
- fi
+ ;;
+ *)
+ func_append newdeplibs " $i"
+ ;;
+ esac
done
else
# Error occurred in the first compile. Let's try to salvage
# the situation: Compile a separate program for each library.
for i in $deplibs; do
- name=`expr $i : '-l\(.*\)'`
- # If $name is empty we are operating on a -L argument.
- if test "$name" != "" && test "$name" != "0"; then
+ case $i in
+ -l*)
+ func_stripname -l '' "$i"
+ name=$func_stripname_result
$opt_dry_run || $RM conftest
if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
ldd_output=`ldd conftest`
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
case " $predeps $postdeps " in
*" $i "*)
- newdeplibs="$newdeplibs $i"
+ func_append newdeplibs " $i"
i=""
;;
esac
set dummy $deplib_matches; shift
deplib_match=$1
if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
- newdeplibs="$newdeplibs $i"
+ func_append newdeplibs " $i"
else
droppeddeps=yes
- $ECHO
+ echo
$ECHO "*** Warning: dynamic linker does not accept needed library $i."
- $ECHO "*** I have the capability to make that library automatically link in when"
- $ECHO "*** you link to this library. But I can only do this if you have a"
- $ECHO "*** shared version of the library, which you do not appear to have"
- $ECHO "*** because a test_compile did reveal that the linker did not use this one"
- $ECHO "*** as a dynamic dependency that programs can get resolved with at runtime."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because a test_compile did reveal that the linker did not use this one"
+ echo "*** as a dynamic dependency that programs can get resolved with at runtime."
fi
fi
else
droppeddeps=yes
- $ECHO
+ echo
$ECHO "*** Warning! Library $i is needed by this library but I was not able to"
- $ECHO "*** make it link in! You will probably need to install it or some"
- $ECHO "*** library that it depends on before this library will be fully"
- $ECHO "*** functional. Installing it before continuing would be even better."
+ echo "*** make it link in! You will probably need to install it or some"
+ echo "*** library that it depends on before this library will be fully"
+ echo "*** functional. Installing it before continuing would be even better."
fi
- else
- newdeplibs="$newdeplibs $i"
- fi
+ ;;
+ *)
+ func_append newdeplibs " $i"
+ ;;
+ esac
done
fi
;;
set dummy $deplibs_check_method; shift
file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
for a_deplib in $deplibs; do
- name=`expr $a_deplib : '-l\(.*\)'`
- # If $name is empty we are operating on a -L argument.
- if test "$name" != "" && test "$name" != "0"; then
+ case $a_deplib in
+ -l*)
+ func_stripname -l '' "$a_deplib"
+ name=$func_stripname_result
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
case " $predeps $postdeps " in
*" $a_deplib "*)
- newdeplibs="$newdeplibs $a_deplib"
+ func_append newdeplibs " $a_deplib"
a_deplib=""
;;
esac
fi
if test -n "$a_deplib" ; then
libname=`eval "\\$ECHO \"$libname_spec\""`
+ if test -n "$file_magic_glob"; then
+ libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob`
+ else
+ libnameglob=$libname
+ fi
+ test "$want_nocaseglob" = yes && nocaseglob=`shopt -p nocaseglob`
for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
- potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+ if test "$want_nocaseglob" = yes; then
+ shopt -s nocaseglob
+ potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
+ $nocaseglob
+ else
+ potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
+ fi
for potent_lib in $potential_libs; do
# Follow soft links.
if ls -lLd "$potent_lib" 2>/dev/null |
potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
case $potliblink in
[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
- *) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
+ *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";;
esac
done
if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
$SED -e 10q |
$EGREP "$file_magic_regex" > /dev/null; then
- newdeplibs="$newdeplibs $a_deplib"
+ func_append newdeplibs " $a_deplib"
a_deplib=""
break 2
fi
fi
if test -n "$a_deplib" ; then
droppeddeps=yes
- $ECHO
+ echo
$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
- $ECHO "*** I have the capability to make that library automatically link in when"
- $ECHO "*** you link to this library. But I can only do this if you have a"
- $ECHO "*** shared version of the library, which you do not appear to have"
- $ECHO "*** because I did check the linker path looking for a file starting"
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because I did check the linker path looking for a file starting"
if test -z "$potlib" ; then
$ECHO "*** with $libname but no candidates were found. (...for file magic test)"
else
$ECHO "*** using a file magic. Last file checked: $potlib"
fi
fi
- else
+ ;;
+ *)
# Add a -L argument.
- newdeplibs="$newdeplibs $a_deplib"
- fi
+ func_append newdeplibs " $a_deplib"
+ ;;
+ esac
done # Gone through all deplibs.
;;
match_pattern*)
set dummy $deplibs_check_method; shift
match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
for a_deplib in $deplibs; do
- name=`expr $a_deplib : '-l\(.*\)'`
- # If $name is empty we are operating on a -L argument.
- if test -n "$name" && test "$name" != "0"; then
+ case $a_deplib in
+ -l*)
+ func_stripname -l '' "$a_deplib"
+ name=$func_stripname_result
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
case " $predeps $postdeps " in
*" $a_deplib "*)
- newdeplibs="$newdeplibs $a_deplib"
+ func_append newdeplibs " $a_deplib"
a_deplib=""
;;
esac
potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
for potent_lib in $potential_libs; do
potlib="$potent_lib" # see symlink-check above in file_magic test
- if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \
+ if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
$EGREP "$match_pattern_regex" > /dev/null; then
- newdeplibs="$newdeplibs $a_deplib"
+ func_append newdeplibs " $a_deplib"
a_deplib=""
break 2
fi
fi
if test -n "$a_deplib" ; then
droppeddeps=yes
- $ECHO
+ echo
$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
- $ECHO "*** I have the capability to make that library automatically link in when"
- $ECHO "*** you link to this library. But I can only do this if you have a"
- $ECHO "*** shared version of the library, which you do not appear to have"
- $ECHO "*** because I did check the linker path looking for a file starting"
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because I did check the linker path looking for a file starting"
if test -z "$potlib" ; then
$ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
else
$ECHO "*** using a regex pattern. Last file checked: $potlib"
fi
fi
- else
+ ;;
+ *)
# Add a -L argument.
- newdeplibs="$newdeplibs $a_deplib"
- fi
+ func_append newdeplibs " $a_deplib"
+ ;;
+ esac
done # Gone through all deplibs.
;;
none | unknown | *)
newdeplibs=""
- tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \
- -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'`
+ tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
for i in $predeps $postdeps ; do
# can't use Xsed below, because $i might contain '/'
- tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"`
+ tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"`
done
fi
- if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' |
- $GREP . >/dev/null; then
- $ECHO
+ case $tmp_deplibs in
+ *[!\ \ ]*)
+ echo
if test "X$deplibs_check_method" = "Xnone"; then
- $ECHO "*** Warning: inter-library dependencies are not supported in this platform."
+ echo "*** Warning: inter-library dependencies are not supported in this platform."
else
- $ECHO "*** Warning: inter-library dependencies are not known to be supported."
+ echo "*** Warning: inter-library dependencies are not known to be supported."
fi
- $ECHO "*** All declared inter-library dependencies are being dropped."
+ echo "*** All declared inter-library dependencies are being dropped."
droppeddeps=yes
- fi
+ ;;
+ esac
;;
esac
versuffix=$versuffix_save
case $host in
*-*-rhapsody* | *-*-darwin1.[012])
# On Rhapsody replace the C library with the System framework
- newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+ newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'`
;;
esac
if test "$droppeddeps" = yes; then
if test "$module" = yes; then
- $ECHO
- $ECHO "*** Warning: libtool could not satisfy all declared inter-library"
+ echo
+ echo "*** Warning: libtool could not satisfy all declared inter-library"
$ECHO "*** dependencies of module $libname. Therefore, libtool will create"
- $ECHO "*** a static module, that should work as long as the dlopening"
- $ECHO "*** application is linked with the -dlopen flag."
+ echo "*** a static module, that should work as long as the dlopening"
+ echo "*** application is linked with the -dlopen flag."
if test -z "$global_symbol_pipe"; then
- $ECHO
- $ECHO "*** However, this would only work if libtool was able to extract symbol"
- $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
- $ECHO "*** not find such a program. So, this module is probably useless."
- $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
+ echo
+ echo "*** However, this would only work if libtool was able to extract symbol"
+ echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+ echo "*** not find such a program. So, this module is probably useless."
+ echo "*** \`nm' from GNU binutils and a full rebuild may help."
fi
if test "$build_old_libs" = no; then
oldlibs="$output_objdir/$libname.$libext"
build_libtool_libs=no
fi
else
- $ECHO "*** The inter-library dependencies that have been dropped here will be"
- $ECHO "*** automatically added whenever a program is linked with this library"
- $ECHO "*** or is declared to -dlopen it."
+ echo "*** The inter-library dependencies that have been dropped here will be"
+ echo "*** automatically added whenever a program is linked with this library"
+ echo "*** or is declared to -dlopen it."
if test "$allow_undefined" = no; then
- $ECHO
- $ECHO "*** Since this library must not contain undefined symbols,"
- $ECHO "*** because either the platform does not support them or"
- $ECHO "*** it was explicitly requested with -no-undefined,"
- $ECHO "*** libtool will only create a static version of it."
+ echo
+ echo "*** Since this library must not contain undefined symbols,"
+ echo "*** because either the platform does not support them or"
+ echo "*** it was explicitly requested with -no-undefined,"
+ echo "*** libtool will only create a static version of it."
if test "$build_old_libs" = no; then
oldlibs="$output_objdir/$libname.$libext"
build_libtool_libs=module
# Time to change all our "foo.ltframework" stuff back to "-framework foo"
case $host in
*-*-darwin*)
- newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
- new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
- deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
;;
esac
*)
case " $deplibs " in
*" -L$path/$objdir "*)
- new_libs="$new_libs -L$path/$objdir" ;;
+ func_append new_libs " -L$path/$objdir" ;;
esac
;;
esac
-L*)
case " $new_libs " in
*" $deplib "*) ;;
- *) new_libs="$new_libs $deplib" ;;
+ *) func_append new_libs " $deplib" ;;
esac
;;
- *) new_libs="$new_libs $deplib" ;;
+ *) func_append new_libs " $deplib" ;;
esac
done
deplibs="$new_libs"
# Test again, we may have decided not to build it any more
if test "$build_libtool_libs" = yes; then
+ # Remove ${wl} instances when linking with ld.
+ # FIXME: should test the right _cmds variable.
+ case $archive_cmds in
+ *\$LD\ *) wl= ;;
+ esac
if test "$hardcode_into_libs" = yes; then
# Hardcode the library paths
hardcode_libdirs=
dep_rpath=
rpath="$finalize_rpath"
- test "$mode" != relink && rpath="$compile_rpath$rpath"
+ test "$opt_mode" != relink && rpath="$compile_rpath$rpath"
for libdir in $rpath; do
if test -n "$hardcode_libdir_flag_spec"; then
if test -n "$hardcode_libdir_separator"; then
+ func_replace_sysroot "$libdir"
+ libdir=$func_replace_sysroot_result
if test -z "$hardcode_libdirs"; then
hardcode_libdirs="$libdir"
else
*"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
;;
*)
- hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+ func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
;;
esac
fi
else
eval flag=\"$hardcode_libdir_flag_spec\"
- dep_rpath="$dep_rpath $flag"
+ func_append dep_rpath " $flag"
fi
elif test -n "$runpath_var"; then
case "$perm_rpath " in
*" $libdir "*) ;;
- *) perm_rpath="$perm_rpath $libdir" ;;
+ *) func_append perm_rpath " $libdir" ;;
esac
fi
done
if test -n "$hardcode_libdir_separator" &&
test -n "$hardcode_libdirs"; then
libdir="$hardcode_libdirs"
- if test -n "$hardcode_libdir_flag_spec_ld"; then
- eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
- else
- eval dep_rpath=\"$hardcode_libdir_flag_spec\"
- fi
+ eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
fi
if test -n "$runpath_var" && test -n "$perm_rpath"; then
# We should set the runpath_var.
rpath=
for dir in $perm_rpath; do
- rpath="$rpath$dir:"
+ func_append rpath "$dir:"
done
eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
fi
fi
shlibpath="$finalize_shlibpath"
- test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
+ test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
if test -n "$shlibpath"; then
eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
fi
linknames=
for link
do
- linknames="$linknames $link"
+ func_append linknames " $link"
done
# Use standard objects if they are pic
- test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP`
test "X$libobjs" = "X " && libobjs=
delfiles=
if test -n "$export_symbols" && test -n "$include_expsyms"; then
$opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
export_symbols="$output_objdir/$libname.uexp"
- delfiles="$delfiles $export_symbols"
+ func_append delfiles " $export_symbols"
fi
orig_export_symbols=
case $host_os in
- cygwin* | mingw*)
+ cygwin* | mingw* | cegcc*)
if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
# exporting using user supplied symfile
if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
$opt_dry_run || $RM $export_symbols
cmds=$export_symbols_cmds
save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
+ for cmd1 in $cmds; do
IFS="$save_ifs"
- eval cmd=\"$cmd\"
- if len=`expr "X$cmd" : ".*"` &&
- test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ # Take the normal branch if the nm_file_list_spec branch
+ # doesn't work or if tool conversion is not needed.
+ case $nm_file_list_spec~$to_tool_file_cmd in
+ *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*)
+ try_normal_branch=yes
+ eval cmd=\"$cmd1\"
+ func_len " $cmd"
+ len=$func_len_result
+ ;;
+ *)
+ try_normal_branch=no
+ ;;
+ esac
+ if test "$try_normal_branch" = yes \
+ && { test "$len" -lt "$max_cmd_len" \
+ || test "$max_cmd_len" -le -1; }
+ then
func_show_eval "$cmd" 'exit $?'
skipped_export=false
+ elif test -n "$nm_file_list_spec"; then
+ func_basename "$output"
+ output_la=$func_basename_result
+ save_libobjs=$libobjs
+ save_output=$output
+ output=${output_objdir}/${output_la}.nm
+ func_to_tool_file "$output"
+ libobjs=$nm_file_list_spec$func_to_tool_file_result
+ func_append delfiles " $output"
+ func_verbose "creating $NM input file list: $output"
+ for obj in $save_libobjs; do
+ func_to_tool_file "$obj"
+ $ECHO "$func_to_tool_file_result"
+ done > "$output"
+ eval cmd=\"$cmd1\"
+ func_show_eval "$cmd" 'exit $?'
+ output=$save_output
+ libobjs=$save_libobjs
+ skipped_export=false
else
# The command line is too long to execute in one step.
func_verbose "using reloadable object file for export list..."
if test -n "$export_symbols" && test -n "$include_expsyms"; then
tmp_export_symbols="$export_symbols"
test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
- $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
+ $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
fi
if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
# global variables. join(1) would be nice here, but unfortunately
# isn't a blessed tool.
$opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
- delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
+ func_append delfiles " $export_symbols $output_objdir/$libname.filter"
export_symbols=$output_objdir/$libname.def
$opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
fi
case " $convenience " in
*" $test_deplib "*) ;;
*)
- tmp_deplibs="$tmp_deplibs $test_deplib"
+ func_append tmp_deplibs " $test_deplib"
;;
esac
done
test "X$libobjs" = "X " && libobjs=
else
gentop="$output_objdir/${outputname}x"
- generated="$generated $gentop"
+ func_append generated " $gentop"
func_extract_archives $gentop $convenience
- libobjs="$libobjs $func_extract_archives_result"
+ func_append libobjs " $func_extract_archives_result"
test "X$libobjs" = "X " && libobjs=
fi
fi
if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
eval flag=\"$thread_safe_flag_spec\"
- linker_flags="$linker_flags $flag"
+ func_append linker_flags " $flag"
fi
# Make a backup of the uninstalled library when relinking
- if test "$mode" = relink; then
+ if test "$opt_mode" = relink; then
$opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
fi
fi
if test "X$skipped_export" != "X:" &&
- len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
- test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ func_len " $test_cmds" &&
+ len=$func_len_result &&
+ test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
:
else
# The command line is too long to link in one step, link piecewise
save_libobjs=$libobjs
fi
save_output=$output
- output_la=`$ECHO "X$output" | $Xsed -e "$basename"`
+ func_basename "$output"
+ output_la=$func_basename_result
# Clear the reloadable object creation command queue and
# initialize k to one.
if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
output=${output_objdir}/${output_la}.lnkscript
func_verbose "creating GNU ld script: $output"
- $ECHO 'INPUT (' > $output
+ echo 'INPUT (' > $output
for obj in $save_libobjs
do
- $ECHO "$obj" >> $output
+ func_to_tool_file "$obj"
+ $ECHO "$func_to_tool_file_result" >> $output
done
- $ECHO ')' >> $output
- delfiles="$delfiles $output"
+ echo ')' >> $output
+ func_append delfiles " $output"
+ func_to_tool_file "$output"
+ output=$func_to_tool_file_result
elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
output=${output_objdir}/${output_la}.lnk
func_verbose "creating linker input file list: $output"
fi
for obj
do
- $ECHO "$obj" >> $output
+ func_to_tool_file "$obj"
+ $ECHO "$func_to_tool_file_result" >> $output
done
- delfiles="$delfiles $output"
- output=$firstobj\"$file_list_spec$output\"
+ func_append delfiles " $output"
+ func_to_tool_file "$output"
+ output=$firstobj\"$file_list_spec$func_to_tool_file_result\"
else
if test -n "$save_libobjs"; then
func_verbose "creating reloadable object files..."
output=$output_objdir/$output_la-${k}.$objext
+ eval test_cmds=\"$reload_cmds\"
+ func_len " $test_cmds"
+ len0=$func_len_result
+ len=$len0
+
# Loop over the list of objects to be linked.
for obj in $save_libobjs
do
- eval test_cmds=\"$reload_cmds $objlist $last_robj\"
+ func_len " $obj"
+ func_arith $len + $func_len_result
+ len=$func_arith_result
if test "X$objlist" = X ||
- { len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
- test "$len" -le "$max_cmd_len"; }; then
- objlist="$objlist $obj"
+ test "$len" -lt "$max_cmd_len"; then
+ func_append objlist " $obj"
else
# The command $test_cmds is almost too long, add a
# command to the queue.
if test "$k" -eq 1 ; then
# The first file doesn't have a previous command to add.
- eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
+ reload_objs=$objlist
+ eval concat_cmds=\"$reload_cmds\"
else
# All subsequent reloadable object files will link in
# the last one created.
- eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\"
+ reload_objs="$objlist $last_robj"
+ eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
fi
last_robj=$output_objdir/$output_la-${k}.$objext
- k=`expr $k + 1`
+ func_arith $k + 1
+ k=$func_arith_result
output=$output_objdir/$output_la-${k}.$objext
- objlist=$obj
- len=1
+ objlist=" $obj"
+ func_len " $last_robj"
+ func_arith $len0 + $func_len_result
+ len=$func_arith_result
fi
done
# Handle the remaining objects by creating one last
# reloadable object file. All subsequent reloadable object
# files will link in the last one created.
test -z "$concat_cmds" || concat_cmds=$concat_cmds~
- eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
+ reload_objs="$objlist $last_robj"
+ eval concat_cmds=\"\${concat_cmds}$reload_cmds\"
if test -n "$last_robj"; then
eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
fi
- delfiles="$delfiles $output"
+ func_append delfiles " $output"
else
output=
lt_exit=$?
# Restore the uninstalled library and exit
- if test "$mode" = relink; then
+ if test "$opt_mode" = relink; then
( cd "$output_objdir" && \
$RM "${realname}T" && \
$MV "${realname}U" "$realname" )
if test -n "$export_symbols" && test -n "$include_expsyms"; then
tmp_export_symbols="$export_symbols"
test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
- $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
+ $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
fi
if test -n "$orig_export_symbols"; then
# global variables. join(1) would be nice here, but unfortunately
# isn't a blessed tool.
$opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
- delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
+ func_append delfiles " $export_symbols $output_objdir/$libname.filter"
export_symbols=$output_objdir/$libname.def
$opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
fi
# Add any objects from preloaded convenience libraries
if test -n "$dlprefiles"; then
gentop="$output_objdir/${outputname}x"
- generated="$generated $gentop"
+ func_append generated " $gentop"
func_extract_archives $gentop $dlprefiles
- libobjs="$libobjs $func_extract_archives_result"
+ func_append libobjs " $func_extract_archives_result"
test "X$libobjs" = "X " && libobjs=
fi
lt_exit=$?
# Restore the uninstalled library and exit
- if test "$mode" = relink; then
+ if test "$opt_mode" = relink; then
( cd "$output_objdir" && \
$RM "${realname}T" && \
$MV "${realname}U" "$realname" )
IFS="$save_ifs"
# Restore the uninstalled library and exit
- if test "$mode" = relink; then
+ if test "$opt_mode" = relink; then
$opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
if test -n "$convenience"; then
if test -n "$convenience"; then
if test -n "$whole_archive_flag_spec"; then
eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
- reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
+ reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
else
gentop="$output_objdir/${obj}x"
- generated="$generated $gentop"
+ func_append generated " $gentop"
func_extract_archives $gentop $convenience
reload_conv_objs="$reload_objs $func_extract_archives_result"
fi
fi
+ # If we're not building shared, we need to use non_pic_objs
+ test "$build_libtool_libs" != yes && libobjs="$non_pic_objects"
+
# Create the old-style object.
- reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+ reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
output="$obj"
func_execute_cmds "$reload_cmds" 'exit $?'
case $host in
*-*-rhapsody* | *-*-darwin1.[012])
# On Rhapsody replace the C library is the System framework
- compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
- finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+ compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'`
+ finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'`
;;
esac
if test "$tagname" = CXX ; then
case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
10.[0123])
- compile_command="$compile_command ${wl}-bind_at_load"
- finalize_command="$finalize_command ${wl}-bind_at_load"
+ func_append compile_command " ${wl}-bind_at_load"
+ func_append finalize_command " ${wl}-bind_at_load"
;;
esac
fi
# Time to change all our "foo.ltframework" stuff back to "-framework foo"
- compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
- finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
;;
esac
*)
case " $compile_deplibs " in
*" -L$path/$objdir "*)
- new_libs="$new_libs -L$path/$objdir" ;;
+ func_append new_libs " -L$path/$objdir" ;;
esac
;;
esac
-L*)
case " $new_libs " in
*" $deplib "*) ;;
- *) new_libs="$new_libs $deplib" ;;
+ *) func_append new_libs " $deplib" ;;
esac
;;
- *) new_libs="$new_libs $deplib" ;;
+ *) func_append new_libs " $deplib" ;;
esac
done
compile_deplibs="$new_libs"
- compile_command="$compile_command $compile_deplibs"
- finalize_command="$finalize_command $finalize_deplibs"
+ func_append compile_command " $compile_deplibs"
+ func_append finalize_command " $finalize_deplibs"
if test -n "$rpath$xrpath"; then
# If the user specified any rpath flags, then add them.
# This is the magic to use -rpath.
case "$finalize_rpath " in
*" $libdir "*) ;;
- *) finalize_rpath="$finalize_rpath $libdir" ;;
+ *) func_append finalize_rpath " $libdir" ;;
esac
done
fi
*"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
;;
*)
- hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+ func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
;;
esac
fi
else
eval flag=\"$hardcode_libdir_flag_spec\"
- rpath="$rpath $flag"
+ func_append rpath " $flag"
fi
elif test -n "$runpath_var"; then
case "$perm_rpath " in
*" $libdir "*) ;;
- *) perm_rpath="$perm_rpath $libdir" ;;
+ *) func_append perm_rpath " $libdir" ;;
esac
fi
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
case :$dllsearchpath: in
*":$libdir:"*) ;;
- *) dllsearchpath="$dllsearchpath:$libdir";;
+ ::) dllsearchpath=$libdir;;
+ *) func_append dllsearchpath ":$libdir";;
esac
case :$dllsearchpath: in
*":$testbindir:"*) ;;
- *) dllsearchpath="$dllsearchpath:$testbindir";;
+ ::) dllsearchpath=$testbindir;;
+ *) func_append dllsearchpath ":$testbindir";;
esac
;;
esac
*"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
;;
*)
- hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+ func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
;;
esac
fi
else
eval flag=\"$hardcode_libdir_flag_spec\"
- rpath="$rpath $flag"
+ func_append rpath " $flag"
fi
elif test -n "$runpath_var"; then
case "$finalize_perm_rpath " in
*" $libdir "*) ;;
- *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
+ *) func_append finalize_perm_rpath " $libdir" ;;
esac
fi
done
if test -n "$libobjs" && test "$build_old_libs" = yes; then
# Transform all the library objects into standard objects.
- compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
- finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
+ finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
fi
func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
wrappers_required=yes
case $host in
+ *cegcc* | *mingw32ce*)
+ # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
+ wrappers_required=no
+ ;;
*cygwin* | *mingw* )
if test "$build_libtool_libs" != yes; then
wrappers_required=no
esac
if test "$wrappers_required" = no; then
# Replace the output file specification.
- compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+ compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
link_command="$compile_command$compile_rpath"
# We have no uninstalled library dependencies, so finalize right now.
exit_status=0
func_show_eval "$link_command" 'exit_status=$?'
+ if test -n "$postlink_cmds"; then
+ func_to_tool_file "$output"
+ postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+ func_execute_cmds "$postlink_cmds" 'exit $?'
+ fi
+
# Delete the generated files.
if test -f "$output_objdir/${outputname}S.${objext}"; then
func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
# We should set the runpath_var.
rpath=
for dir in $perm_rpath; do
- rpath="$rpath$dir:"
+ func_append rpath "$dir:"
done
compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
fi
# We should set the runpath_var.
rpath=
for dir in $finalize_perm_rpath; do
- rpath="$rpath$dir:"
+ func_append rpath "$dir:"
done
finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
fi
# We don't need to create a wrapper script.
link_command="$compile_var$compile_command$compile_rpath"
# Replace the output file specification.
- link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+ link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
# Delete the old output file.
$opt_dry_run || $RM $output
# Link the executable and exit
func_show_eval "$link_command" 'exit $?'
+
+ if test -n "$postlink_cmds"; then
+ func_to_tool_file "$output"
+ postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+ func_execute_cmds "$postlink_cmds" 'exit $?'
+ fi
+
exit $EXIT_SUCCESS
fi
if test "$fast_install" != no; then
link_command="$finalize_var$compile_command$finalize_rpath"
if test "$fast_install" = yes; then
- relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
+ relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
else
# fast_install is set to needless
relink_command=
fi
# Replace the output file specification.
- link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+ link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
# Delete the old output files.
$opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
func_show_eval "$link_command" 'exit $?'
+ if test -n "$postlink_cmds"; then
+ func_to_tool_file "$output_objdir/$outputname"
+ postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+ func_execute_cmds "$postlink_cmds" 'exit $?'
+ fi
+
# Now create the wrapper script.
func_verbose "creating $output"
fi
done
relink_command="(cd `pwd`; $relink_command)"
- relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
- fi
-
- # Quote $ECHO for shipping.
- if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then
- case $progpath in
- [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
- *) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
- esac
- qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"`
- else
- qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"`
+ relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
fi
# Only actually do things if not in dry run mode.
func_emit_cwrapperexe_src > $cwrappersource
- # we should really use a build-platform specific compiler
- # here, but OTOH, the wrappers (shell script and this C one)
- # are only useful if you want to execute the "real" binary.
- # Since the "real" binary is built for $host, then this
- # wrapper might as well be built for $host, too.
+ # The wrapper executable is built using the $host compiler,
+ # because it contains $host paths and files. If cross-
+ # compiling, it, like the target executable, must be
+ # executed on the $host or under an emulation environment.
$opt_dry_run || {
$LTCC $LTCFLAGS -o $cwrapper $cwrappersource
$STRIP $cwrapper
else
oldobjs="$old_deplibs $non_pic_objects"
if test "$preload" = yes && test -f "$symfileobj"; then
- oldobjs="$oldobjs $symfileobj"
+ func_append oldobjs " $symfileobj"
fi
fi
addlibs="$old_convenience"
if test -n "$addlibs"; then
gentop="$output_objdir/${outputname}x"
- generated="$generated $gentop"
+ func_append generated " $gentop"
func_extract_archives $gentop $addlibs
- oldobjs="$oldobjs $func_extract_archives_result"
+ func_append oldobjs " $func_extract_archives_result"
fi
# Do each command in the archive commands.
# Add any objects from preloaded convenience libraries
if test -n "$dlprefiles"; then
gentop="$output_objdir/${outputname}x"
- generated="$generated $gentop"
+ func_append generated " $gentop"
func_extract_archives $gentop $dlprefiles
- oldobjs="$oldobjs $func_extract_archives_result"
+ func_append oldobjs " $func_extract_archives_result"
fi
# POSIX demands no paths to be encoded in archives. We have
done | sort | sort -uc >/dev/null 2>&1); then
:
else
- $ECHO "copying selected object files to avoid basename conflicts..."
+ echo "copying selected object files to avoid basename conflicts..."
gentop="$output_objdir/${outputname}x"
- generated="$generated $gentop"
+ func_append generated " $gentop"
func_mkdir_p "$gentop"
save_oldobjs=$oldobjs
oldobjs=
# Make sure we don't pick an alternate name that also
# overlaps.
newobj=lt$counter-$objbase
- counter=`expr $counter + 1`
+ func_arith $counter + 1
+ counter=$func_arith_result
case " $oldobjs " in
*[\ /]"$newobj "*) ;;
*) if test ! -f "$gentop/$newobj"; then break; fi ;;
esac
done
func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
- oldobjs="$oldobjs $gentop/$newobj"
+ func_append oldobjs " $gentop/$newobj"
;;
- *) oldobjs="$oldobjs $obj" ;;
+ *) func_append oldobjs " $obj" ;;
esac
done
fi
+ func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
+ tool_oldlib=$func_to_tool_file_result
eval cmds=\"$old_archive_cmds\"
- if len=`expr "X$cmds" : ".*" 2>/dev/null` &&
- test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ func_len " $cmds"
+ len=$func_len_result
+ if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ cmds=$old_archive_cmds
+ elif test -n "$archiver_list_spec"; then
+ func_verbose "using command file archive linking..."
+ for obj in $oldobjs
+ do
+ func_to_tool_file "$obj"
+ $ECHO "$func_to_tool_file_result"
+ done > $output_objdir/$libname.libcmd
+ func_to_tool_file "$output_objdir/$libname.libcmd"
+ oldobjs=" $archiver_list_spec$func_to_tool_file_result"
cmds=$old_archive_cmds
else
# the command line is too long to link in one step, link in parts
objlist=
concat_cmds=
save_oldobjs=$oldobjs
+ oldobjs=
# Is there a better way of finding the last object in the list?
for obj in $save_oldobjs
do
last_oldobj=$obj
done
+ eval test_cmds=\"$old_archive_cmds\"
+ func_len " $test_cmds"
+ len0=$func_len_result
+ len=$len0
for obj in $save_oldobjs
do
- oldobjs="$objlist $obj"
- objlist="$objlist $obj"
- eval test_cmds=\"$old_archive_cmds\"
- if len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
- test "$len" -le "$max_cmd_len"; then
+ func_len " $obj"
+ func_arith $len + $func_len_result
+ len=$func_arith_result
+ func_append objlist " $obj"
+ if test "$len" -lt "$max_cmd_len"; then
:
else
# the above command should be used before it gets too long
test -z "$concat_cmds" || concat_cmds=$concat_cmds~
eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
objlist=
+ len=$len0
fi
done
RANLIB=$save_RANLIB
done
# Quote the link command for shipping.
relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
- relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+ relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
if test "$hardcode_automatic" = yes ; then
relink_command=
fi
*.la)
func_basename "$deplib"
name="$func_basename_result"
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ func_resolve_sysroot "$deplib"
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
test -z "$libdir" && \
func_fatal_error "\`$deplib' is not a valid libtool archive"
- newdependency_libs="$newdependency_libs $libdir/$name"
+ func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
+ ;;
+ -L*)
+ func_stripname -L '' "$deplib"
+ func_replace_sysroot "$func_stripname_result"
+ func_append newdependency_libs " -L$func_replace_sysroot_result"
;;
- *) newdependency_libs="$newdependency_libs $deplib" ;;
+ -R*)
+ func_stripname -R '' "$deplib"
+ func_replace_sysroot "$func_stripname_result"
+ func_append newdependency_libs " -R$func_replace_sysroot_result"
+ ;;
+ *) func_append newdependency_libs " $deplib" ;;
esac
done
dependency_libs="$newdependency_libs"
eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
test -z "$libdir" && \
func_fatal_error "\`$lib' is not a valid libtool archive"
- newdlfiles="$newdlfiles $libdir/$name"
+ func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
;;
- *) newdlfiles="$newdlfiles $lib" ;;
+ *) func_append newdlfiles " $lib" ;;
esac
done
dlfiles="$newdlfiles"
eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
test -z "$libdir" && \
func_fatal_error "\`$lib' is not a valid libtool archive"
- newdlprefiles="$newdlprefiles $libdir/$name"
+ func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
;;
esac
done
[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
*) abs=`pwd`"/$lib" ;;
esac
- newdlfiles="$newdlfiles $abs"
+ func_append newdlfiles " $abs"
done
dlfiles="$newdlfiles"
newdlprefiles=
[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
*) abs=`pwd`"/$lib" ;;
esac
- newdlprefiles="$newdlprefiles $abs"
+ func_append newdlprefiles " $abs"
done
dlprefiles="$newdlprefiles"
fi
$RM $output
# place dlname in correct position for cygwin
+ # In fact, it would be nice if we could use this code for all target
+ # systems that can't hard-code library paths into their executables
+ # and that have no shared library path variable independent of PATH,
+ # but it turns out we can't easily determine that from inspecting
+ # libtool variables, so we have to hard-code the OSs to which it
+ # applies here; at the moment, that means platforms that use the PE
+ # object format with DLL files. See the long comment at the top of
+ # tests/bindir.at for full details.
tdlname=$dlname
case $host,$output,$installed,$module,$dlname in
- *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
+ *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
+ # If a -bindir argument was supplied, place the dll there.
+ if test "x$bindir" != x ;
+ then
+ func_relative_path "$install_libdir" "$bindir"
+ tdlname=$func_relative_path_result$dlname
+ else
+ # Otherwise fall back on heuristic.
+ tdlname=../bin/$dlname
+ fi
+ ;;
esac
$ECHO > $output "\
# $outputname - a libtool library file
exit $EXIT_SUCCESS
}
-{ test "$mode" = link || test "$mode" = relink; } &&
+{ test "$opt_mode" = link || test "$opt_mode" = relink; } &&
func_mode_link ${1+"$@"}
for arg
do
case $arg in
- -f) RM="$RM $arg"; rmforce=yes ;;
- -*) RM="$RM $arg" ;;
- *) files="$files $arg" ;;
+ -f) func_append RM " $arg"; rmforce=yes ;;
+ -*) func_append RM " $arg" ;;
+ *) func_append files " $arg" ;;
esac
done
rmdirs=
- origobjdir="$objdir"
for file in $files; do
func_dirname "$file" "" "."
dir="$func_dirname_result"
if test "X$dir" = X.; then
- objdir="$origobjdir"
+ odir="$objdir"
else
- objdir="$dir/$origobjdir"
+ odir="$dir/$objdir"
fi
func_basename "$file"
name="$func_basename_result"
- test "$mode" = uninstall && objdir="$dir"
+ test "$opt_mode" = uninstall && odir="$dir"
- # Remember objdir for removal later, being careful to avoid duplicates
- if test "$mode" = clean; then
+ # Remember odir for removal later, being careful to avoid duplicates
+ if test "$opt_mode" = clean; then
case " $rmdirs " in
- *" $objdir "*) ;;
- *) rmdirs="$rmdirs $objdir" ;;
+ *" $odir "*) ;;
+ *) func_append rmdirs " $odir" ;;
esac
fi
# Delete the libtool libraries and symlinks.
for n in $library_names; do
- rmfiles="$rmfiles $objdir/$n"
+ func_append rmfiles " $odir/$n"
done
- test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
+ test -n "$old_library" && func_append rmfiles " $odir/$old_library"
- case "$mode" in
+ case "$opt_mode" in
clean)
- case " $library_names " in
- # " " in the beginning catches empty $dlname
+ case " $library_names " in
*" $dlname "*) ;;
- *) rmfiles="$rmfiles $objdir/$dlname" ;;
+ *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;;
esac
- test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
+ test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i"
;;
uninstall)
if test -n "$library_names"; then
# Add PIC object to the list of files to remove.
if test -n "$pic_object" &&
test "$pic_object" != none; then
- rmfiles="$rmfiles $dir/$pic_object"
+ func_append rmfiles " $dir/$pic_object"
fi
# Add non-PIC object to the list of files to remove.
if test -n "$non_pic_object" &&
test "$non_pic_object" != none; then
- rmfiles="$rmfiles $dir/$non_pic_object"
+ func_append rmfiles " $dir/$non_pic_object"
fi
fi
;;
*)
- if test "$mode" = clean ; then
+ if test "$opt_mode" = clean ; then
noexename=$name
case $file in
*.exe)
noexename=$func_stripname_result
# $file with .exe has already been added to rmfiles,
# add $file without .exe
- rmfiles="$rmfiles $file"
+ func_append rmfiles " $file"
;;
esac
# Do a test to see if this is a libtool program.
func_ltwrapper_scriptname "$file"
relink_command=
func_source $func_ltwrapper_scriptname_result
- rmfiles="$rmfiles $func_ltwrapper_scriptname_result"
+ func_append rmfiles " $func_ltwrapper_scriptname_result"
else
relink_command=
func_source $dir/$noexename
# note $name still contains .exe if it was in $file originally
# as does the version of $file that was added into $rmfiles
- rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
+ func_append rmfiles " $odir/$name $odir/${name}S.${objext}"
if test "$fast_install" = yes && test -n "$relink_command"; then
- rmfiles="$rmfiles $objdir/lt-$name"
+ func_append rmfiles " $odir/lt-$name"
fi
if test "X$noexename" != "X$name" ; then
- rmfiles="$rmfiles $objdir/lt-${noexename}.c"
+ func_append rmfiles " $odir/lt-${noexename}.c"
fi
fi
fi
esac
func_show_eval "$RM $rmfiles" 'exit_status=1'
done
- objdir="$origobjdir"
# Try to remove the ${objdir}s in the directories where we deleted files
for dir in $rmdirs; do
exit $exit_status
}
-{ test "$mode" = uninstall || test "$mode" = clean; } &&
+{ test "$opt_mode" = uninstall || test "$opt_mode" = clean; } &&
func_mode_uninstall ${1+"$@"}
-test -z "$mode" && {
+test -z "$opt_mode" && {
help="$generic_help"
func_fatal_help "you must specify a MODE"
}
test -z "$exec_cmd" && \
- func_fatal_help "invalid operation mode \`$mode'"
+ func_fatal_help "invalid operation mode \`$opt_mode'"
if test -n "$exec_cmd"; then
eval exec "$exec_cmd"
-# codeset.m4 serial 2 (gettext-0.16)
-dnl Copyright (C) 2000-2002, 2006 Free Software Foundation, Inc.
+# codeset.m4 serial 5 (gettext-0.18.2)
+dnl Copyright (C) 2000-2002, 2006, 2008-2013 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
AC_DEFUN([AM_LANGINFO_CODESET],
[
- AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
- [AC_TRY_LINK([#include <langinfo.h>],
- [char* cs = nl_langinfo(CODESET); return !cs;],
- am_cv_langinfo_codeset=yes,
- am_cv_langinfo_codeset=no)
+ AC_CACHE_CHECK([for nl_langinfo and CODESET], [am_cv_langinfo_codeset],
+ [AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <langinfo.h>]],
+ [[char* cs = nl_langinfo(CODESET); return !cs;]])],
+ [am_cv_langinfo_codeset=yes],
+ [am_cv_langinfo_codeset=no])
])
if test $am_cv_langinfo_codeset = yes; then
- AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
+ AC_DEFINE([HAVE_LANGINFO_CODESET], [1],
[Define if you have <langinfo.h> and nl_langinfo(CODESET).])
fi
])
--- /dev/null
+dnl 'extern inline' a la ISO C99.
+
+dnl Copyright 2012-2014 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_EXTERN_INLINE],
+[
+ AH_VERBATIM([extern_inline],
+[/* Please see the Gnulib manual for how to use these macros.
+
+ Suppress extern inline with HP-UX cc, as it appears to be broken; see
+ <http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>.
+
+ Suppress extern inline with Sun C in standards-conformance mode, as it
+ mishandles inline functions that call each other. E.g., for 'inline void f
+ (void) { } inline void g (void) { f (); }', c99 incorrectly complains
+ 'reference to static identifier "f" in extern inline function'.
+ This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16.
+
+ Suppress extern inline (with or without __attribute__ ((__gnu_inline__)))
+ on configurations that mistakenly use 'static inline' to implement
+ functions or macros in standard C headers like <ctype.h>. For example,
+ if isdigit is mistakenly implemented via a static inline function,
+ a program containing an extern inline function that calls isdigit
+ may not work since the C standard prohibits extern inline functions
+ from calling static functions. This bug is known to occur on:
+
+ OS X 10.8 and earlier; see:
+ http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html
+
+ DragonFly; see
+ http://muscles.dragonflybsd.org/bulk/bleeding-edge-potential/latest-per-pkg/ah-tty-0.3.12.log
+
+ FreeBSD; see:
+ http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00104.html
+
+ OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and
+ for clang but remains for g++; see <http://trac.macports.org/ticket/41033>.
+ Assume DragonFly and FreeBSD will be similar. */
+#if (((defined __APPLE__ && defined __MACH__) \
+ || defined __DragonFly__ || defined __FreeBSD__) \
+ && (defined __header_inline \
+ ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \
+ && ! defined __clang__) \
+ : ((! defined _DONT_USE_CTYPE_INLINE_ \
+ && (defined __GNUC__ || defined __cplusplus)) \
+ || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \
+ && defined __GNUC__ && ! defined __cplusplus))))
+# define _GL_EXTERN_INLINE_STDHEADER_BUG
+#endif
+#if ((__GNUC__ \
+ ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
+ : (199901L <= __STDC_VERSION__ \
+ && !defined __HP_cc \
+ && !(defined __SUNPRO_C && __STDC__))) \
+ && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
+# define _GL_INLINE inline
+# define _GL_EXTERN_INLINE extern inline
+# define _GL_EXTERN_INLINE_IN_USE
+#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \
+ && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
+# if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__
+ /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */
+# define _GL_INLINE extern inline __attribute__ ((__gnu_inline__))
+# else
+# define _GL_INLINE extern inline
+# endif
+# define _GL_EXTERN_INLINE extern
+# define _GL_EXTERN_INLINE_IN_USE
+#else
+# define _GL_INLINE static _GL_UNUSED
+# define _GL_EXTERN_INLINE static _GL_UNUSED
+#endif
+
+#if 4 < __GNUC__ + (6 <= __GNUC_MINOR__)
+# if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__
+# define _GL_INLINE_HEADER_CONST_PRAGMA
+# else
+# define _GL_INLINE_HEADER_CONST_PRAGMA \
+ _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"")
+# endif
+ /* Suppress GCC's bogus "no previous prototype for 'FOO'"
+ and "no previous declaration for 'FOO'" diagnostics,
+ when FOO is an inline function in the header; see
+ <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113>. */
+# define _GL_INLINE_HEADER_BEGIN \
+ _Pragma ("GCC diagnostic push") \
+ _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \
+ _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \
+ _GL_INLINE_HEADER_CONST_PRAGMA
+# define _GL_INLINE_HEADER_END \
+ _Pragma ("GCC diagnostic pop")
+#else
+# define _GL_INLINE_HEADER_BEGIN
+# define _GL_INLINE_HEADER_END
+#endif])
+])
--- /dev/null
+# fcntl-o.m4 serial 4
+dnl Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl Written by Paul Eggert.
+
+# Test whether the flags O_NOATIME and O_NOFOLLOW actually work.
+# Define HAVE_WORKING_O_NOATIME to 1 if O_NOATIME works, or to 0 otherwise.
+# Define HAVE_WORKING_O_NOFOLLOW to 1 if O_NOFOLLOW works, or to 0 otherwise.
+AC_DEFUN([gl_FCNTL_O_FLAGS],
+[
+ dnl Persuade glibc <fcntl.h> to define O_NOATIME and O_NOFOLLOW.
+ dnl AC_USE_SYSTEM_EXTENSIONS was introduced in autoconf 2.60 and obsoletes
+ dnl AC_GNU_SOURCE.
+ m4_ifdef([AC_USE_SYSTEM_EXTENSIONS],
+ [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])],
+ [AC_REQUIRE([AC_GNU_SOURCE])])
+
+ AC_CHECK_HEADERS_ONCE([unistd.h])
+ AC_CHECK_FUNCS_ONCE([symlink])
+ AC_CACHE_CHECK([for working fcntl.h], [gl_cv_header_working_fcntl_h],
+ [AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <sys/types.h>
+ #include <sys/stat.h>
+ #if HAVE_UNISTD_H
+ # include <unistd.h>
+ #else /* on Windows with MSVC */
+ # include <io.h>
+ # include <stdlib.h>
+ # defined sleep(n) _sleep ((n) * 1000)
+ #endif
+ #include <fcntl.h>
+ #ifndef O_NOATIME
+ #define O_NOATIME 0
+ #endif
+ #ifndef O_NOFOLLOW
+ #define O_NOFOLLOW 0
+ #endif
+ static int const constants[] =
+ {
+ O_CREAT, O_EXCL, O_NOCTTY, O_TRUNC, O_APPEND,
+ O_NONBLOCK, O_SYNC, O_ACCMODE, O_RDONLY, O_RDWR, O_WRONLY
+ };
+ ]],
+ [[
+ int result = !constants;
+ #if HAVE_SYMLINK
+ {
+ static char const sym[] = "conftest.sym";
+ if (symlink ("/dev/null", sym) != 0)
+ result |= 2;
+ else
+ {
+ int fd = open (sym, O_WRONLY | O_NOFOLLOW | O_CREAT, 0);
+ if (fd >= 0)
+ {
+ close (fd);
+ result |= 4;
+ }
+ }
+ if (unlink (sym) != 0 || symlink (".", sym) != 0)
+ result |= 2;
+ else
+ {
+ int fd = open (sym, O_RDONLY | O_NOFOLLOW);
+ if (fd >= 0)
+ {
+ close (fd);
+ result |= 4;
+ }
+ }
+ unlink (sym);
+ }
+ #endif
+ {
+ static char const file[] = "confdefs.h";
+ int fd = open (file, O_RDONLY | O_NOATIME);
+ if (fd < 0)
+ result |= 8;
+ else
+ {
+ struct stat st0;
+ if (fstat (fd, &st0) != 0)
+ result |= 16;
+ else
+ {
+ char c;
+ sleep (1);
+ if (read (fd, &c, 1) != 1)
+ result |= 24;
+ else
+ {
+ if (close (fd) != 0)
+ result |= 32;
+ else
+ {
+ struct stat st1;
+ if (stat (file, &st1) != 0)
+ result |= 40;
+ else
+ if (st0.st_atime != st1.st_atime)
+ result |= 64;
+ }
+ }
+ }
+ }
+ }
+ return result;]])],
+ [gl_cv_header_working_fcntl_h=yes],
+ [case $? in #(
+ 4) gl_cv_header_working_fcntl_h='no (bad O_NOFOLLOW)';; #(
+ 64) gl_cv_header_working_fcntl_h='no (bad O_NOATIME)';; #(
+ 68) gl_cv_header_working_fcntl_h='no (bad O_NOATIME, O_NOFOLLOW)';; #(
+ *) gl_cv_header_working_fcntl_h='no';;
+ esac],
+ [gl_cv_header_working_fcntl_h=cross-compiling])])
+
+ case $gl_cv_header_working_fcntl_h in #(
+ *O_NOATIME* | no | cross-compiling) ac_val=0;; #(
+ *) ac_val=1;;
+ esac
+ AC_DEFINE_UNQUOTED([HAVE_WORKING_O_NOATIME], [$ac_val],
+ [Define to 1 if O_NOATIME works.])
+
+ case $gl_cv_header_working_fcntl_h in #(
+ *O_NOFOLLOW* | no | cross-compiling) ac_val=0;; #(
+ *) ac_val=1;;
+ esac
+ AC_DEFINE_UNQUOTED([HAVE_WORKING_O_NOFOLLOW], [$ac_val],
+ [Define to 1 if O_NOFOLLOW works.])
+])
-# gettext.m4 serial 59 (gettext-0.16.1)
-dnl Copyright (C) 1995-2006 Free Software Foundation, Inc.
+# gettext.m4 serial 66 (gettext-0.18.2)
+dnl Copyright (C) 1995-2014 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl Authors:
dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-dnl Bruno Haible <haible@clisp.cons.org>, 2000-2006.
+dnl Bruno Haible <haible@clisp.cons.org>, 2000-2006, 2008-2010.
dnl Macro to add for using GNU gettext.
dnl 'need-formatstring-macros', then GNU gettext implementations that don't
dnl support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
dnl INTLDIR is used to find the intl libraries. If empty,
-dnl the value `$(top_builddir)/intl/' is used.
+dnl the value '$(top_builddir)/intl/' is used.
dnl
dnl The result of the configuration is one of three cases:
dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
[errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
])])])])])
+ ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old],
+ [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])])
ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
[errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
])])])])
AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
])
- dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation.
+ dnl Sometimes, on Mac OS X, libintl requires linking with CoreFoundation.
gt_INTL_MACOSX
dnl Set USE_NLS.
gt_use_preinstalled_gnugettext=no
ifelse(gt_included_intl, yes, [
AC_MSG_CHECKING([whether included gettext is requested])
- AC_ARG_WITH(included-gettext,
+ AC_ARG_WITH([included-gettext],
[ --with-included-gettext use the GNU gettext library included here],
nls_cv_force_use_gnu_gettext=$withval,
nls_cv_force_use_gnu_gettext=no)
- AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
+ AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext])
nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
fi
AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc],
- [AC_TRY_LINK([#include <libintl.h>
+ [AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#include <libintl.h>
$gt_revision_test_code
extern int _nl_msg_cat_cntr;
-extern int *_nl_domain_bindings;],
- [bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings],
+extern int *_nl_domain_bindings;
+ ]],
+ [[
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings
+ ]])],
[eval "$gt_func_gnugettext_libc=yes"],
[eval "$gt_func_gnugettext_libc=no"])])
gt_save_LIBS="$LIBS"
LIBS="$LIBS $LIBINTL"
dnl Now see whether libintl exists and does not depend on libiconv.
- AC_TRY_LINK([#include <libintl.h>
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#include <libintl.h>
$gt_revision_test_code
extern int _nl_msg_cat_cntr;
extern
#ifdef __cplusplus
"C"
#endif
-const char *_nl_expand_alias (const char *);],
- [bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
+const char *_nl_expand_alias (const char *);
+ ]],
+ [[
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
+ ]])],
[eval "$gt_func_gnugettext_libintl=yes"],
[eval "$gt_func_gnugettext_libintl=no"])
dnl Now see whether libintl exists and depends on libiconv.
if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then
LIBS="$LIBS $LIBICONV"
- AC_TRY_LINK([#include <libintl.h>
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#include <libintl.h>
$gt_revision_test_code
extern int _nl_msg_cat_cntr;
extern
#ifdef __cplusplus
"C"
#endif
-const char *_nl_expand_alias (const char *);],
- [bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
- [LIBINTL="$LIBINTL $LIBICONV"
- LTLIBINTL="$LTLIBINTL $LTLIBICONV"
- eval "$gt_func_gnugettext_libintl=yes"
- ])
+const char *_nl_expand_alias (const char *);
+ ]],
+ [[
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
+ ]])],
+ [LIBINTL="$LIBINTL $LIBICONV"
+ LTLIBINTL="$LTLIBINTL $LTLIBICONV"
+ eval "$gt_func_gnugettext_libintl=yes"
+ ])
fi
CPPFLAGS="$gt_save_CPPFLAGS"
LIBS="$gt_save_LIBS"])
if test "$gt_use_preinstalled_gnugettext" = "yes" \
|| test "$nls_cv_use_gnu_gettext" = "yes"; then
- AC_DEFINE(ENABLE_NLS, 1,
+ AC_DEFINE([ENABLE_NLS], [1],
[Define to 1 if translation of program messages to the user's native language
is requested.])
else
fi
dnl For backward compatibility. Some packages may be using this.
- AC_DEFINE(HAVE_GETTEXT, 1,
+ AC_DEFINE([HAVE_GETTEXT], [1],
[Define if the GNU gettext() function is already present or preinstalled.])
- AC_DEFINE(HAVE_DCGETTEXT, 1,
+ AC_DEFINE([HAVE_DCGETTEXT], [1],
[Define if the GNU dcgettext() function is already present or preinstalled.])
fi
fi
dnl Make all variables we use known to autoconf.
- AC_SUBST(BUILD_INCLUDED_LIBINTL)
- AC_SUBST(USE_INCLUDED_LIBINTL)
- AC_SUBST(CATOBJEXT)
+ AC_SUBST([BUILD_INCLUDED_LIBINTL])
+ AC_SUBST([USE_INCLUDED_LIBINTL])
+ AC_SUBST([CATOBJEXT])
dnl For backward compatibility. Some configure.ins may be using this.
nls_cv_header_intl=
dnl For backward compatibility. Some Makefiles may be using this.
DATADIRNAME=share
- AC_SUBST(DATADIRNAME)
+ AC_SUBST([DATADIRNAME])
dnl For backward compatibility. Some Makefiles may be using this.
INSTOBJEXT=.mo
- AC_SUBST(INSTOBJEXT)
+ AC_SUBST([INSTOBJEXT])
dnl For backward compatibility. Some Makefiles may be using this.
GENCAT=gencat
- AC_SUBST(GENCAT)
+ AC_SUBST([GENCAT])
dnl For backward compatibility. Some Makefiles may be using this.
INTLOBJS=
if test "$USE_INCLUDED_LIBINTL" = yes; then
INTLOBJS="\$(GETTOBJS)"
fi
- AC_SUBST(INTLOBJS)
+ AC_SUBST([INTLOBJS])
dnl Enable libtool support if the surrounding package wishes it.
INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
- AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
+ AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX])
])
dnl For backward compatibility. Some Makefiles may be using this.
INTLLIBS="$LIBINTL"
- AC_SUBST(INTLLIBS)
+ AC_SUBST([INTLLIBS])
dnl Make all documented variables known to autoconf.
- AC_SUBST(LIBINTL)
- AC_SUBST(LTLIBINTL)
- AC_SUBST(POSUB)
-])
-
-
-dnl Checks for special options needed on MacOS X.
-dnl Defines INTL_MACOSX_LIBS.
-AC_DEFUN([gt_INTL_MACOSX],
-[
- dnl Check for API introduced in MacOS X 10.2.
- AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
- gt_cv_func_CFPreferencesCopyAppValue,
- [gt_save_LIBS="$LIBS"
- LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
- AC_TRY_LINK([#include <CoreFoundation/CFPreferences.h>],
- [CFPreferencesCopyAppValue(NULL, NULL)],
- [gt_cv_func_CFPreferencesCopyAppValue=yes],
- [gt_cv_func_CFPreferencesCopyAppValue=no])
- LIBS="$gt_save_LIBS"])
- if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
- AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], 1,
- [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
- fi
- dnl Check for API introduced in MacOS X 10.3.
- AC_CACHE_CHECK([for CFLocaleCopyCurrent], gt_cv_func_CFLocaleCopyCurrent,
- [gt_save_LIBS="$LIBS"
- LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
- AC_TRY_LINK([#include <CoreFoundation/CFLocale.h>], [CFLocaleCopyCurrent();],
- [gt_cv_func_CFLocaleCopyCurrent=yes],
- [gt_cv_func_CFLocaleCopyCurrent=no])
- LIBS="$gt_save_LIBS"])
- if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
- AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1,
- [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
- fi
- INTL_MACOSX_LIBS=
- if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
- INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
- fi
- AC_SUBST([INTL_MACOSX_LIBS])
+ AC_SUBST([LIBINTL])
+ AC_SUBST([LTLIBINTL])
+ AC_SUBST([POSUB])
])
-# glibc2.m4 serial 1
-dnl Copyright (C) 2000-2002, 2004 Free Software Foundation, Inc.
+# glibc2.m4 serial 3
+dnl Copyright (C) 2000-2002, 2004, 2008, 2010-2013 Free Software Foundation,
+dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
AC_DEFUN([gt_GLIBC2],
[
- AC_CACHE_CHECK(whether we are using the GNU C Library 2 or newer,
- ac_cv_gnu_library_2,
+ AC_CACHE_CHECK([whether we are using the GNU C Library 2 or newer],
+ [ac_cv_gnu_library_2],
[AC_EGREP_CPP([Lucky GNU user],
- [
+ [
#include <features.h>
#ifdef __GNU_LIBRARY__
- #if (__GLIBC__ >= 2)
+ #if (__GLIBC__ >= 2) && !defined __UCLIBC__
Lucky GNU user
#endif
#endif
- ],
- ac_cv_gnu_library_2=yes,
- ac_cv_gnu_library_2=no)
+ ],
+ [ac_cv_gnu_library_2=yes],
+ [ac_cv_gnu_library_2=no])
]
)
- AC_SUBST(GLIBC2)
+ AC_SUBST([GLIBC2])
GLIBC2="$ac_cv_gnu_library_2"
]
)
-# glibc21.m4 serial 3
-dnl Copyright (C) 2000-2002, 2004 Free Software Foundation, Inc.
+# glibc21.m4 serial 5
+dnl Copyright (C) 2000-2002, 2004, 2008, 2010-2013 Free Software Foundation,
+dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
-# Test for the GNU C Library, version 2.1 or newer.
+# Test for the GNU C Library, version 2.1 or newer, or uClibc.
# From Bruno Haible.
AC_DEFUN([gl_GLIBC21],
[
- AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
- ac_cv_gnu_library_2_1,
- [AC_EGREP_CPP([Lucky GNU user],
- [
+ AC_CACHE_CHECK([whether we are using the GNU C Library >= 2.1 or uClibc],
+ [ac_cv_gnu_library_2_1],
+ [AC_EGREP_CPP([Lucky],
+ [
#include <features.h>
#ifdef __GNU_LIBRARY__
#if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
Lucky GNU user
#endif
#endif
- ],
- ac_cv_gnu_library_2_1=yes,
- ac_cv_gnu_library_2_1=no)
+#ifdef __UCLIBC__
+ Lucky user
+#endif
+ ],
+ [ac_cv_gnu_library_2_1=yes],
+ [ac_cv_gnu_library_2_1=no])
]
)
- AC_SUBST(GLIBC21)
+ AC_SUBST([GLIBC21])
GLIBC21="$ac_cv_gnu_library_2_1"
]
)
-# iconv.m4 serial AM4 (gettext-0.11.3)
-dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
+# iconv.m4 serial 18 (gettext-0.18.2)
+dnl Copyright (C) 2000-2002, 2007-2014 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
[
dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
dnl those with the standalone portable GNU libiconv installed).
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
dnl accordingly.
dnl Add $INCICONV to CPPFLAGS before performing the following checks,
dnl because if the user has installed libiconv and not disabled its use
dnl via --without-libiconv-prefix, he wants to use it. The first
- dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
+ dnl AC_LINK_IFELSE will then fail, the second AC_LINK_IFELSE will succeed.
am_save_CPPFLAGS="$CPPFLAGS"
AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
- AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
+ AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [
am_cv_func_iconv="no, consider installing GNU libiconv"
am_cv_lib_iconv=no
- AC_TRY_LINK([#include <stdlib.h>
-#include <iconv.h>],
- [iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);],
- am_cv_func_iconv=yes)
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#include <stdlib.h>
+#include <iconv.h>
+ ]],
+ [[iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);]])],
+ [am_cv_func_iconv=yes])
if test "$am_cv_func_iconv" != yes; then
am_save_LIBS="$LIBS"
LIBS="$LIBS $LIBICONV"
- AC_TRY_LINK([#include <stdlib.h>
-#include <iconv.h>],
- [iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);],
- am_cv_lib_iconv=yes
- am_cv_func_iconv=yes)
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#include <stdlib.h>
+#include <iconv.h>
+ ]],
+ [[iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);]])],
+ [am_cv_lib_iconv=yes]
+ [am_cv_func_iconv=yes])
LIBS="$am_save_LIBS"
fi
])
if test "$am_cv_func_iconv" = yes; then
- AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
+ AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [
+ dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11,
+ dnl Solaris 10.
+ am_save_LIBS="$LIBS"
+ if test $am_cv_lib_iconv = yes; then
+ LIBS="$LIBS $LIBICONV"
+ fi
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+#include <iconv.h>
+#include <string.h>
+int main ()
+{
+ int result = 0;
+ /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
+ returns. */
+ {
+ iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
+ if (cd_utf8_to_88591 != (iconv_t)(-1))
+ {
+ static const char input[] = "\342\202\254"; /* EURO SIGN */
+ char buf[10];
+ const char *inptr = input;
+ size_t inbytesleft = strlen (input);
+ char *outptr = buf;
+ size_t outbytesleft = sizeof (buf);
+ size_t res = iconv (cd_utf8_to_88591,
+ (char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res == 0)
+ result |= 1;
+ iconv_close (cd_utf8_to_88591);
+ }
+ }
+ /* Test against Solaris 10 bug: Failures are not distinguishable from
+ successful returns. */
+ {
+ iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
+ if (cd_ascii_to_88591 != (iconv_t)(-1))
+ {
+ static const char input[] = "\263";
+ char buf[10];
+ const char *inptr = input;
+ size_t inbytesleft = strlen (input);
+ char *outptr = buf;
+ size_t outbytesleft = sizeof (buf);
+ size_t res = iconv (cd_ascii_to_88591,
+ (char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res == 0)
+ result |= 2;
+ iconv_close (cd_ascii_to_88591);
+ }
+ }
+ /* Test against AIX 6.1..7.1 bug: Buffer overrun. */
+ {
+ iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
+ if (cd_88591_to_utf8 != (iconv_t)(-1))
+ {
+ static const char input[] = "\304";
+ static char buf[2] = { (char)0xDE, (char)0xAD };
+ const char *inptr = input;
+ size_t inbytesleft = 1;
+ char *outptr = buf;
+ size_t outbytesleft = 1;
+ size_t res = iconv (cd_88591_to_utf8,
+ (char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
+ result |= 4;
+ iconv_close (cd_88591_to_utf8);
+ }
+ }
+#if 0 /* This bug could be worked around by the caller. */
+ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */
+ {
+ iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
+ if (cd_88591_to_utf8 != (iconv_t)(-1))
+ {
+ static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
+ char buf[50];
+ const char *inptr = input;
+ size_t inbytesleft = strlen (input);
+ char *outptr = buf;
+ size_t outbytesleft = sizeof (buf);
+ size_t res = iconv (cd_88591_to_utf8,
+ (char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if ((int)res > 0)
+ result |= 8;
+ iconv_close (cd_88591_to_utf8);
+ }
+ }
+#endif
+ /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
+ provided. */
+ if (/* Try standardized names. */
+ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
+ /* Try IRIX, OSF/1 names. */
+ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
+ /* Try AIX names. */
+ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
+ /* Try HP-UX names. */
+ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
+ result |= 16;
+ return result;
+}]])],
+ [am_cv_func_iconv_works=yes],
+ [am_cv_func_iconv_works=no],
+ [
+changequote(,)dnl
+ case "$host_os" in
+ aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
+ *) am_cv_func_iconv_works="guessing yes" ;;
+ esac
+changequote([,])dnl
+ ])
+ LIBS="$am_save_LIBS"
+ ])
+ case "$am_cv_func_iconv_works" in
+ *no) am_func_iconv=no am_cv_lib_iconv=no ;;
+ *) am_func_iconv=yes ;;
+ esac
+ else
+ am_func_iconv=no am_cv_lib_iconv=no
+ fi
+ if test "$am_func_iconv" = yes; then
+ AC_DEFINE([HAVE_ICONV], [1],
+ [Define if you have the iconv() function and it works.])
fi
if test "$am_cv_lib_iconv" = yes; then
AC_MSG_CHECKING([how to link with libiconv])
LIBICONV=
LTLIBICONV=
fi
- AC_SUBST(LIBICONV)
- AC_SUBST(LTLIBICONV)
+ AC_SUBST([LIBICONV])
+ AC_SUBST([LTLIBICONV])
])
-AC_DEFUN([AM_ICONV],
+dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to
+dnl avoid warnings like
+dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required".
+dnl This is tricky because of the way 'aclocal' is implemented:
+dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN.
+dnl Otherwise aclocal's initial scan pass would miss the macro definition.
+dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions.
+dnl Otherwise aclocal would emit many "Use of uninitialized value $1"
+dnl warnings.
+m4_define([gl_iconv_AC_DEFUN],
+ m4_version_prereq([2.64],
+ [[AC_DEFUN_ONCE(
+ [$1], [$2])]],
+ [m4_ifdef([gl_00GNULIB],
+ [[AC_DEFUN_ONCE(
+ [$1], [$2])]],
+ [[AC_DEFUN(
+ [$1], [$2])]])]))
+gl_iconv_AC_DEFUN([AM_ICONV],
[
AM_ICONV_LINK
if test "$am_cv_func_iconv" = yes; then
AC_MSG_CHECKING([for iconv declaration])
- AC_CACHE_VAL(am_cv_proto_iconv, [
- AC_TRY_COMPILE([
+ AC_CACHE_VAL([am_cv_proto_iconv], [
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
#include <stdlib.h>
#include <iconv.h>
extern
#ifdef __cplusplus
"C"
#endif
-#if defined(__STDC__) || defined(__cplusplus)
+#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus)
size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
#else
size_t iconv();
#endif
-], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
+ ]],
+ [[]])],
+ [am_cv_proto_iconv_arg1=""],
+ [am_cv_proto_iconv_arg1="const"])
am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
- AC_MSG_RESULT([$]{ac_t:-
- }[$]am_cv_proto_iconv)
- AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
+ AC_MSG_RESULT([
+ $am_cv_proto_iconv])
+ AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1],
[Define as const if the declaration of iconv() needs const.])
+ dnl Also substitute ICONV_CONST in the gnulib generated <iconv.h>.
+ m4_ifdef([gl_ICONV_H_DEFAULTS],
+ [AC_REQUIRE([gl_ICONV_H_DEFAULTS])
+ if test -n "$am_cv_proto_iconv_arg1"; then
+ ICONV_CONST="const"
+ fi
+ ])
fi
])
-# intdiv0.m4 serial 1 (gettext-0.11.3)
-dnl Copyright (C) 2002 Free Software Foundation, Inc.
+# intdiv0.m4 serial 6 (gettext-0.18.2)
+dnl Copyright (C) 2002, 2007-2008, 2010-2013 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
AC_CACHE_CHECK([whether integer division by zero raises SIGFPE],
gt_cv_int_divbyzero_sigfpe,
[
- AC_TRY_RUN([
+ gt_cv_int_divbyzero_sigfpe=
+changequote(,)dnl
+ case "$host_os" in
+ macos* | darwin[6-9]* | darwin[1-9][0-9]*)
+ # On Mac OS X 10.2 or newer, just assume the same as when cross-
+ # compiling. If we were to perform the real test, 1 Crash Report
+ # dialog window would pop up.
+ case "$host_cpu" in
+ i[34567]86 | x86_64)
+ gt_cv_int_divbyzero_sigfpe="guessing yes" ;;
+ esac
+ ;;
+ esac
+changequote([,])dnl
+ if test -z "$gt_cv_int_divbyzero_sigfpe"; then
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
#include <stdlib.h>
#include <signal.h>
static void
-#ifdef __cplusplus
sigfpe_handler (int sig)
-#else
-sigfpe_handler (sig) int sig;
-#endif
{
/* Exit with code 0 if SIGFPE, with code 1 if any other signal. */
exit (sig != SIGFPE);
z = x / y;
nan = y / y;
- exit (1);
+ exit (2);
}
-], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no,
- [
- # Guess based on the CPU.
- case "$host_cpu" in
- alpha* | i[34567]86 | m68k | s390*)
- gt_cv_int_divbyzero_sigfpe="guessing yes";;
- *)
- gt_cv_int_divbyzero_sigfpe="guessing no";;
- esac
- ])
+]])],
+ [gt_cv_int_divbyzero_sigfpe=yes],
+ [gt_cv_int_divbyzero_sigfpe=no],
+ [
+ # Guess based on the CPU.
+changequote(,)dnl
+ case "$host_cpu" in
+ alpha* | i[34567]86 | x86_64 | m68k | s390*)
+ gt_cv_int_divbyzero_sigfpe="guessing yes";;
+ *)
+ gt_cv_int_divbyzero_sigfpe="guessing no";;
+ esac
+changequote([,])dnl
+ ])
+ fi
])
case "$gt_cv_int_divbyzero_sigfpe" in
*yes) value=1;;
*) value=0;;
esac
- AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value,
+ AC_DEFINE_UNQUOTED([INTDIV0_RAISES_SIGFPE], [$value],
[Define if integer division by zero raises signal SIGFPE.])
])
-# intl.m4 serial 3 (gettext-0.16)
-dnl Copyright (C) 1995-2006 Free Software Foundation, Inc.
+# intl.m4 serial 27 (gettext-0.19)
+dnl Copyright (C) 1995-2014 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl Authors:
dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-dnl Bruno Haible <haible@clisp.cons.org>, 2000-2006.
+dnl Bruno Haible <haible@clisp.cons.org>, 2000-2009.
-AC_PREREQ(2.52)
+AC_PREREQ([2.60])
dnl Checks for all prerequisites of the intl subdirectory,
dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
AC_DEFUN([AM_INTL_SUBDIR],
[
AC_REQUIRE([AC_PROG_INSTALL])dnl
- AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
+ AC_REQUIRE([AC_PROG_MKDIR_P])dnl
AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([gt_GLIBC2])dnl
AC_REQUIRE([gl_VISIBILITY])dnl
AC_REQUIRE([gt_INTL_SUBDIR_CORE])dnl
AC_REQUIRE([AC_TYPE_LONG_LONG_INT])dnl
- AC_REQUIRE([gt_TYPE_LONGDOUBLE])dnl
AC_REQUIRE([gt_TYPE_WCHAR_T])dnl
AC_REQUIRE([gt_TYPE_WINT_T])dnl
AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
AC_REQUIRE([gt_PRINTF_POSIX])
AC_REQUIRE([gl_GLIBC21])dnl
AC_REQUIRE([gl_XSIZE])dnl
+ AC_REQUIRE([gl_FCNTL_O_FLAGS])dnl
AC_REQUIRE([gt_INTL_MACOSX])dnl
+ AC_REQUIRE([gl_EXTERN_INLINE])dnl
+ AC_REQUIRE([gt_GL_ATTRIBUTE])dnl
+
+ dnl Support for automake's --enable-silent-rules.
+ case "$enable_silent_rules" in
+ yes) INTL_DEFAULT_VERBOSITY=0;;
+ no) INTL_DEFAULT_VERBOSITY=1;;
+ *) INTL_DEFAULT_VERBOSITY=1;;
+ esac
+ AC_SUBST([INTL_DEFAULT_VERBOSITY])
AC_CHECK_TYPE([ptrdiff_t], ,
[AC_DEFINE([ptrdiff_t], [long],
[Define as the type of the result of subtracting two pointers, if the system doesn't define it.])
])
- AC_CHECK_HEADERS([stddef.h stdlib.h string.h])
- AC_CHECK_FUNCS([asprintf fwprintf putenv setenv setlocale snprintf wcslen])
+ AC_CHECK_HEADERS([features.h stddef.h stdlib.h string.h])
+ AC_CHECK_FUNCS([asprintf fwprintf newlocale putenv setenv setlocale \
+ snprintf strnlen wcslen wcsnlen mbrtowc wcrtomb])
dnl Use the _snprintf function only if it is declared (because on NetBSD it
dnl is defined as a weak alias of snprintf; we prefer to use the latter).
- gt_CHECK_DECL(_snprintf, [#include <stdio.h>])
- gt_CHECK_DECL(_snwprintf, [#include <stdio.h>])
+ AC_CHECK_DECLS([_snprintf, _snwprintf], , , [#include <stdio.h>])
dnl Use the *_unlocked functions only if they are declared.
dnl (because some of them were defined without being declared in Solaris
dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built
dnl on Solaris 2.5.1 to run on Solaris 2.6).
- dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13.
- gt_CHECK_DECL(getc_unlocked, [#include <stdio.h>])
+ AC_CHECK_DECLS([getc_unlocked], , , [#include <stdio.h>])
case $gt_cv_func_printf_posix in
*yes) HAVE_POSIX_PRINTF=1 ;;
HAVE_SNPRINTF=0
fi
AC_SUBST([HAVE_SNPRINTF])
+ if test "$ac_cv_func_newlocale" = yes; then
+ HAVE_NEWLOCALE=1
+ else
+ HAVE_NEWLOCALE=0
+ fi
+ AC_SUBST([HAVE_NEWLOCALE])
if test "$ac_cv_func_wprintf" = yes; then
HAVE_WPRINTF=1
else
dnl exported variables _also_ in the static library.
if test "$enable_shared" = yes; then
case "$host_os" in
- cygwin*) is_woe32dll=yes ;;
+ mingw* | cygwin*) is_woe32dll=yes ;;
*) is_woe32dll=no ;;
esac
else
WOE32DLL=$is_woe32dll
AC_SUBST([WOE32DLL])
+ dnl On mingw and Cygwin, we can activate special Makefile rules which add
+ dnl version information to the shared libraries and executables.
+ case "$host_os" in
+ mingw* | cygwin*) is_woe32=yes ;;
+ *) is_woe32=no ;;
+ esac
+ WOE32=$is_woe32
+ AC_SUBST([WOE32])
+ if test $WOE32 = yes; then
+ dnl Check for a program that compiles Windows resource files.
+ AC_CHECK_TOOL([WINDRES], [windres])
+ fi
+
+ dnl Determine whether when creating a library, "-lc" should be passed to
+ dnl libtool or not. On many platforms, it is required for the libtool option
+ dnl -no-undefined to work. On HP-UX, however, the -lc - stored by libtool
+ dnl in the *.la files - makes it impossible to create multithreaded programs,
+ dnl because libtool also reorders the -lc to come before the -pthread, and
+ dnl this disables pthread_create() <http://docs.hp.com/en/1896/pthreads.html>.
+ case "$host_os" in
+ hpux*) LTLIBC="" ;;
+ *) LTLIBC="-lc" ;;
+ esac
+ AC_SUBST([LTLIBC])
+
dnl Rename some macros and functions used for locking.
AH_BOTTOM([
#define __libc_lock_t gl_lock_t
#define __libc_lock_lock_recursive gl_recursive_lock_lock
#define __libc_lock_unlock_recursive gl_recursive_lock_unlock
#define glthread_in_use libintl_thread_in_use
-#define glthread_lock_init libintl_lock_init
-#define glthread_lock_lock libintl_lock_lock
-#define glthread_lock_unlock libintl_lock_unlock
-#define glthread_lock_destroy libintl_lock_destroy
-#define glthread_rwlock_init libintl_rwlock_init
-#define glthread_rwlock_rdlock libintl_rwlock_rdlock
-#define glthread_rwlock_wrlock libintl_rwlock_wrlock
-#define glthread_rwlock_unlock libintl_rwlock_unlock
-#define glthread_rwlock_destroy libintl_rwlock_destroy
-#define glthread_recursive_lock_init libintl_recursive_lock_init
-#define glthread_recursive_lock_lock libintl_recursive_lock_lock
-#define glthread_recursive_lock_unlock libintl_recursive_lock_unlock
-#define glthread_recursive_lock_destroy libintl_recursive_lock_destroy
-#define glthread_once libintl_once
-#define glthread_once_call libintl_once_call
+#define glthread_lock_init_func libintl_lock_init_func
+#define glthread_lock_lock_func libintl_lock_lock_func
+#define glthread_lock_unlock_func libintl_lock_unlock_func
+#define glthread_lock_destroy_func libintl_lock_destroy_func
+#define glthread_rwlock_init_multithreaded libintl_rwlock_init_multithreaded
+#define glthread_rwlock_init_func libintl_rwlock_init_func
+#define glthread_rwlock_rdlock_multithreaded libintl_rwlock_rdlock_multithreaded
+#define glthread_rwlock_rdlock_func libintl_rwlock_rdlock_func
+#define glthread_rwlock_wrlock_multithreaded libintl_rwlock_wrlock_multithreaded
+#define glthread_rwlock_wrlock_func libintl_rwlock_wrlock_func
+#define glthread_rwlock_unlock_multithreaded libintl_rwlock_unlock_multithreaded
+#define glthread_rwlock_unlock_func libintl_rwlock_unlock_func
+#define glthread_rwlock_destroy_multithreaded libintl_rwlock_destroy_multithreaded
+#define glthread_rwlock_destroy_func libintl_rwlock_destroy_func
+#define glthread_recursive_lock_init_multithreaded libintl_recursive_lock_init_multithreaded
+#define glthread_recursive_lock_init_func libintl_recursive_lock_init_func
+#define glthread_recursive_lock_lock_multithreaded libintl_recursive_lock_lock_multithreaded
+#define glthread_recursive_lock_lock_func libintl_recursive_lock_lock_func
+#define glthread_recursive_lock_unlock_multithreaded libintl_recursive_lock_unlock_multithreaded
+#define glthread_recursive_lock_unlock_func libintl_recursive_lock_unlock_func
+#define glthread_recursive_lock_destroy_multithreaded libintl_recursive_lock_destroy_multithreaded
+#define glthread_recursive_lock_destroy_func libintl_recursive_lock_destroy_func
+#define glthread_once_func libintl_once_func
#define glthread_once_singlethreaded libintl_once_singlethreaded
+#define glthread_once_multithreaded libintl_once_multithreaded
])
])
AC_REQUIRE([gt_INTTYPES_PRI])dnl
AC_REQUIRE([gl_LOCK])dnl
- AC_TRY_LINK(
- [int foo (int a) { a = __builtin_expect (a, 10); return a == 10 ? 0 : 1; }],
- [],
- [AC_DEFINE([HAVE_BUILTIN_EXPECT], 1,
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[int foo (int a) { a = __builtin_expect (a, 10); return a == 10 ? 0 : 1; }]],
+ [[]])],
+ [AC_DEFINE([HAVE_BUILTIN_EXPECT], [1],
[Define to 1 if the compiler understands __builtin_expect.])])
AC_CHECK_HEADERS([argz.h inttypes.h limits.h unistd.h sys/param.h])
AC_CHECK_FUNCS([getcwd getegid geteuid getgid getuid mempcpy munmap \
- stpcpy strcasecmp strdup strtoul tsearch argz_count argz_stringify \
- argz_next __fsetlocking])
+ stpcpy strcasecmp strdup strtoul tsearch uselocale argz_count \
+ argz_stringify argz_next __fsetlocking])
dnl Use the *_unlocked functions only if they are declared.
dnl (because some of them were defined without being declared in Solaris
dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built
dnl on Solaris 2.5.1 to run on Solaris 2.6).
- dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13.
- gt_CHECK_DECL(feof_unlocked, [#include <stdio.h>])
- gt_CHECK_DECL(fgets_unlocked, [#include <stdio.h>])
+ AC_CHECK_DECLS([feof_unlocked, fgets_unlocked], , , [#include <stdio.h>])
AM_ICONV
- dnl glibc >= 2.4 has a NL_LOCALE_NAME macro when _GNU_SOURCE is defined,
- dnl and a _NL_LOCALE_NAME macro always.
- AC_CACHE_CHECK([for NL_LOCALE_NAME macro], gt_cv_nl_locale_name,
- [AC_TRY_LINK([#include <langinfo.h>
-#include <locale.h>],
- [char* cs = nl_langinfo(_NL_LOCALE_NAME(LC_MESSAGES));],
- gt_cv_nl_locale_name=yes,
- gt_cv_nl_locale_name=no)
- ])
- if test $gt_cv_nl_locale_name = yes; then
- AC_DEFINE(HAVE_NL_LOCALE_NAME, 1,
- [Define if you have <langinfo.h> and it defines the NL_LOCALE_NAME macro if _GNU_SOURCE is defined.])
- fi
-
dnl intl/plural.c is generated from intl/plural.y. It requires bison,
dnl because plural.y uses bison specific features. It requires at least
- dnl bison-1.26 because earlier versions generate a plural.c that doesn't
- dnl compile.
+ dnl bison-2.7 for %define api.pure.
dnl bison is only needed for the maintainer (who touches plural.y). But in
dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
dnl the rule in general Makefile. Now, some people carelessly touch the
ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
case $ac_prog_version in
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
- 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
+ 2.[7-9]* | [3-9].*)
changequote([,])dnl
ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
*) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
fi
])
+dnl Copies _GL_UNUSED and _GL_ATTRIBUTE_PURE definitions from
+dnl gnulib-common.m4 as a fallback, if the project isn't using Gnulib.
+AC_DEFUN([gt_GL_ATTRIBUTE], [
+ m4_ifndef([gl_[]COMMON],
+ AH_VERBATIM([gt_gl_attribute],
+[/* Define as a marker that can be attached to declarations that might not
+ be used. This helps to reduce warnings, such as from
+ GCC -Wunused-parameter. */
+#ifndef _GL_UNUSED
+# if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
+# define _GL_UNUSED __attribute__ ((__unused__))
+# else
+# define _GL_UNUSED
+# endif
+#endif
-dnl gt_CHECK_DECL(FUNC, INCLUDES)
-dnl Check whether a function is declared.
-AC_DEFUN([gt_CHECK_DECL],
-[
- AC_CACHE_CHECK([whether $1 is declared], ac_cv_have_decl_$1,
- [AC_TRY_COMPILE([$2], [
-#ifndef $1
- char *p = (char *) $1;
+/* The __pure__ attribute was added in gcc 2.96. */
+#ifndef _GL_ATTRIBUTE_PURE
+# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
+# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
+# else
+# define _GL_ATTRIBUTE_PURE /* empty */
+# endif
#endif
-], ac_cv_have_decl_$1=yes, ac_cv_have_decl_$1=no)])
- if test $ac_cv_have_decl_$1 = yes; then
- gt_value=1
- else
- gt_value=0
- fi
- AC_DEFINE_UNQUOTED([HAVE_DECL_]translit($1, [a-z], [A-Z]), [$gt_value],
- [Define to 1 if you have the declaration of `$1', and to 0 if you don't.])
-])
+]))])
-# intldir.m4 serial 1 (gettext-0.16)
-dnl Copyright (C) 2006 Free Software Foundation, Inc.
+# intldir.m4 serial 2 (gettext-0.18)
+dnl Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl gettext package package is covered by the GNU General Public License.
dnl They are *not* in the public domain.
-AC_PREREQ(2.52)
+AC_PREREQ([2.52])
dnl Tells the AM_GNU_GETTEXT macro to consider an intl/ directory.
AC_DEFUN([AM_GNU_GETTEXT_INTL_SUBDIR], [])
--- /dev/null
+# intlmacosx.m4 serial 5 (gettext-0.18.2)
+dnl Copyright (C) 2004-2013 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Checks for special options needed on Mac OS X.
+dnl Defines INTL_MACOSX_LIBS.
+AC_DEFUN([gt_INTL_MACOSX],
+[
+ dnl Check for API introduced in Mac OS X 10.2.
+ AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
+ [gt_cv_func_CFPreferencesCopyAppValue],
+ [gt_save_LIBS="$LIBS"
+ LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <CoreFoundation/CFPreferences.h>]],
+ [[CFPreferencesCopyAppValue(NULL, NULL)]])],
+ [gt_cv_func_CFPreferencesCopyAppValue=yes],
+ [gt_cv_func_CFPreferencesCopyAppValue=no])
+ LIBS="$gt_save_LIBS"])
+ if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
+ AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1],
+ [Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
+ fi
+ dnl Check for API introduced in Mac OS X 10.3.
+ AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent],
+ [gt_save_LIBS="$LIBS"
+ LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <CoreFoundation/CFLocale.h>]],
+ [[CFLocaleCopyCurrent();]])],
+ [gt_cv_func_CFLocaleCopyCurrent=yes],
+ [gt_cv_func_CFLocaleCopyCurrent=no])
+ LIBS="$gt_save_LIBS"])
+ if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+ AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1],
+ [Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
+ fi
+ INTL_MACOSX_LIBS=
+ if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+ INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
+ fi
+ AC_SUBST([INTL_MACOSX_LIBS])
+])
-# intmax.m4 serial 3 (gettext-0.16)
-dnl Copyright (C) 2002-2005 Free Software Foundation, Inc.
+# intmax.m4 serial 6 (gettext-0.18.2)
+dnl Copyright (C) 2002-2005, 2008-2013 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
[
AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
AC_REQUIRE([gl_AC_HEADER_STDINT_H])
- AC_CACHE_CHECK(for intmax_t, gt_cv_c_intmax_t,
- [AC_TRY_COMPILE([
+ AC_CACHE_CHECK([for intmax_t], [gt_cv_c_intmax_t],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
#include <stddef.h>
#include <stdlib.h>
#if HAVE_STDINT_H_WITH_UINTMAX
#if HAVE_INTTYPES_H_WITH_UINTMAX
#include <inttypes.h>
#endif
-], [intmax_t x = -1;
- return !x;],
- gt_cv_c_intmax_t=yes,
- gt_cv_c_intmax_t=no)])
+ ]],
+ [[intmax_t x = -1;
+ return !x;]])],
+ [gt_cv_c_intmax_t=yes],
+ [gt_cv_c_intmax_t=no])])
if test $gt_cv_c_intmax_t = yes; then
- AC_DEFINE(HAVE_INTMAX_T, 1,
+ AC_DEFINE([HAVE_INTMAX_T], [1],
[Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.])
fi
])
-# inttypes-pri.m4 serial 4 (gettext-0.16)
-dnl Copyright (C) 1997-2002, 2006 Free Software Foundation, Inc.
+# inttypes-pri.m4 serial 7 (gettext-0.18.2)
+dnl Copyright (C) 1997-2002, 2006, 2008-2013 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl From Bruno Haible.
-AC_PREREQ(2.52)
+AC_PREREQ([2.53])
# Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI*
# macros to non-string values. This is the case on AIX 4.3.3.
AC_CHECK_HEADERS([inttypes.h])
if test $ac_cv_header_inttypes_h = yes; then
AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken],
- gt_cv_inttypes_pri_broken,
+ [gt_cv_inttypes_pri_broken],
[
- AC_TRY_COMPILE([#include <inttypes.h>
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#include <inttypes.h>
#ifdef PRId32
char *p = PRId32;
#endif
-], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes)
+ ]],
+ [[]])],
+ [gt_cv_inttypes_pri_broken=no],
+ [gt_cv_inttypes_pri_broken=yes])
])
fi
if test "$gt_cv_inttypes_pri_broken" = yes; then
- AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1,
+ AC_DEFINE_UNQUOTED([PRI_MACROS_BROKEN], [1],
[Define if <inttypes.h> exists and defines unusable PRI* macros.])
PRI_MACROS_BROKEN=1
else
-# inttypes_h.m4 serial 7
-dnl Copyright (C) 1997-2004, 2006 Free Software Foundation, Inc.
+# inttypes_h.m4 serial 10
+dnl Copyright (C) 1997-2004, 2006, 2008-2013 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
AC_DEFUN([gl_AC_HEADER_INTTYPES_H],
[
- AC_CACHE_CHECK([for inttypes.h], gl_cv_header_inttypes_h,
- [AC_TRY_COMPILE(
- [#include <sys/types.h>
-#include <inttypes.h>],
- [uintmax_t i = (uintmax_t) -1; return !i;],
- gl_cv_header_inttypes_h=yes,
- gl_cv_header_inttypes_h=no)])
+ AC_CACHE_CHECK([for inttypes.h], [gl_cv_header_inttypes_h],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#include <sys/types.h>
+#include <inttypes.h>
+ ]],
+ [[uintmax_t i = (uintmax_t) -1; return !i;]])],
+ [gl_cv_header_inttypes_h=yes],
+ [gl_cv_header_inttypes_h=no])])
if test $gl_cv_header_inttypes_h = yes; then
- AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1,
+ AC_DEFINE_UNQUOTED([HAVE_INTTYPES_H_WITH_UINTMAX], [1],
[Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
and declares uintmax_t. ])
fi
-# lcmessage.m4 serial 4 (gettext-0.14.2)
-dnl Copyright (C) 1995-2002, 2004-2005 Free Software Foundation, Inc.
+# lcmessage.m4 serial 7 (gettext-0.18.2)
+dnl Copyright (C) 1995-2002, 2004-2005, 2008-2013 Free Software Foundation,
+dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
AC_DEFUN([gt_LC_MESSAGES],
[
- AC_CACHE_CHECK([for LC_MESSAGES], gt_cv_val_LC_MESSAGES,
- [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
- gt_cv_val_LC_MESSAGES=yes, gt_cv_val_LC_MESSAGES=no)])
+ AC_CACHE_CHECK([for LC_MESSAGES], [gt_cv_val_LC_MESSAGES],
+ [AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <locale.h>]],
+ [[return LC_MESSAGES]])],
+ [gt_cv_val_LC_MESSAGES=yes],
+ [gt_cv_val_LC_MESSAGES=no])])
if test $gt_cv_val_LC_MESSAGES = yes; then
- AC_DEFINE(HAVE_LC_MESSAGES, 1,
+ AC_DEFINE([HAVE_LC_MESSAGES], [1],
[Define if your <locale.h> file defines LC_MESSAGES.])
fi
])
-# lib-ld.m4 serial 3 (gettext-0.13)
-dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
+# lib-ld.m4 serial 6
+dnl Copyright (C) 1996-2003, 2009-2014 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl Subroutines of libtool.m4,
-dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
-dnl with libtool.m4.
+dnl with replacements s/_*LT_PATH/AC_LIB_PROG/ and s/lt_/acl_/ to avoid
+dnl collision with libtool.m4.
-dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
+dnl From libtool-2.4. Sets the variable with_gnu_ld to yes or no.
AC_DEFUN([AC_LIB_PROG_LD_GNU],
-[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,
-[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld],
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
case `$LD -v 2>&1 </dev/null` in
*GNU* | *'with BFD'*)
- acl_cv_prog_gnu_ld=yes ;;
+ acl_cv_prog_gnu_ld=yes
+ ;;
*)
- acl_cv_prog_gnu_ld=no ;;
+ acl_cv_prog_gnu_ld=no
+ ;;
esac])
with_gnu_ld=$acl_cv_prog_gnu_ld
])
-dnl From libtool-1.4. Sets the variable LD.
+dnl From libtool-2.4. Sets the variable LD.
AC_DEFUN([AC_LIB_PROG_LD],
-[AC_ARG_WITH(gnu-ld,
-[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
-test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
-AC_REQUIRE([AC_PROG_CC])dnl
+[AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AC_CANONICAL_HOST])dnl
+
+AC_ARG_WITH([gnu-ld],
+ [AS_HELP_STRING([--with-gnu-ld],
+ [assume the C compiler uses GNU ld [default=no]])],
+ [test "$withval" = no || with_gnu_ld=yes],
+ [with_gnu_ld=no])dnl
+
# Prepare PATH_SEPARATOR.
# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
+ # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+ # contains only /bin. Note that ksh looks also at the FPATH variable,
+ # so we have to set that as well for the test.
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ || PATH_SEPARATOR=';'
+ }
fi
+
ac_prog=ld
if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
- AC_MSG_CHECKING([for ld used by GCC])
+ AC_MSG_CHECKING([for ld used by $CC])
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return which upsets mingw
esac
case $ac_prog in
# Accept absolute paths.
- [[\\/]* | [A-Za-z]:[\\/]*)]
- [re_direlt='/[^/][^/]*/\.\./']
- # Canonicalize the path of ld
- ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+ [[\\/]]* | ?:[[\\/]]*)
+ re_direlt='/[[^/]][[^/]]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'`
+ while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
done
test -z "$LD" && LD="$ac_prog"
;;
else
AC_MSG_CHECKING([for non-GNU ld])
fi
-AC_CACHE_VAL(acl_cv_path_LD,
+AC_CACHE_VAL([acl_cv_path_LD],
[if test -z "$LD"; then
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+ acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
for ac_dir in $PATH; do
+ IFS="$acl_save_ifs"
test -z "$ac_dir" && ac_dir=.
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
acl_cv_path_LD="$ac_dir/$ac_prog"
# Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some GNU ld's only accept -v.
+ # but apparently some variants of GNU ld only accept -v.
# Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
+ case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in
*GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break ;;
+ test "$with_gnu_ld" != no && break
+ ;;
*)
- test "$with_gnu_ld" != yes && break ;;
+ test "$with_gnu_ld" != yes && break
+ ;;
esac
fi
done
- IFS="$ac_save_ifs"
+ IFS="$acl_save_ifs"
else
acl_cv_path_LD="$LD" # Let the user override the test with a path.
fi])
LD="$acl_cv_path_LD"
if test -n "$LD"; then
- AC_MSG_RESULT($LD)
+ AC_MSG_RESULT([$LD])
else
- AC_MSG_RESULT(no)
+ AC_MSG_RESULT([no])
fi
test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
AC_LIB_PROG_LD_GNU
-# lib-link.m4 serial 9 (gettext-0.16)
-dnl Copyright (C) 2001-2006 Free Software Foundation, Inc.
+# lib-link.m4 serial 26 (gettext-0.18.2)
+dnl Copyright (C) 2001-2014 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl From Bruno Haible.
-AC_PREREQ(2.50)
+AC_PREREQ([2.54])
dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
dnl the libraries corresponding to explicit and implicit dependencies.
dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
dnl augments the CPPFLAGS variable.
+dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
+dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
AC_DEFUN([AC_LIB_LINKFLAGS],
[
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
AC_REQUIRE([AC_LIB_RPATH])
- define([Name],[translit([$1],[./-], [___])])
- define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ pushdef([Name],[m4_translit([$1],[./+-], [____])])
+ pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
AC_LIB_LINKFLAGS_BODY([$1], [$2])
ac_cv_lib[]Name[]_libs="$LIB[]NAME"
ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
+ ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX"
])
LIB[]NAME="$ac_cv_lib[]Name[]_libs"
LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
+ LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix"
AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
AC_SUBST([LIB]NAME)
AC_SUBST([LTLIB]NAME)
+ AC_SUBST([LIB]NAME[_PREFIX])
dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
dnl results of this search when this library appears as a dependency.
HAVE_LIB[]NAME=yes
- undefine([Name])
- undefine([NAME])
+ popdef([NAME])
+ popdef([Name])
])
-dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
+dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message])
dnl searches for libname and the libraries corresponding to explicit and
dnl implicit dependencies, together with the specified include files and
-dnl the ability to compile and link the specified testcode. If found, it
-dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
-dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
+dnl the ability to compile and link the specified testcode. The missing-message
+dnl defaults to 'no' and may contain additional hints for the user.
+dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME}
+dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and
dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
+dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
+dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
[
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
AC_REQUIRE([AC_LIB_RPATH])
- define([Name],[translit([$1],[./-], [___])])
- define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ pushdef([Name],[m4_translit([$1],[./+-], [____])])
+ pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
dnl accordingly.
AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
ac_save_LIBS="$LIBS"
- LIBS="$LIBS $LIB[]NAME"
- AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
+ dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS,
+ dnl because these -l options might require -L options that are present in
+ dnl LIBS. -l options benefit only from the -L options listed before it.
+ dnl Otherwise, add it to the front of LIBS, because it may be a static
+ dnl library that depends on another static library that is present in LIBS.
+ dnl Static libraries benefit only from the static libraries listed after
+ dnl it.
+ case " $LIB[]NAME" in
+ *" -l"*) LIBS="$LIBS $LIB[]NAME" ;;
+ *) LIBS="$LIB[]NAME $LIBS" ;;
+ esac
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM([[$3]], [[$4]])],
+ [ac_cv_lib[]Name=yes],
+ [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])'])
LIBS="$ac_save_LIBS"
])
if test "$ac_cv_lib[]Name" = yes; then
HAVE_LIB[]NAME=yes
- AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
+ AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.])
AC_MSG_CHECKING([how to link with lib[]$1])
AC_MSG_RESULT([$LIB[]NAME])
else
CPPFLAGS="$ac_save_CPPFLAGS"
LIB[]NAME=
LTLIB[]NAME=
+ LIB[]NAME[]_PREFIX=
fi
AC_SUBST([HAVE_LIB]NAME)
AC_SUBST([LIB]NAME)
AC_SUBST([LTLIB]NAME)
- undefine([Name])
- undefine([NAME])
+ AC_SUBST([LIB]NAME[_PREFIX])
+ popdef([NAME])
+ popdef([Name])
])
dnl Determine the platform dependent parameters needed to use rpath:
-dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
-dnl hardcode_direct, hardcode_minus_L.
+dnl acl_libext,
+dnl acl_shlibext,
+dnl acl_libname_spec,
+dnl acl_library_names_spec,
+dnl acl_hardcode_libdir_flag_spec,
+dnl acl_hardcode_libdir_separator,
+dnl acl_hardcode_direct,
+dnl acl_hardcode_minus_L.
AC_DEFUN([AC_LIB_RPATH],
[
dnl Tell automake >= 1.10 to complain if config.rpath is missing.
AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld
AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host
AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
- AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
+ AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [
CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
. ./conftest.sh
acl_cv_rpath=done
])
wl="$acl_cv_wl"
- libext="$acl_cv_libext"
- shlibext="$acl_cv_shlibext"
- hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
- hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
- hardcode_direct="$acl_cv_hardcode_direct"
- hardcode_minus_L="$acl_cv_hardcode_minus_L"
+ acl_libext="$acl_cv_libext"
+ acl_shlibext="$acl_cv_shlibext"
+ acl_libname_spec="$acl_cv_libname_spec"
+ acl_library_names_spec="$acl_cv_library_names_spec"
+ acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
+ acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
+ acl_hardcode_direct="$acl_cv_hardcode_direct"
+ acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
dnl Determine whether the user wants rpath handling at all.
- AC_ARG_ENABLE(rpath,
+ AC_ARG_ENABLE([rpath],
[ --disable-rpath do not hardcode runtime library paths],
:, enable_rpath=yes)
])
+dnl AC_LIB_FROMPACKAGE(name, package)
+dnl declares that libname comes from the given package. The configure file
+dnl will then not have a --with-libname-prefix option but a
+dnl --with-package-prefix option. Several libraries can come from the same
+dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar
+dnl macro call that searches for libname.
+AC_DEFUN([AC_LIB_FROMPACKAGE],
+[
+ pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+ define([acl_frompackage_]NAME, [$2])
+ popdef([NAME])
+ pushdef([PACK],[$2])
+ pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+ define([acl_libsinpackage_]PACKUP,
+ m4_ifdef([acl_libsinpackage_]PACKUP, [m4_defn([acl_libsinpackage_]PACKUP)[, ]],)[lib$1])
+ popdef([PACKUP])
+ popdef([PACK])
+])
+
dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
dnl the libraries corresponding to explicit and implicit dependencies.
dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
+dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found
+dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
[
AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
- define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+ pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])])
+ pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+ pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])])
+ dnl Autoconf >= 2.61 supports dots in --with options.
+ pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[m4_translit(PACK,[.],[_])],PACK)])
dnl By default, look in $includedir and $libdir.
use_additional=yes
AC_LIB_WITH_FINAL_PREFIX([
eval additional_includedir=\"$includedir\"
eval additional_libdir=\"$libdir\"
])
- AC_LIB_ARG_WITH([lib$1-prefix],
-[ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib
- --without-lib$1-prefix don't search for lib$1 in includedir and libdir],
+ AC_ARG_WITH(P_A_C_K[-prefix],
+[[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib
+ --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]],
[
if test "X$withval" = "Xno"; then
use_additional=no
else
additional_includedir="$withval/include"
additional_libdir="$withval/$acl_libdirstem"
+ if test "$acl_libdirstem2" != "$acl_libdirstem" \
+ && ! test -d "$withval/$acl_libdirstem"; then
+ additional_libdir="$withval/$acl_libdirstem2"
+ fi
fi
fi
])
LIB[]NAME=
LTLIB[]NAME=
INC[]NAME=
+ LIB[]NAME[]_PREFIX=
+ dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been
+ dnl computed. So it has to be reset here.
+ HAVE_LIB[]NAME=
rpathdirs=
ltrpathdirs=
names_already_handled=
names_already_handled="$names_already_handled $name"
dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
dnl or AC_LIB_HAVE_LINKFLAGS call.
- uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
+ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`
eval value=\"\$HAVE_LIB$uppername\"
if test -n "$value"; then
if test "$value" = yes; then
found_la=
found_so=
found_a=
+ eval libname=\"$acl_libname_spec\" # typically: libname=lib$name
+ if test -n "$acl_shlibext"; then
+ shrext=".$acl_shlibext" # typically: shrext=.so
+ else
+ shrext=
+ fi
if test $use_additional = yes; then
- if test -n "$shlibext" \
- && { test -f "$additional_libdir/lib$name.$shlibext" \
- || { test "$shlibext" = dll \
- && test -f "$additional_libdir/lib$name.dll.a"; }; }; then
- found_dir="$additional_libdir"
- if test -f "$additional_libdir/lib$name.$shlibext"; then
- found_so="$additional_libdir/lib$name.$shlibext"
+ dir="$additional_libdir"
+ dnl The same code as in the loop below:
+ dnl First look for a shared library.
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext"
else
- found_so="$additional_libdir/lib$name.dll.a"
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
+ fi
fi
- if test -f "$additional_libdir/lib$name.la"; then
- found_la="$additional_libdir/lib$name.la"
+ fi
+ dnl Then look for a static library.
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
fi
- else
- if test -f "$additional_libdir/lib$name.$libext"; then
- found_dir="$additional_libdir"
- found_a="$additional_libdir/lib$name.$libext"
- if test -f "$additional_libdir/lib$name.la"; then
- found_la="$additional_libdir/lib$name.la"
- fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
fi
fi
fi
case "$x" in
-L*)
dir=`echo "X$x" | sed -e 's/^X-L//'`
- if test -n "$shlibext" \
- && { test -f "$dir/lib$name.$shlibext" \
- || { test "$shlibext" = dll \
- && test -f "$dir/lib$name.dll.a"; }; }; then
- found_dir="$dir"
- if test -f "$dir/lib$name.$shlibext"; then
- found_so="$dir/lib$name.$shlibext"
+ dnl First look for a shared library.
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext"
else
- found_so="$dir/lib$name.dll.a"
- fi
- if test -f "$dir/lib$name.la"; then
- found_la="$dir/lib$name.la"
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
+ fi
fi
- else
- if test -f "$dir/lib$name.$libext"; then
+ fi
+ dnl Then look for a static library.
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
found_dir="$dir"
- found_a="$dir/lib$name.$libext"
- if test -f "$dir/lib$name.la"; then
- found_la="$dir/lib$name.la"
- fi
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
fi
fi
;;
dnl Linking with a shared library. We attempt to hardcode its
dnl directory into the executable's runpath, unless it's the
dnl standard /usr/lib.
- if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then
+ if test "$enable_rpath" = no \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
dnl No hardcoding is needed.
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
else
ltrpathdirs="$ltrpathdirs $found_dir"
fi
dnl The hardcoding into $LIBNAME is system dependent.
- if test "$hardcode_direct" = yes; then
+ if test "$acl_hardcode_direct" = yes; then
dnl Using DIR/libNAME.so during linking hardcodes DIR into the
dnl resulting binary.
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
else
- if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
+ if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
dnl Use an explicit option to hardcode DIR into the resulting
dnl binary.
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
if test -z "$haveit"; then
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
fi
- if test "$hardcode_minus_L" != no; then
+ if test "$acl_hardcode_minus_L" != no; then
dnl FIXME: Not sure whether we should use
dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
dnl here.
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
else
- dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
+ dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH
dnl here, because this doesn't fit in flags passed to the
dnl compiler. So give up. No hardcoding. This affects only
dnl very old systems.
case "$found_dir" in
*/$acl_libdirstem | */$acl_libdirstem/)
basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
+ if test "$name" = '$1'; then
+ LIB[]NAME[]_PREFIX="$basedir"
+ fi
+ additional_includedir="$basedir/include"
+ ;;
+ */$acl_libdirstem2 | */$acl_libdirstem2/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+ if test "$name" = '$1'; then
+ LIB[]NAME[]_PREFIX="$basedir"
+ fi
additional_includedir="$basedir/include"
;;
esac
dnl 3. if it's already present in $LDFLAGS or the already
dnl constructed $LIBNAME,
dnl 4. if it doesn't exist as a directory.
- if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
+ if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
haveit=
- if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
+ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
if test -n "$GCC"; then
case $host_os in
linux* | gnu* | k*bsd*-gnu) haveit=yes;;
done
done
if test "X$rpathdirs" != "X"; then
- if test -n "$hardcode_libdir_separator"; then
+ if test -n "$acl_hardcode_libdir_separator"; then
dnl Weird platform: only the last -rpath option counts, the user must
dnl pass all path elements in one option. We can arrange that for a
dnl single library, but not when more than one $LIBNAMEs are used.
alldirs=
for found_dir in $rpathdirs; do
- alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
+ alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
done
- dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
+ dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl.
acl_save_libdir="$libdir"
libdir="$alldirs"
- eval flag=\"$hardcode_libdir_flag_spec\"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
libdir="$acl_save_libdir"
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
else
for found_dir in $rpathdirs; do
acl_save_libdir="$libdir"
libdir="$found_dir"
- eval flag=\"$hardcode_libdir_flag_spec\"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
libdir="$acl_save_libdir"
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
done
LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
done
fi
+ popdef([P_A_C_K])
+ popdef([PACKLIBS])
+ popdef([PACKUP])
+ popdef([PACK])
+ popdef([NAME])
])
dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
$1=
if test "$enable_rpath" != no; then
- if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
+ if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
dnl Use an explicit option to hardcode directories into the resulting
dnl binary.
rpathdirs=
if test -n "$next"; then
dir="$next"
dnl No need to hardcode the standard /usr/lib.
- if test "X$dir" != "X/usr/$acl_libdirstem"; then
+ if test "X$dir" != "X/usr/$acl_libdirstem" \
+ && test "X$dir" != "X/usr/$acl_libdirstem2"; then
rpathdirs="$rpathdirs $dir"
fi
next=
-L) next=yes ;;
-L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
dnl No need to hardcode the standard /usr/lib.
- if test "X$dir" != "X/usr/$acl_libdirstem"; then
+ if test "X$dir" != "X/usr/$acl_libdirstem" \
+ && test "X$dir" != "X/usr/$acl_libdirstem2"; then
rpathdirs="$rpathdirs $dir"
fi
next= ;;
done
else
dnl The linker is used for linking directly.
- if test -n "$hardcode_libdir_separator"; then
+ if test -n "$acl_hardcode_libdir_separator"; then
dnl Weird platform: only the last -rpath option counts, the user
dnl must pass all path elements in one option.
alldirs=
for dir in $rpathdirs; do
- alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$dir"
+ alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir"
done
acl_save_libdir="$libdir"
libdir="$alldirs"
- eval flag=\"$hardcode_libdir_flag_spec\"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
libdir="$acl_save_libdir"
$1="$flag"
else
for dir in $rpathdirs; do
acl_save_libdir="$libdir"
libdir="$dir"
- eval flag=\"$hardcode_libdir_flag_spec\"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
libdir="$acl_save_libdir"
$1="${$1}${$1:+ }$flag"
done
-# lib-prefix.m4 serial 5 (gettext-0.15)
-dnl Copyright (C) 2001-2005 Free Software Foundation, Inc.
+# lib-prefix.m4 serial 7 (gettext-0.18)
+dnl Copyright (C) 2001-2005, 2008-2014 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
prefix="$acl_save_prefix"
])
-dnl AC_LIB_PREPARE_MULTILIB creates a variable acl_libdirstem, containing
-dnl the basename of the libdir, either "lib" or "lib64".
+dnl AC_LIB_PREPARE_MULTILIB creates
+dnl - a variable acl_libdirstem, containing the basename of the libdir, either
+dnl "lib" or "lib64" or "lib/64",
+dnl - a variable acl_libdirstem2, as a secondary possible value for
+dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or
+dnl "lib/amd64".
AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
[
- dnl There is no formal standard regarding lib and lib64. The current
- dnl practice is that on a system supporting 32-bit and 64-bit instruction
- dnl sets or ABIs, 64-bit libraries go under $prefix/lib64 and 32-bit
- dnl libraries go under $prefix/lib. We determine the compiler's default
- dnl mode by looking at the compiler's library search path. If at least
- dnl of its elements ends in /lib64 or points to a directory whose absolute
- dnl pathname ends in /lib64, we assume a 64-bit ABI. Otherwise we use the
- dnl default, namely "lib".
+ dnl There is no formal standard regarding lib and lib64.
+ dnl On glibc systems, the current practice is that on a system supporting
+ dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
+ dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine
+ dnl the compiler's default mode by looking at the compiler's library search
+ dnl path. If at least one of its elements ends in /lib64 or points to a
+ dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI.
+ dnl Otherwise we use the default, namely "lib".
+ dnl On Solaris systems, the current practice is that on a system supporting
+ dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
+ dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or
+ dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib.
+ AC_REQUIRE([AC_CANONICAL_HOST])
acl_libdirstem=lib
- searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
- if test -n "$searchpath"; then
- acl_save_IFS="${IFS= }"; IFS=":"
- for searchdir in $searchpath; do
- if test -d "$searchdir"; then
- case "$searchdir" in
- */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
- *) searchdir=`cd "$searchdir" && pwd`
- case "$searchdir" in
- */lib64 ) acl_libdirstem=lib64 ;;
- esac ;;
+ acl_libdirstem2=
+ case "$host_os" in
+ solaris*)
+ dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment
+ dnl <http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view>.
+ dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link."
+ dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the
+ dnl symlink is missing, so we set acl_libdirstem2 too.
+ AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit],
+ [AC_EGREP_CPP([sixtyfour bits], [
+#ifdef _LP64
+sixtyfour bits
+#endif
+ ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no])
+ ])
+ if test $gl_cv_solaris_64bit = yes; then
+ acl_libdirstem=lib/64
+ case "$host_cpu" in
+ sparc*) acl_libdirstem2=lib/sparcv9 ;;
+ i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
esac
fi
- done
- IFS="$acl_save_IFS"
- fi
+ ;;
+ *)
+ searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+ if test -n "$searchpath"; then
+ acl_save_IFS="${IFS= }"; IFS=":"
+ for searchdir in $searchpath; do
+ if test -d "$searchdir"; then
+ case "$searchdir" in
+ */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+ */../ | */.. )
+ # Better ignore directories of this form. They are misleading.
+ ;;
+ *) searchdir=`cd "$searchdir" && pwd`
+ case "$searchdir" in
+ */lib64 ) acl_libdirstem=lib64 ;;
+ esac ;;
+ esac
+ fi
+ done
+ IFS="$acl_save_IFS"
+ fi
+ ;;
+ esac
+ test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
])
# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# Written by Gordon Matzigkeit, 1996
#
# This file is free software; the Free Software Foundation gives
m4_define([_LT_COPYING], [dnl
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
# Written by Gordon Matzigkeit, 1996
#
# This file is part of GNU Libtool.
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
])
-# serial 55 LT_INIT
+# serial 57 LT_INIT
# LT_PREREQ(VERSION)
# ------------------
AC_DEFUN([LT_INIT],
[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
+AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
AC_BEFORE([$0], [LT_LANG])dnl
AC_BEFORE([$0], [LT_OUTPUT])dnl
AC_BEFORE([$0], [LTDL_INIT])dnl
AC_REQUIRE([LTOBSOLETE_VERSION])dnl
m4_require([_LT_PROG_LTMAIN])dnl
+_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
+
dnl Parse OPTIONS
_LT_SET_OPTIONS([$0], [$1])
*) break;;
esac
done
-cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
])
m4_defun([_LT_SETUP],
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
+
+_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
+dnl
_LT_DECL([], [host_alias], [0], [The host system])dnl
_LT_DECL([], [host], [0])dnl
_LT_DECL([], [host_os], [0])dnl
dnl
m4_require([_LT_FILEUTILS_DEFAULTS])dnl
m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
m4_require([_LT_CMD_RELOAD])dnl
m4_require([_LT_CHECK_MAGIC_METHOD])dnl
+m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
m4_require([_LT_CMD_OLD_ARCHIVE])dnl
m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_WITH_SYSROOT])dnl
_LT_CONFIG_LIBTOOL_INIT([
# See if we are running on zsh, and set the options which allow our
_LT_CHECK_OBJDIR
m4_require([_LT_TAG_COMPILER])dnl
-_LT_PROG_ECHO_BACKSLASH
case $host_os in
aix3*)
;;
esac
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\([["`\\]]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
# Global variables:
ofile=libtool
can_build_shared=yes
])# _LT_SETUP
+# _LT_PREPARE_SED_QUOTE_VARS
+# --------------------------
+# Define a few sed substitution that help us do robust quoting.
+m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
+[# Backslashify metacharacters that are still active within
+# double-quoted strings.
+sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([["`\\]]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+])
+
# _LT_PROG_LTMAIN
# ---------------
# Note that this code is called both from `configure', and `config.status'
# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
# ---------------------------------------------------
m4_define([lt_decl_varnames_tagged],
-[_$0(m4_quote(m4_default([$1], [[, ]])),
- m4_quote(m4_if([$2], [],
- m4_quote(lt_decl_tag_varnames),
- m4_quote(m4_shift($@)))),
- m4_split(m4_normalize(m4_quote(_LT_TAGS))))])
-m4_define([_lt_decl_varnames_tagged], [lt_combine([$1], [$2], [_], $3)])
+[m4_assert([$# <= 2])dnl
+_$0(m4_quote(m4_default([$1], [[, ]])),
+ m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
+ m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
+m4_define([_lt_decl_varnames_tagged],
+[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
# declaration there will have the same value as in `configure'. VARNAME
# must have a single quote delimited value for this to work.
m4_define([_LT_CONFIG_STATUS_DECLARE],
-[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`'])
+[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
# _LT_CONFIG_STATUS_DECLARATIONS
# embedded single quotes properly. In configure, this macro expands
# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
#
-# <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`'
+# <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
[m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
LTCFLAGS='$LTCFLAGS'
compiler='$compiler_DEFAULT'
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+\$[]1
+_LTECHO_EOF'
+}
+
# Quote evaled strings.
for var in lt_decl_all_varnames([[ \
]], lt_decl_quote_varnames); do
- case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
*[[\\\\\\\`\\"\\\$]]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
;;
*)
eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
# Double-quote double-evaled strings.
for var in lt_decl_all_varnames([[ \
]], lt_decl_dquote_varnames); do
- case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
*[[\\\\\\\`\\"\\\$]]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
;;
*)
eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
esac
done
-# Fix-up fallback echo if it was mangled by the above quoting rules.
-case \$lt_ECHO in
-*'\\\[$]0 --fallback-echo"')dnl "
- lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\`
- ;;
-esac
-
_LT_OUTPUT_LIBTOOL_INIT
])
+# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
+# ------------------------------------
+# Generate a child script FILE with all initialization necessary to
+# reuse the environment learned by the parent script, and make the
+# file executable. If COMMENT is supplied, it is inserted after the
+# `#!' sequence but before initialization text begins. After this
+# macro, additional text can be appended to FILE to form the body of
+# the child script. The macro ends with non-zero status if the
+# file could not be fully written (such as if the disk is full).
+m4_ifdef([AS_INIT_GENERATED],
+[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
+[m4_defun([_LT_GENERATED_FILE_INIT],
+[m4_require([AS_PREPARE])]dnl
+[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
+[lt_write_fail=0
+cat >$1 <<_ASEOF || lt_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+$2
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$1 <<\_ASEOF || lt_write_fail=1
+AS_SHELL_SANITIZE
+_AS_PREPARE
+exec AS_MESSAGE_FD>&1
+_ASEOF
+test $lt_write_fail = 0 && chmod +x $1[]dnl
+m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
# LT_OUTPUT
# ---------
AC_DEFUN([LT_OUTPUT],
[: ${CONFIG_LT=./config.lt}
AC_MSG_NOTICE([creating $CONFIG_LT])
-cat >"$CONFIG_LT" <<_LTEOF
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate a libtool stub with the current configuration.
-
-lt_cl_silent=false
-SHELL=\${CONFIG_SHELL-$SHELL}
-_LTEOF
+_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
+[# Run this file to recreate a libtool stub with the current configuration.])
cat >>"$CONFIG_LT" <<\_LTEOF
-AS_SHELL_SANITIZE
-_AS_PREPARE
-
-exec AS_MESSAGE_FD>&1
+lt_cl_silent=false
exec AS_MESSAGE_LOG_FD>>config.log
{
echo
m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
configured by $[0], generated by m4_PACKAGE_STRING.
-Copyright (C) 2008 Free Software Foundation, Inc.
+Copyright (C) 2011 Free Software Foundation, Inc.
This config.lt script is free software; the Free Software Foundation
gives unlimited permision to copy, distribute and modify it."
# appending to config.log, which fails on DOS, as config.log is still kept
# open by configure. Here we exec the FD to /dev/null, effectively closing
# config.log, so it can be properly (re)opened and appended to by config.lt.
-if test "$no_create" != yes; then
- lt_cl_success=:
- test "$silent" = yes &&
- lt_config_lt_args="$lt_config_lt_args --quiet"
- exec AS_MESSAGE_LOG_FD>/dev/null
- $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
- exec AS_MESSAGE_LOG_FD>>config.log
- $lt_cl_success || AS_EXIT(1)
-fi
+lt_cl_success=:
+test "$silent" = yes &&
+ lt_config_lt_args="$lt_config_lt_args --quiet"
+exec AS_MESSAGE_LOG_FD>/dev/null
+$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
+exec AS_MESSAGE_LOG_FD>>config.log
+$lt_cl_success || AS_EXIT(1)
])# LT_OUTPUT
# if finds mixed CR/LF and LF-only lines. Since sed operates in
# text mode, it properly converts lines to CR/LF. This bash problem
# is reportedly fixed, but why not run on old versions too?
- sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
- || (rm -f "$cfgfile"; exit 1)
+ sed '$q' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
- _LT_PROG_XSI_SHELLFNS
+ _LT_PROG_REPLACE_SHELLFNS
- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
- || (rm -f "$cfgfile"; exit 1)
-
- mv -f "$cfgfile" "$ofile" ||
+ mv -f "$cfgfile" "$ofile" ||
(rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
chmod +x "$ofile"
],
m4_case([$1],
[C], [_LT_LANG(C)],
[C++], [_LT_LANG(CXX)],
+ [Go], [_LT_LANG(GO)],
[Java], [_LT_LANG(GCJ)],
[Fortran 77], [_LT_LANG(F77)],
[Fortran], [_LT_LANG(FC)],
])# _LT_LANG
+m4_ifndef([AC_PROG_GO], [
+############################################################
+# NOTE: This macro has been submitted for inclusion into #
+# GNU Autoconf as AC_PROG_GO. When it is available in #
+# a released version of Autoconf we should remove this #
+# macro and use it instead. #
+############################################################
+m4_defun([AC_PROG_GO],
+[AC_LANG_PUSH(Go)dnl
+AC_ARG_VAR([GOC], [Go compiler command])dnl
+AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
+_AC_ARG_VAR_LDFLAGS()dnl
+AC_CHECK_TOOL(GOC, gccgo)
+if test -z "$GOC"; then
+ if test -n "$ac_tool_prefix"; then
+ AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
+ fi
+fi
+if test -z "$GOC"; then
+ AC_CHECK_PROG(GOC, gccgo, gccgo, false)
+fi
+])#m4_defun
+])#m4_ifndef
+
+
# _LT_LANG_DEFAULT_CONFIG
# -----------------------
m4_defun([_LT_LANG_DEFAULT_CONFIG],
m4_ifdef([LT_PROG_GCJ],
[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
+AC_PROVIDE_IFELSE([AC_PROG_GO],
+ [LT_LANG(GO)],
+ [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
+
AC_PROVIDE_IFELSE([LT_PROG_RC],
[LT_LANG(RC)],
[m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
+AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
dnl AC_DEFUN([AC_LIBTOOL_F77], [])
dnl AC_DEFUN([AC_LIBTOOL_FC], [])
dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
+dnl AC_DEFUN([AC_LIBTOOL_RC], [])
# _LT_TAG_COMPILER
rhapsody* | darwin*)
AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
+ AC_CHECK_TOOL([LIPO], [lipo], [:])
+ AC_CHECK_TOOL([OTOOL], [otool], [:])
+ AC_CHECK_TOOL([OTOOL64], [otool64], [:])
_LT_DECL([], [DSYMUTIL], [1],
[Tool to manipulate archived DWARF debug symbol files on Mac OS X])
_LT_DECL([], [NMEDIT], [1],
[Tool to change global to local symbols on Mac OS X])
+ _LT_DECL([], [LIPO], [1],
+ [Tool to manipulate fat objects and archives on Mac OS X])
+ _LT_DECL([], [OTOOL], [1],
+ [ldd/readelf like tool for Mach-O binaries on Mac OS X])
+ _LT_DECL([], [OTOOL64], [1],
+ [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
[lt_cv_apple_cc_single_mod=no
$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-dynamiclib -Wl,-single_module conftest.c 2>conftest.err
_lt_result=$?
- if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+ # If there is a non-empty error log, and "single_module"
+ # appears in it, assume the flag caused a linker warning
+ if test -s conftest.err && $GREP single_module conftest.err; then
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ # Otherwise, if the output was created with a 0 exit code from
+ # the compiler, it worked.
+ elif test -f libconftest.dylib && test $_lt_result -eq 0; then
lt_cv_apple_cc_single_mod=yes
else
cat conftest.err >&AS_MESSAGE_LOG_FD
rm -rf libconftest.dylib*
rm -f conftest.*
fi])
+
AC_CACHE_CHECK([for -exported_symbols_list linker flag],
[lt_cv_ld_exported_symbols_list],
[lt_cv_ld_exported_symbols_list=no
[lt_cv_ld_exported_symbols_list=no])
LDFLAGS="$save_LDFLAGS"
])
+
+ AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
+ [lt_cv_ld_force_load=no
+ cat > conftest.c << _LT_EOF
+int forced_loaded() { return 2;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
+ $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
+ echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
+ $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
+ echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
+ $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
+ cat > conftest.c << _LT_EOF
+int main() { return 0;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
+ $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
+ _lt_result=$?
+ if test -s conftest.err && $GREP force_load conftest.err; then
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
+ lt_cv_ld_force_load=yes
+ else
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ fi
+ rm -f conftest.err libconftest.a conftest conftest.c
+ rm -rf conftest.dSYM
+ ])
case $host_os in
rhapsody* | darwin1.[[012]])
_lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
darwin1.*)
_lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- darwin*) # darwin 5.x on
+ darwin*) # darwin 5.x on
# if running on 10.5 or later, the deployment target defaults
# to the OS version, if on x86, and 10.4, the deployment
- # target defaults to 10.4. Don't you love it?
+ # target defaults to 10.4. Don't you love it?
case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
_lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
else
_lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
fi
- if test "$DSYMUTIL" != ":"; then
+ if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
_lt_dsymutil='~$DSYMUTIL $lib || :'
else
_lt_dsymutil=
])
-# _LT_DARWIN_LINKER_FEATURES
-# --------------------------
+# _LT_DARWIN_LINKER_FEATURES([TAG])
+# ---------------------------------
# Checks for linker and compiler features on darwin
m4_defun([_LT_DARWIN_LINKER_FEATURES],
[
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_automatic, $1)=yes
_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- _LT_TAGVAR(whole_archive_flag_spec, $1)=''
+ if test "$lt_cv_ld_force_load" = "yes"; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+ m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
+ [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes])
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=''
+ fi
_LT_TAGVAR(link_all_deplibs, $1)=yes
_LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
- if test "$GCC" = "yes"; then
- output_verbose_link_cmd=echo
+ case $cc_basename in
+ ifort*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test "$_lt_dar_can_shared" = "yes"; then
+ output_verbose_link_cmd=func_echo_all
_LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
_LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
_LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
fi
])
-# _LT_SYS_MODULE_PATH_AIX
-# -----------------------
+# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
+# ----------------------------------
# Links a minimal program and checks the executable
# for the system default hardcoded library path. In most cases,
# this is /usr/lib:/lib, but when the MPI compilers are used
# the location of the communication and MPI libs are included too.
# If we don't find anything, use the default library path according
# to the aix ld manual.
+# Store the results from the different compilers for each TAGNAME.
+# Allow to override them for all tags through lt_cv_aix_libpath.
m4_defun([_LT_SYS_MODULE_PATH_AIX],
[m4_require([_LT_DECL_SED])dnl
-AC_LINK_IFELSE(AC_LANG_PROGRAM,[
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi],[])
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+if test "${lt_cv_aix_libpath+set}" = set; then
+ aix_libpath=$lt_cv_aix_libpath
+else
+ AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
+ [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
+ lt_aix_libpath_sed='[
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\([^ ]*\) *$/\1/
+ p
+ }
+ }]'
+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ # Check for a 64-bit object if we didn't find anything.
+ if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ fi],[])
+ if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib"
+ fi
+ ])
+ aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
+fi
])# _LT_SYS_MODULE_PATH_AIX
# _LT_SHELL_INIT(ARG)
# -------------------
m4_define([_LT_SHELL_INIT],
-[ifdef([AC_DIVERSION_NOTICE],
- [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
- [AC_DIVERT_PUSH(NOTICE)])
-$1
-AC_DIVERT_POP
-])# _LT_SHELL_INIT
+[m4_divert_text([M4SH-INIT], [$1
+])])# _LT_SHELL_INIT
+
# _LT_PROG_ECHO_BACKSLASH
# -----------------------
-# Add some code to the start of the generated configure script which
-# will find an echo command which doesn't interpret backslashes.
+# Find how we can fake an echo command that does not interpret backslash.
+# In particular, with Autoconf 2.60 or later we add some code to the start
+# of the generated configure script which will find a shell with a builtin
+# printf (which we can use as an echo command).
m4_defun([_LT_PROG_ECHO_BACKSLASH],
-[_LT_SHELL_INIT([
-# Check that we are running under the correct shell.
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-case X$lt_ECHO in
-X*--fallback-echo)
- # Remove one level of quotation (which was required for Make).
- ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
- ;;
-esac
-
-ECHO=${lt_ECHO-echo}
-if test "X[$]1" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
-elif test "X[$]1" = X--fallback-echo; then
- # Avoid inline document here, it may be left over
- :
-elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
- # Yippee, $ECHO works!
- :
+[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+
+AC_MSG_CHECKING([how to print strings])
+# Test print first, because it will be a builtin if present.
+if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='print -r --'
+elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='printf %s\n'
else
- # Restart under the correct shell.
- exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
-fi
-
-if test "X[$]1" = X--fallback-echo; then
- # used as fallback echo
- shift
- cat <<_LT_EOF
-[$]*
-_LT_EOF
- exit 0
+ # Use this function as a fallback that always works.
+ func_fallback_echo ()
+ {
+ eval 'cat <<_LTECHO_EOF
+$[]1
+_LTECHO_EOF'
+ }
+ ECHO='func_fallback_echo'
fi
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test -z "$lt_ECHO"; then
- if test "X${echo_test_string+set}" != Xset; then
- # find a string as large as possible, as long as the shell can cope with it
- for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
- # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
- if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
- { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
- then
- break
- fi
- done
- fi
-
- if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- :
- else
- # The Solaris, AIX, and Digital Unix default echo programs unquote
- # backslashes. This makes it impossible to quote backslashes using
- # echo "$something" | sed 's/\\/\\\\/g'
- #
- # So, first we look for a working echo in the user's PATH.
-
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for dir in $PATH /usr/ucb; do
- IFS="$lt_save_ifs"
- if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
- test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- ECHO="$dir/echo"
- break
- fi
- done
- IFS="$lt_save_ifs"
-
- if test "X$ECHO" = Xecho; then
- # We didn't find a better echo, so look for alternatives.
- if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # This shell has a builtin print -r that does the trick.
- ECHO='print -r'
- elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
- test "X$CONFIG_SHELL" != X/bin/ksh; then
- # If we have ksh, try running configure again with it.
- ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
- export ORIGINAL_CONFIG_SHELL
- CONFIG_SHELL=/bin/ksh
- export CONFIG_SHELL
- exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
- else
- # Try using printf.
- ECHO='printf %s\n'
- if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # Cool, printf works
- :
- elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
- export CONFIG_SHELL
- SHELL="$CONFIG_SHELL"
- export SHELL
- ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
- elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
- else
- # maybe with a smaller string...
- prev=:
-
- for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
- if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
- then
- break
- fi
- prev="$cmd"
- done
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+ $ECHO "$*"
+}
- if test "$prev" != 'sed 50q "[$]0"'; then
- echo_test_string=`eval $prev`
- export echo_test_string
- exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
- else
- # Oops. We lost completely, so just stick with echo.
- ECHO=echo
- fi
- fi
- fi
- fi
- fi
-fi
+case "$ECHO" in
+ printf*) AC_MSG_RESULT([printf]) ;;
+ print*) AC_MSG_RESULT([print -r]) ;;
+ *) AC_MSG_RESULT([cat]) ;;
+esac
-# Copy echo and quote the copy suitably for passing to libtool from
-# the Makefile, instead of quoting the original, which is used later.
-lt_ECHO=$ECHO
-if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
- lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
-fi
+m4_ifdef([_AS_DETECT_SUGGESTED],
+[_AS_DETECT_SUGGESTED([
+ test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
+ ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+ PATH=/empty FPATH=/empty; export PATH FPATH
+ test "X`printf %s $ECHO`" = "X$ECHO" \
+ || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
-AC_SUBST(lt_ECHO)
-])
_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
-_LT_DECL([], [ECHO], [1],
- [An echo program that does not interpret backslashes])
+_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
])# _LT_PROG_ECHO_BACKSLASH
+# _LT_WITH_SYSROOT
+# ----------------
+AC_DEFUN([_LT_WITH_SYSROOT],
+[AC_MSG_CHECKING([for sysroot])
+AC_ARG_WITH([sysroot],
+[ --with-sysroot[=DIR] Search for dependent libraries within DIR
+ (or the compiler's sysroot if not specified).],
+[], [with_sysroot=no])
+
+dnl lt_sysroot will always be passed unquoted. We quote it here
+dnl in case the user passed a directory name.
+lt_sysroot=
+case ${with_sysroot} in #(
+ yes)
+ if test "$GCC" = yes; then
+ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+ fi
+ ;; #(
+ /*)
+ lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
+ ;; #(
+ no|'')
+ ;; #(
+ *)
+ AC_MSG_RESULT([${with_sysroot}])
+ AC_MSG_ERROR([The sysroot must be an absolute path.])
+ ;;
+esac
+
+ AC_MSG_RESULT([${lt_sysroot:-no}])
+_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
+[dependent libraries, and in which our libraries should be installed.])])
+
# _LT_ENABLE_LOCK
# ---------------
m4_defun([_LT_ENABLE_LOCK],
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '[#]line __oline__ "configure"' > conftest.$ac_ext
+ echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
if test "$lt_cv_prog_gnu_ld" = yes; then
case `/usr/bin/file conftest.$ac_objext` in
rm -rf conftest*
;;
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
LD="${LD-ld} -m elf_i386_fbsd"
;;
x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
+ case `/usr/bin/file conftest.o` in
+ *x86-64*)
+ LD="${LD-ld} -m elf32_x86_64"
+ ;;
+ *)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ esac
+ ;;
+ powerpc64le-*)
+ LD="${LD-ld} -m elf32lppclinux"
;;
- ppc64-*linux*|powerpc64-*linux*)
+ powerpc64-*)
LD="${LD-ld} -m elf32ppclinux"
;;
s390x-*linux*)
x86_64-*linux*)
LD="${LD-ld} -m elf_x86_64"
;;
- ppc*-*linux*|powerpc*-*linux*)
+ powerpcle-*)
+ LD="${LD-ld} -m elf64lppc"
+ ;;
+ powerpc-*)
LD="${LD-ld} -m elf64ppc"
;;
s390*-*linux*|s390*-*tpf*)
CFLAGS="$SAVE_CFLAGS"
fi
;;
-sparc*-*solaris*)
+*-*solaris*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
case `/usr/bin/file conftest.o` in
*64-bit*)
case $lt_cv_prog_gnu_ld in
- yes*) LD="${LD-ld} -m elf64_sparc" ;;
+ yes*)
+ case $host in
+ i?86-*-solaris*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ sparc*-*-solaris*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
+ if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+ LD="${LD-ld}_sol2"
+ fi
+ ;;
*)
if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
LD="${LD-ld} -64"
])# _LT_ENABLE_LOCK
+# _LT_PROG_AR
+# -----------
+m4_defun([_LT_PROG_AR],
+[AC_CHECK_TOOLS(AR, [ar], false)
+: ${AR=ar}
+: ${AR_FLAGS=cru}
+_LT_DECL([], [AR], [1], [The archiver])
+_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
+
+AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
+ [lt_cv_ar_at_file=no
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
+ [echo conftest.$ac_objext > conftest.lst
+ lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
+ AC_TRY_EVAL([lt_ar_try])
+ if test "$ac_status" -eq 0; then
+ # Ensure the archiver fails upon bogus file names.
+ rm -f conftest.$ac_objext libconftest.a
+ AC_TRY_EVAL([lt_ar_try])
+ if test "$ac_status" -ne 0; then
+ lt_cv_ar_at_file=@
+ fi
+ fi
+ rm -f conftest.* libconftest.a
+ ])
+ ])
+
+if test "x$lt_cv_ar_at_file" = xno; then
+ archiver_list_spec=
+else
+ archiver_list_spec=$lt_cv_ar_at_file
+fi
+_LT_DECL([], [archiver_list_spec], [1],
+ [How to feed a file listing to the archiver])
+])# _LT_PROG_AR
+
+
# _LT_CMD_OLD_ARCHIVE
# -------------------
m4_defun([_LT_CMD_OLD_ARCHIVE],
-[AC_CHECK_TOOL(AR, ar, false)
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
-_LT_DECL([], [AR], [1], [The archiver])
-_LT_DECL([], [AR_FLAGS], [1])
+[_LT_PROG_AR
AC_CHECK_TOOL(STRIP, strip, :)
test -z "$STRIP" && STRIP=:
if test -n "$RANLIB"; then
case $host_os in
openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
;;
*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
;;
esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
fi
+
+case $host_os in
+ darwin*)
+ lock_old_archive_extraction=yes ;;
+ *)
+ lock_old_archive_extraction=no ;;
+esac
_LT_DECL([], [old_postinstall_cmds], [2])
_LT_DECL([], [old_postuninstall_cmds], [2])
_LT_TAGDECL([], [old_archive_cmds], [2],
[Commands used to build an old-style archive])
+_LT_DECL([], [lock_old_archive_extraction], [0],
+ [Whether to use a lock for old archive extraction])
])# _LT_CMD_OLD_ARCHIVE
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&AS_MESSAGE_LOG_FD
- echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
$2=yes
if test -s conftest.err; then
# Append any errors to the config.log.
cat conftest.err 1>&AS_MESSAGE_LOG_FD
- $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if diff conftest.exp conftest.er2 >/dev/null; then
$2=yes
lt_cv_sys_max_cmd_len=-1;
;;
- cygwin* | mingw*)
+ cygwin* | mingw* | cegcc*)
# On Win9x/ME, this test blows up -- it succeeds, but takes
# about 5 minutes as the teststring grows exponentially.
# Worse, since 9x/ME are not pre-emptively multitasking,
lt_cv_sys_max_cmd_len=8192;
;;
+ mint*)
+ # On MiNT this can take a long time and run out of memory.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
amigaos*)
# On AmigaOS with pdksh, this test takes hours, literally.
# So we just punt and use a minimum line length of 8192.
lt_cv_sys_max_cmd_len=196608
;;
+ os2*)
+ # The test takes a long time on OS/2.
+ lt_cv_sys_max_cmd_len=8192
+ ;;
+
osf*)
# Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
# due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
;;
*)
lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
- if test -n "$lt_cv_sys_max_cmd_len"; then
+ if test -n "$lt_cv_sys_max_cmd_len" && \
+ test undefined != "$lt_cv_sys_max_cmd_len"; then
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
else
# If test is not a shell built-in, we'll probably end up computing a
# maximum length that is only half of the actual maximum length, but
# we can't tell.
- while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
- = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
+ while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
+ = "X$teststring$teststring"; } >/dev/null 2>&1 &&
test $i != 17 # 1/2 MB should be enough
do
i=`expr $i + 1`
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-[#line __oline__ "configure"
+[#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
# endif
#endif
-#ifdef __cplusplus
-extern "C" void exit (int);
+/* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
#endif
-void fnord() { int i=42;}
+int fnord () { return 42; }
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
if (self)
{
if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ else
+ {
+ if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ else puts (dlerror ());
+ }
/* dlclose (self); */
}
else
puts (dlerror ());
- exit (status);
+ return status;
}]
_LT_EOF
if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
lt_cv_dlopen_self=yes
;;
- mingw* | pw32*)
+ mingw* | pw32* | cegcc*)
lt_cv_dlopen="LoadLibrary"
lt_cv_dlopen_libs=
;;
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&AS_MESSAGE_LOG_FD
- echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
$SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
m4_require([_LT_DECL_EGREP])dnl
m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_OBJDUMP])dnl
m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
AC_MSG_CHECKING([dynamic linker characteristics])
m4_if([$1],
[], [
darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
*) lt_awk_arg="/^libraries:/" ;;
esac
- lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
+ case $host_os in
+ mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;;
+ *) lt_sed_strip_eq="s,=/,/,g" ;;
+ esac
+ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
+ case $lt_search_path_spec in
+ *\;*)
# if the path contains ";" then we assume it to be the separator
# otherwise default to the standard path separator (i.e. ":") - it is
# assumed that no part of a normal pathname contains ";" but that should
# okay in the real world where ";" in dirpaths is itself problematic.
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
- else
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
+ ;;
+ *)
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ esac
# Ok, now we have the path, separated by spaces, we can step through it
# and add multilib dir if necessary.
lt_tmp_lt_search_path_spec=
lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
fi
done
- lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
+ lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
BEGIN {RS=" "; FS="/|\n";} {
lt_foo="";
lt_count=0;
if (lt_foo != "") { lt_freq[[lt_foo]]++; }
if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
}'`
- sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
+ # AWK program above erroneously prepends '/' to C:/dos/paths
+ # for these hosts.
+ case $host_os in
+ mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
+ $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
+ esac
+ sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
else
sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
fi])
case $host_os in
aix3*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
shlibpath_var=LIBPATH
;;
aix[[4-9]]*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
hardcode_into_libs=yes
m68k)
library_names_spec='$libname.ixlibrary $libname.a'
# Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
;;
esac
;;
;;
bsdi[[45]]*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
# libtool to hard-code these into programs
;;
-cygwin* | mingw* | pw32*)
+cygwin* | mingw* | pw32* | cegcc*)
version_type=windows
shrext_cmds=".dll"
need_version=no
need_lib_prefix=no
- case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
+ case $GCC,$cc_basename in
+ yes,*)
+ # gcc
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \${file}`~
cygwin*)
# Cygwin DLLs use 'cyg' prefix rather than 'lib'
soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+m4_if([$1], [],[
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
;;
- mingw*)
+ mingw* | cegcc*)
# MinGW DLLs use traditional 'lib' prefix
soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
- # It is most probably a Windows format PATH printed by
- # mingw gcc, but we are running on Cygwin. Gcc prints its search
- # path with ; separators, and with drive letters. We can handle the
- # drive letters (cygwin fileutils understands them), so leave them,
- # especially as we might pass files found there to a mingw objdump,
- # which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
;;
pw32*)
# pw32 DLLs use 'pw' prefix rather than 'lib'
library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
;;
esac
+ dynamic_linker='Win32 ld.exe'
+ ;;
+
+ *,cl*)
+ # Native MSVC
+ libname_spec='$name'
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ library_names_spec='${libname}.dll.lib'
+
+ case $build_os in
+ mingw*)
+ sys_lib_search_path_spec=
+ lt_save_ifs=$IFS
+ IFS=';'
+ for lt_path in $LIB
+ do
+ IFS=$lt_save_ifs
+ # Let DOS variable expansion print the short 8.3 style file name.
+ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
+ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+ done
+ IFS=$lt_save_ifs
+ # Convert to MSYS style.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
+ ;;
+ cygwin*)
+ # Convert to unix form, then to dos form, then back to unix form
+ # but this time dos style (no spaces!) so that the unix form looks
+ # like /cygdrive/c/PROGRA~1:/cygdr...
+ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
+ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ *)
+ sys_lib_search_path_spec="$LIB"
+ if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
+ # It is most probably a Windows format PATH.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ # FIXME: find the short name or the path components, as spaces are
+ # common. (e.g. "Program Files" -> "PROGRA~1")
+ ;;
+ esac
+
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+ dynamic_linker='Win32 link.exe'
;;
*)
+ # Assume MSVC wrapper
library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ dynamic_linker='Win32 ld.exe'
;;
esac
- dynamic_linker='Win32 ld.exe'
# FIXME: first we should search . and the directory the executable is in
shlibpath_var=PATH
;;
;;
dgux*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
;;
-freebsd1*)
- dynamic_linker=no
- ;;
-
freebsd* | dragonfly*)
# DragonFly does not have aout. When/if they implement a new
# versioning mechanism, adjust this.
objformat=`/usr/bin/objformat`
else
case $host_os in
- freebsd[[123]]*) objformat=aout ;;
+ freebsd[[23]].*) objformat=aout ;;
*) objformat=elf ;;
esac
fi
esac
shlibpath_var=LD_LIBRARY_PATH
case $host_os in
- freebsd2*)
+ freebsd2.*)
shlibpath_overrides_runpath=yes
;;
freebsd3.[[01]]* | freebsdelf3.[[01]]*)
esac
;;
-gnu*)
- version_type=linux
+haiku*)
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
+ dynamic_linker="$host_os runtime_loader"
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_var=LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
hardcode_into_libs=yes
;;
soname_spec='${libname}${release}${shared_ext}$major'
;;
esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
+ # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
postinstall_cmds='chmod 555 $lib'
+ # or fails outright, so override atomically:
+ install_override_mode=555
;;
interix[[3-9]]*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
nonstopux*) version_type=nonstopux ;;
*)
if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
else
version_type=irix
fi ;;
dynamic_linker=no
;;
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
- version_type=linux
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
+
# Some binutils ld are patched to set DT_RUNPATH
- save_LDFLAGS=$LDFLAGS
- save_libdir=$libdir
- eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
- LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
- AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
- [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
- [shlibpath_overrides_runpath=yes])])
- LDFLAGS=$save_LDFLAGS
- libdir=$save_libdir
+ AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
+ [lt_cv_shlibpath_overrides_runpath=no
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
+ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+ [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
+ [lt_cv_shlibpath_overrides_runpath=yes])])
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
+ ])
+ shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
# This implies no fast_install, which is unacceptable.
# Some rework will be needed to allow for fast_install
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
fi
dynamic_linker='GNU/Linux ld.so'
;;
+netbsdelf*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='NetBSD ld.elf_so'
+ ;;
+
netbsd*)
version_type=sunos
need_lib_prefix=no
;;
newsos6)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
;;
solaris*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
;;
sysv4 | sysv4.3*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LD_LIBRARY_PATH
sysv4*MP*)
if test -d /usr/nec ;then
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
soname_spec='$libname${shared_ext}.$major'
shlibpath_var=LD_LIBRARY_PATH
tpf*)
# TPF is a cross-target only. Preferred cross-host = GNU/Linux.
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_name_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
;;
uts4*)
- version_type=linux
+ version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LD_LIBRARY_PATH
if test "$GCC" = yes; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-
+
if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
fi
The last name is the one that the linker finds with -lNAME]])
_LT_DECL([], [soname_spec], [1],
[[The coded name of the library, if different from the real name]])
+_LT_DECL([], [install_override_mode], [1],
+ [Permission mode override for installation of shared libraries])
_LT_DECL([], [postinstall_cmds], [2],
[Command to use after installation of a shared archive])
_LT_DECL([], [postuninstall_cmds], [2],
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
m4_require([_LT_DECL_SED])dnl
m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
AC_ARG_WITH([gnu-ld],
[AS_HELP_STRING([--with-gnu-ld],
esac
reload_cmds='$LD$reload_flag -o $output$reload_objs'
case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ if test "$GCC" != yes; then
+ reload_cmds=false
+ fi
+ ;;
darwin*)
if test "$GCC" = yes; then
reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
fi
;;
esac
-_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
-_LT_DECL([], [reload_cmds], [2])dnl
+_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
+_LT_TAGDECL([], [reload_cmds], [2])dnl
])# _LT_CMD_RELOAD
# -- PORTME fill in with the dynamic library characteristics
m4_defun([_LT_CHECK_MAGIC_METHOD],
[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
AC_CACHE_CHECK([how to recognize dependent libraries],
lt_cv_deplibs_check_method,
[lt_cv_file_magic_cmd='$MAGIC_CMD'
# Base MSYS/MinGW do not provide the 'file' command needed by
# func_win32_libid shell function, so use a weaker test based on 'objdump',
# unless we find 'file', for example because we are cross-compiling.
- if ( file / ) >/dev/null 2>&1; then
+ # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
+ if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
lt_cv_file_magic_cmd='func_win32_libid'
else
- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+ # Keep this pattern in sync with the one in func_win32_libid.
+ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
lt_cv_file_magic_cmd='$OBJDUMP -f'
fi
;;
+cegcc*)
+ # use the weaker test based on 'objdump'. See mingw*.
+ lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ ;;
+
darwin* | rhapsody*)
lt_cv_deplibs_check_method=pass_all
;;
fi
;;
-gnu*)
+haiku*)
lt_cv_deplibs_check_method=pass_all
;;
lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
;;
hppa*64*)
- [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
+ [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]']
lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
;;
*)
- lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
lt_cv_file_magic_test_file=/usr/lib/libc.sl
;;
esac
lt_cv_deplibs_check_method=pass_all
;;
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
lt_cv_deplibs_check_method=pass_all
;;
-netbsd*)
+netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
else
;;
esac
])
+
+file_magic_glob=
+want_nocaseglob=no
+if test "$build" = "$host"; then
+ case $host_os in
+ mingw* | pw32*)
+ if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
+ want_nocaseglob=yes
+ else
+ file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
+ fi
+ ;;
+ esac
+fi
+
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
_LT_DECL([], [deplibs_check_method], [1],
[Method to check whether dependent libraries are shared objects])
_LT_DECL([], [file_magic_cmd], [1],
- [Command to use when deplibs_check_method == "file_magic"])
+ [Command to use when deplibs_check_method = "file_magic"])
+_LT_DECL([], [file_magic_glob], [1],
+ [How to find potential files when deplibs_check_method = "file_magic"])
+_LT_DECL([], [want_nocaseglob], [1],
+ [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
])# _LT_CHECK_MAGIC_METHOD
NM="$lt_cv_path_NM"
else
# Didn't find any BSD compatible name lister, look for dumpbin.
- AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
+ if test -n "$DUMPBIN"; then :
+ # Let the user override the test.
+ else
+ AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
+ case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
+ *COFF*)
+ DUMPBIN="$DUMPBIN -symbols"
+ ;;
+ *)
+ DUMPBIN=:
+ ;;
+ esac
+ fi
AC_SUBST([DUMPBIN])
if test "$DUMPBIN" != ":"; then
NM="$DUMPBIN"
AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
[lt_cv_nm_interface="BSD nm"
echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
(eval "$ac_compile" 2>conftest.err)
cat conftest.err >&AS_MESSAGE_LOG_FD
- (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
+ (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
(eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
cat conftest.err >&AS_MESSAGE_LOG_FD
- (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD)
+ (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
cat conftest.out >&AS_MESSAGE_LOG_FD
if $GREP 'External.*some_variable' conftest.out > /dev/null; then
lt_cv_nm_interface="MS dumpbin"
dnl AC_DEFUN([AM_PROG_NM], [])
dnl AC_DEFUN([AC_PROG_NM], [])
+# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
+# --------------------------------
+# how to determine the name of the shared library
+# associated with a specific link library.
+# -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+m4_require([_LT_DECL_DLLTOOL])
+AC_CACHE_CHECK([how to associate runtime and link libraries],
+lt_cv_sharedlib_from_linklib_cmd,
+[lt_cv_sharedlib_from_linklib_cmd='unknown'
+
+case $host_os in
+cygwin* | mingw* | pw32* | cegcc*)
+ # two different shell functions defined in ltmain.sh
+ # decide which to use based on capabilities of $DLLTOOL
+ case `$DLLTOOL --help 2>&1` in
+ *--identify-strict*)
+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
+ ;;
+ *)
+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
+ ;;
+ esac
+ ;;
+*)
+ # fallback: assume linklib IS sharedlib
+ lt_cv_sharedlib_from_linklib_cmd="$ECHO"
+ ;;
+esac
+])
+sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
+test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
+
+_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
+ [Command to associate shared and link libraries])
+])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
+
+
+# _LT_PATH_MANIFEST_TOOL
+# ----------------------
+# locate the manifest tool
+m4_defun([_LT_PATH_MANIFEST_TOOL],
+[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
+AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
+ [lt_cv_path_mainfest_tool=no
+ echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
+ $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ if $GREP 'Manifest Tool' conftest.out > /dev/null; then
+ lt_cv_path_mainfest_tool=yes
+ fi
+ rm -f conftest*])
+if test "x$lt_cv_path_mainfest_tool" != xyes; then
+ MANIFEST_TOOL=:
+fi
+_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
+])# _LT_PATH_MANIFEST_TOOL
+
# LT_LIB_M
# --------
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
LIBM=
case $host in
-*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
+*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
# These system don't have libm, or don't need it
;;
*-ncr-sysv4.3*)
_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
if test "$GCC" = yes; then
- _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+ case $cc_basename in
+ nvcc*)
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
+ esac
_LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
lt_cv_prog_compiler_rtti_exceptions,
m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_AWK])dnl
AC_REQUIRE([LT_PATH_NM])dnl
AC_REQUIRE([LT_PATH_LD])dnl
m4_require([_LT_DECL_SED])dnl
aix*)
symcode='[[BCDT]]'
;;
-cygwin* | mingw* | pw32*)
+cygwin* | mingw* | pw32* | cegcc*)
symcode='[[ABCDGISTW]]'
;;
hpux*)
lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
# Handle CRLF in mingw tool chain
opt_cr=
# which start with @ or ?.
lt_cv_sys_global_symbol_pipe="$AWK ['"\
" {last_section=section; section=\$ 3};"\
+" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
" \$ 0!~/External *\|/{next};"\
" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
else
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
fi
+ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
# Check to see that the pipe works correctly.
pipe_works=no
if AC_TRY_EVAL(ac_compile); then
# Now try to grab the symbols.
nlist=conftest.nm
- if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
+ if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
# Try sorting and uniquifying the output.
if sort "$nlist" | uniq > "$nlist"T; then
mv -f "$nlist"T "$nlist"
if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
cat <<_LT_EOF > conftest.$ac_ext
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
+#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
+/* DATA imports from DLLs on WIN32 con't be const, because runtime
+ relocations are performed -- see ld's documentation on pseudo-relocs. */
+# define LT@&t@_DLSYM_CONST
+#elif defined(__osf__)
+/* This system does not cope well with relocations in const data. */
+# define LT@&t@_DLSYM_CONST
+#else
+# define LT@&t@_DLSYM_CONST const
+#endif
+
#ifdef __cplusplus
extern "C" {
#endif
cat <<_LT_EOF >> conftest.$ac_ext
/* The mapping between symbol names and symbols. */
-const struct {
+LT@&t@_DLSYM_CONST struct {
const char *name;
void *address;
}
_LT_EOF
# Now try linking the two files.
mv conftest.$ac_objext conftstm.$ac_objext
- lt_save_LIBS="$LIBS"
- lt_save_CFLAGS="$CFLAGS"
+ lt_globsym_save_LIBS=$LIBS
+ lt_globsym_save_CFLAGS=$CFLAGS
LIBS="conftstm.$ac_objext"
CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
pipe_works=yes
fi
- LIBS="$lt_save_LIBS"
- CFLAGS="$lt_save_CFLAGS"
+ LIBS=$lt_globsym_save_LIBS
+ CFLAGS=$lt_globsym_save_CFLAGS
else
echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
fi
AC_MSG_RESULT(ok)
fi
+# Response file support.
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ nm_file_list_spec='@'
+elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
+ nm_file_list_spec='@'
+fi
+
_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
[Take the output of nm and produce a listing of raw symbols and C names])
_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
[lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
[Transform the output of nm in a C name address pair when lib prefix is needed])
+_LT_DECL([], [nm_file_list_spec], [1],
+ [Specify filename containing input files for $NM])
]) # _LT_CMD_GLOBAL_SYMBOLS
_LT_TAGVAR(lt_prog_compiler_pic, $1)=
_LT_TAGVAR(lt_prog_compiler_static, $1)=
-AC_MSG_CHECKING([for $compiler option to produce PIC])
m4_if([$1], [CXX], [
# C++ specific cases for pic, static, wl, etc.
if test "$GXX" = yes; then
beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes.
;;
- mingw* | cygwin* | os2* | pw32*)
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
# Although the cygwin gcc ignores -fPIC, still need this for old-style
# DJGPP does not support shared libraries at all
_LT_TAGVAR(lt_prog_compiler_pic, $1)=
;;
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)=
+ ;;
interix[[3-9]]*)
# Interix 3.x gcc -fpic/-fPIC options generate broken code.
# Instead, we relocate shared libraries at runtime.
fi
;;
hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
case $host_cpu in
- hppa*64*|ia64*)
+ hppa*64*)
;;
*)
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
;;
esac
;;
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
dgux*)
case $cc_basename in
ec++*)
;;
esac
;;
- linux* | k*bsd*-gnu)
+ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
case $cc_basename in
KCC*)
# KAI C++ Compiler
_LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
;;
- icpc* | ecpc* )
- # Intel C++
+ ecpc* )
+ # old Intel C++ for x86_64 which still supported -KPIC.
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
;;
+ icpc* )
+ # Intel C++, used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
pgCC* | pgcpp*)
# Portland Group C++ compiler
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)=
_LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
;;
- xlc* | xlC*)
- # IBM XL 8.0 on PPC
+ xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
+ # IBM XL 8.0, 9.0 on PPC and BlueGene
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
;;
esac
;;
- netbsd*)
+ netbsd* | netbsdelf*-gnu)
;;
*qnx* | *nto*)
# QNX uses GNU C++, but need to define -shared option too, otherwise
;;
solaris*)
case $cc_basename in
- CC*)
+ CC* | sunCC*)
# Sun C++ 4.2, 5.x and Centerline C++
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
# PIC is the default for these OSes.
;;
- mingw* | cygwin* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
# Although the cygwin gcc ignores -fPIC, still need this for old-style
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
;;
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)=
+ ;;
+
hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
case $host_cpu in
- hppa*64*|ia64*)
+ hppa*64*)
# +Z the default
;;
*)
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
;;
esac
+
+ case $cc_basename in
+ nvcc*) # Cuda Compiler Driver 2.2
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
+ if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
+ fi
+ ;;
+ esac
else
# PORTME Check for flag to pass linker flags through the system compiler.
case $host_os in
fi
;;
- mingw* | cygwin* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
m4_if([$1], [GCJ], [],
_LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
;;
- linux* | k*bsd*-gnu)
+ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
case $cc_basename in
- icc* | ecc* | ifort*)
+ # old Intel for x86_64 which still supported -KPIC.
+ ecc*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
;;
- pgcc* | pgf77* | pgf90* | pgf95*)
+ # icc used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ icc* | ifort*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ # Lahey Fortran 8.1.
+ lf95*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
+ ;;
+ nagfor*)
+ # NAG Fortran compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
# All Alpha code is PIC.
_LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
;;
- xl*)
- # IBM XL C 8.0/Fortran 10.1 on PPC
+ xl* | bgxl* | bgf* | mpixl*)
+ # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
;;
*)
case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
+ ;;
+ *Sun\ F* | *Sun*Fortran*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
*Sun\ C*)
# Sun C 5.9
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
;;
- *Sun\ F*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ *Intel*\ [[CF]]*Compiler*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ *Portland\ Group*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
;;
esac
;;
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
case $cc_basename in
- f77* | f90* | f95*)
+ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
_LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
;;
esac
-AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
-_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
- [How to pass a linker flag through the compiler])
+
+AC_CACHE_CHECK([for $compiler option to produce PIC],
+ [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
+ [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
#
# Check to make sure the PIC flag actually works.
_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
[Additional compiler flags for building library objects])
+_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
+ [How to pass a linker flag through the compiler])
#
# Check to make sure the static flag actually works.
#
m4_defun([_LT_LINKER_SHLIBS],
[AC_REQUIRE([LT_PATH_LD])dnl
AC_REQUIRE([LT_PATH_NM])dnl
+m4_require([_LT_PATH_MANIFEST_TOOL])dnl
m4_require([_LT_FILEUTILS_DEFAULTS])dnl
m4_require([_LT_DECL_EGREP])dnl
m4_require([_LT_DECL_SED])dnl
AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
m4_if([$1], [CXX], [
_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
case $host_os in
aix[[4-9]]*)
# If we're using GNU nm, then we don't want the "-C" option.
# -C means demangle to AIX nm, but means don't demangle with GNU nm
+ # Also, AIX nm treats weak defined symbols like other global defined
+ # symbols, whereas GNU nm marks them as "W".
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
else
_LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
fi
;;
pw32*)
_LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
- ;;
- cygwin* | mingw*)
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
- ;;
+ ;;
+ cygwin* | mingw* | cegcc*)
+ case $cc_basename in
+ cl*)
+ _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+ ;;
+ *)
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
+ ;;
+ esac
+ ;;
+ linux* | k*bsd*-gnu | gnu*)
+ _LT_TAGVAR(link_all_deplibs, $1)=no
+ ;;
*)
_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- ;;
+ ;;
esac
- _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
], [
runpath_var=
_LT_TAGVAR(allow_undefined_flag, $1)=
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_direct_absolute, $1)=no
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
- _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
_LT_TAGVAR(hardcode_libdir_separator, $1)=
_LT_TAGVAR(hardcode_minus_L, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
extract_expsyms_cmds=
case $host_os in
- cygwin* | mingw* | pw32*)
+ cygwin* | mingw* | pw32* | cegcc*)
# FIXME: the MSVC++ port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
openbsd*)
with_gnu_ld=no
;;
+ linux* | k*bsd*-gnu | gnu*)
+ _LT_TAGVAR(link_all_deplibs, $1)=no
+ ;;
esac
_LT_TAGVAR(ld_shlibs, $1)=yes
+
+ # On some targets, GNU ld is compatible enough with the native linker
+ # that we're better off using the native interface for both.
+ lt_use_gnu_ld_interface=no
if test "$with_gnu_ld" = yes; then
+ case $host_os in
+ aix*)
+ # The AIX port of GNU ld has always aspired to compatibility
+ # with the native linker. However, as the warning in the GNU ld
+ # block says, versions before 2.19.5* couldn't really create working
+ # shared libraries, regardless of the interface used.
+ case `$LD -v 2>&1` in
+ *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
+ *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
+ *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ fi
+
+ if test "$lt_use_gnu_ld_interface" = yes; then
# If archive_cmds runs LD, not CC, wlarc should be empty
wlarc='${wl}'
fi
supports_anon_versioning=no
case `$LD -v 2>&1` in
+ *GNU\ gold*) supports_anon_versioning=yes ;;
*\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
*\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
*\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
_LT_TAGVAR(ld_shlibs, $1)=no
cat <<_LT_EOF 1>&2
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** Warning: the GNU linker, at least up to release 2.19, is reported
*** to be unable to reliably create shared libraries on AIX.
*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
+*** really care for shared libraries, you may want to install binutils
+*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
+*** You will then need to restart the configuration process.
_LT_EOF
fi
fi
;;
- cygwin* | mingw* | pw32*)
+ cygwin* | mingw* | pw32* | cegcc*)
# _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
# as there is no search path for DLLs.
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
_LT_TAGVAR(always_export_symbols, $1)=no
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
fi
;;
+ haiku*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
interix[[3-9]]*)
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
_LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
- gnu* | linux* | tpf* | k*bsd*-gnu)
+ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
tmp_diet=no
if test "$host_os" = linux-dietlibc; then
case $cc_basename in
if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
&& test "$tmp_diet" = no
then
- tmp_addflag=
+ tmp_addflag=' $pic_flag'
tmp_sharedflag='-shared'
case $cc_basename,$host_cpu in
pgcc*) # Portland Group C compiler
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
tmp_addflag=' $pic_flag'
;;
- pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group f77 and f90 compilers
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
tmp_addflag=' $pic_flag -Mnomain' ;;
ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
tmp_addflag=' -i_dynamic' ;;
tmp_addflag=' -i_dynamic -nofor_main' ;;
ifc* | ifort*) # Intel Fortran compiler
tmp_addflag=' -nofor_main' ;;
- xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+ lf95*) # Lahey Fortran 8.1
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ tmp_sharedflag='--shared' ;;
+ xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
tmp_sharedflag='-qmkshrobj'
tmp_addflag= ;;
+ nvcc*) # Cuda Compiler Driver 2.2
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+ ;;
esac
case `$CC -V 2>&1 | sed 5q` in
*Sun\ C*) # Sun C 5.9
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
_LT_TAGVAR(compiler_needs_object, $1)=yes
tmp_sharedflag='-G' ;;
*Sun\ F*) # Sun Fortran 8.3
fi
case $cc_basename in
- xlf*)
+ xlf* | bgf* | bgxlf* | mpixlf*)
# IBM XL Fortran 10.1 on PPC cannot create shared libs itself
_LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
- _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
- _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
if test "x$supports_anon_versioning" = xyes; then
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
echo "local: *; };" >> $output_objdir/$libname.ver~
- $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
fi
;;
esac
fi
;;
- netbsd*)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
else
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
fi
;;
_LT_EOF
elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
*)
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
else
# If we're using GNU nm, then we don't want the "-C" option.
# -C means demangle to AIX nm, but means don't demangle with GNU nm
+ # Also, AIX nm treats weak defined symbols like other global
+ # defined symbols, whereas GNU nm marks them as "W".
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
else
_LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
fi
if test "$aix_use_runtimelinking" = yes; then
shared_flag="$shared_flag "'${wl}-G'
fi
+ _LT_TAGVAR(link_all_deplibs, $1)=no
else
# not using gcc
if test "$host_cpu" = ia64; then
fi
fi
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
# It seems that -bexpall does not export symbols beginning with
# underscore (_), so it is better to generate a list of symbols to export.
_LT_TAGVAR(always_export_symbols, $1)=yes
_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
# Determine the default libpath from the value encoded in an
# empty executable.
- _LT_SYS_MODULE_PATH_AIX
+ _LT_SYS_MODULE_PATH_AIX([$1])
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
else
if test "$host_cpu" = ia64; then
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
else
# Determine the default libpath from the value encoded in an
# empty executable.
- _LT_SYS_MODULE_PATH_AIX
+ _LT_SYS_MODULE_PATH_AIX([$1])
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
# -berok will link without error, but may produce a broken library.
_LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ if test "$with_gnu_ld" = yes; then
+ # We only use this code for GNU lds that support --whole-archive.
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ else
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ fi
_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
# This is similar to how AIX traditionally builds its shared libraries.
_LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
_LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
;;
- cygwin* | mingw* | pw32*)
+ cygwin* | mingw* | pw32* | cegcc*)
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
- # FIXME: Should let the user specify the lib program.
- _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
- _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ case $cc_basename in
+ cl*)
+ # Native MSVC
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='@'
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
+ else
+ sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
+ # The linker will not automatically build a static lib if we build a DLL.
+ # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+ # Don't use ranlib
+ _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
+ _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile="$lt_outputfile.exe"
+ lt_tool_outputfile="$lt_tool_outputfile.exe"
+ ;;
+ esac~
+ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
+ ;;
+ *)
+ # Assume MSVC wrapper
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+ # FIXME: Should let the user specify the lib program.
+ _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ ;;
+ esac
;;
darwin* | rhapsody*)
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
;;
- freebsd1*)
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
# FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
# support. Future versions do this automatically, but an explicit c++rt0.o
# does not break anything, and helps significantly (at the cost of a little
;;
# Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
+ freebsd2.*)
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_minus_L, $1)=yes
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
freebsd* | dragonfly*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
hpux9*)
if test "$GCC" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
else
_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
fi
;;
hpux10*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
else
_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
if test "$with_gnu_ld" = no; then
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
;;
hpux11*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
case $host_cpu in
hppa*64*)
_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
else
_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ m4_if($1, [], [
+ # Older versions of the 11.00 compiler do not understand -b yet
+ # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
+ _LT_LINKER_OPTION([if $CC understands -b],
+ _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
+ [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
+ [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
+ [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
;;
esac
fi
irix5* | irix6* | nonstopux*)
if test "$GCC" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
# Try to use the -exported_symbol ld option, if it does not
# work, assume that -exports_file does not work either and
# implicitly export all symbols.
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
- AC_LINK_IFELSE(int foo(void) {},
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
- )
- LDFLAGS="$save_LDFLAGS"
+ # This should be the same for all languages, so no per-tag cache variable.
+ AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
+ [lt_cv_irix_exported_symbol],
+ [save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+ AC_LINK_IFELSE(
+ [AC_LANG_SOURCE(
+ [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
+ [C++], [[int foo (void) { return 0; }]],
+ [Fortran 77], [[
+ subroutine foo
+ end]],
+ [Fortran], [[
+ subroutine foo
+ end]])])],
+ [lt_cv_irix_exported_symbol=yes],
+ [lt_cv_irix_exported_symbol=no])
+ LDFLAGS="$save_LDFLAGS"])
+ if test "$lt_cv_irix_exported_symbol" = yes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+ fi
else
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
fi
_LT_TAGVAR(archive_cmds_need_lc, $1)='no'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
_LT_TAGVAR(link_all_deplibs, $1)=yes
;;
- netbsd*)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
else
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
_LT_TAGVAR(hardcode_minus_L, $1)=yes
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+ _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
_LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
;;
osf3*)
if test "$GCC" = yes; then
_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
else
_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
fi
_LT_TAGVAR(archive_cmds_need_lc, $1)='no'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
osf4* | osf5*) # as osf3* with the addition of -msym flag
if test "$GCC" = yes; then
_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
else
_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
- $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
# Both c and cxx compiler support -rpath directly
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
_LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
if test "$GCC" = yes; then
wlarc='${wl}'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
else
case `$CC -V 2>&1` in
*"Compilers 5.0"*)
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
- AC_MSG_CHECKING([whether -lc should be explicitly linked in])
- $RM conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
- pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
- _LT_TAGVAR(allow_undefined_flag, $1)=
- if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
- then
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- else
- _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
- fi
- _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $RM conftest*
- AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)])
+ AC_CACHE_CHECK([whether -lc should be explicitly linked in],
+ [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
+ [$RM conftest*
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
+ pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
+ _LT_TAGVAR(allow_undefined_flag, $1)=
+ if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
+ then
+ lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ else
+ lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ fi
+ _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $RM conftest*
+ ])
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
;;
esac
fi
_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
[Flag to hardcode $libdir into a binary during linking.
This must work even if $libdir does not exist])
-_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
- [[If ld is used when linking, flag to hardcode $libdir into a binary
- during linking. This must work even if $libdir does not exist]])
_LT_TAGDECL([], [hardcode_libdir_separator], [1],
[Whether we need a single "-rpath" flag with a separated argument])
_LT_TAGDECL([], [hardcode_direct], [0],
to runtime path list])
_LT_TAGDECL([], [link_all_deplibs], [0],
[Whether libtool must link a program against all its dependency libraries])
-_LT_TAGDECL([], [fix_srcfile_path], [1],
- [Fix the shell variable $srcfile for the compiler])
_LT_TAGDECL([], [always_export_symbols], [0],
[Set to "yes" if exported symbols are required])
_LT_TAGDECL([], [export_symbols_cmds], [2],
[Symbols that must always be exported])
_LT_TAGDECL([], [prelink_cmds], [2],
[Commands necessary for linking programs (against libraries) with templates])
+_LT_TAGDECL([], [postlink_cmds], [2],
+ [Commands necessary for finishing linking programs])
_LT_TAGDECL([], [file_list_spec], [1],
[Specify filename containing input files])
dnl FIXME: Not yet implemented
])# _LT_LANG_C_CONFIG
-# _LT_PROG_CXX
-# ------------
-# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++
-# compiler, we have our own version here.
-m4_defun([_LT_PROG_CXX],
-[
-pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes])
-AC_PROG_CXX
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
- (test "X$CXX" != "Xg++"))) ; then
- AC_PROG_CXXCPP
-else
- _lt_caught_CXX_error=yes
-fi
-popdef([AC_MSG_ERROR])
-])# _LT_PROG_CXX
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([_LT_PROG_CXX], [])
-
-
# _LT_LANG_CXX_CONFIG([TAG])
# --------------------------
# Ensure that the configuration variables for a C++ compiler are suitably
# defined. These variables are subsequently used by _LT_CONFIG to write
# the compiler configuration to `libtool'.
m4_defun([_LT_LANG_CXX_CONFIG],
-[AC_REQUIRE([_LT_PROG_CXX])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_PATH_MANIFEST_TOOL])dnl
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+ ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+ (test "X$CXX" != "Xg++"))) ; then
+ AC_PROG_CXXCPP
+else
+ _lt_caught_CXX_error=yes
+fi
AC_LANG_PUSH(C++)
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_direct_absolute, $1)=no
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
_LT_TAGVAR(hardcode_libdir_separator, $1)=
_LT_TAGVAR(hardcode_minus_L, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
_LT_TAGVAR(module_expsym_cmds, $1)=
_LT_TAGVAR(link_all_deplibs, $1)=unknown
_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
_LT_TAGVAR(no_undefined_flag, $1)=
_LT_TAGVAR(whole_archive_flag_spec, $1)=
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
# Allow CC to be a program name with arguments.
lt_save_CC=$CC
+ lt_save_CFLAGS=$CFLAGS
lt_save_LD=$LD
lt_save_GCC=$GCC
GCC=$GXX
fi
test -z "${LDCXX+set}" || LD=$LDCXX
CC=${CXX-"c++"}
+ CFLAGS=$CXXFLAGS
compiler=$CC
_LT_TAGVAR(compiler, $1)=$CC
_LT_CC_BASENAME([$compiler])
# Check if GNU C++ uses GNU ld as the underlying linker, since the
# archiving commands below assume that GNU ld is being used.
if test "$with_gnu_ld" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
else
GXX=no
fi
fi
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
# It seems that -bexpall does not export symbols beginning with
# underscore (_), so it is better to generate a list of symbols to
# export.
_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
# Determine the default libpath from the value encoded in an empty
# executable.
- _LT_SYS_MODULE_PATH_AIX
+ _LT_SYS_MODULE_PATH_AIX([$1])
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
else
if test "$host_cpu" = ia64; then
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
else
# Determine the default libpath from the value encoded in an
# empty executable.
- _LT_SYS_MODULE_PATH_AIX
+ _LT_SYS_MODULE_PATH_AIX([$1])
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
# -berok will link without error, but may produce a broken library.
_LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ if test "$with_gnu_ld" = yes; then
+ # We only use this code for GNU lds that support --whole-archive.
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ else
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ fi
_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
# This is similar to how AIX traditionally builds its shared
# libraries.
esac
;;
- cygwin* | mingw* | pw32*)
- # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
- # as there is no search path for DLLs.
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_TAGVAR(always_export_symbols, $1)=no
- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-
- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
+ cygwin* | mingw* | pw32* | cegcc*)
+ case $GXX,$cc_basename in
+ ,cl* | no,cl*)
+ # Native MSVC
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='@'
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
+ else
+ $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
+ # The linker will not automatically build a static lib if we build a DLL.
+ # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ # Don't use ranlib
+ _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
+ _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile="$lt_outputfile.exe"
+ lt_tool_outputfile="$lt_tool_outputfile.exe"
+ ;;
+ esac~
+ func_to_tool_file "$lt_outputfile"~
+ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
+ ;;
+ *)
+ # g++
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+ # as there is no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
darwin* | rhapsody*)
_LT_DARWIN_LINKER_FEATURES($1)
;;
esac
;;
- freebsd[[12]]*)
+ freebsd2.*)
# C++ shared libraries reported to be fairly broken before
# switch to ELF
_LT_TAGVAR(ld_shlibs, $1)=no
_LT_TAGVAR(ld_shlibs, $1)=yes
;;
- gnu*)
+ haiku*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
;;
hpux9*)
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
;;
*)
if test "$GXX" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
else
# FIXME: insert proper C++ library support
_LT_TAGVAR(ld_shlibs, $1)=no
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
;;
*)
if test "$GXX" = yes; then
_LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
esac
fi
case $cc_basename in
CC*)
# SGI C++
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
# Archives containing C++ object files must be created using
# "CC -ar", where "CC" is the IRIX C++ compiler. This is
*)
if test "$GXX" = yes; then
if test "$with_gnu_ld" = no; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
else
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
fi
fi
_LT_TAGVAR(link_all_deplibs, $1)=yes
_LT_TAGVAR(inherit_rpath, $1)=yes
;;
- linux* | k*bsd*-gnu)
+ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
case $cc_basename in
KCC*)
# Kuck and Associates, Inc. (KAI) C++ Compiler
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
pgCC* | pgcpp*)
# Portland Group C++ compiler
case `$CC -V` in
- *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*)
+ *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
_LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
rm -rf $tpldir~
$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
- compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
+ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
_LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
rm -rf $tpldir~
$CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
- $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
+ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
$RANLIB $oldlib'
_LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
rm -rf $tpldir~
$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
rm -rf $tpldir~
$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
;;
- *) # Version 6 will use weak symbols
+ *) # Version 6 and above use weak symbols
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
;;
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
;;
cxx*)
# Compaq C++
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
;;
- xl*)
+ xl* | mpixl* | bgxl*)
# IBM XL 8.0 on PPC, with GNU ld
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
_LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
_LT_TAGVAR(compiler_needs_object, $1)=yes
# Not sure whether something based on
# $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
# would be better.
- output_verbose_link_cmd='echo'
+ output_verbose_link_cmd='func_echo_all'
# Archives containing C++ object files must be created using
# "CC -xar", where "CC" is the Sun C++ compiler. This is
_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
_LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
fi
- output_verbose_link_cmd=echo
+ output_verbose_link_cmd=func_echo_all
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
case $host in
osf3*)
_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
;;
*)
_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
echo "-hidden">> $lib.exp~
- $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
+ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
$RM $lib.exp'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
;;
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
;;
*)
if test "$GXX" = yes && test "$with_gnu_ld" = no; then
_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
case $host in
osf3*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
;;
*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
;;
esac
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
else
# FIXME: insert proper C++ library support
solaris*)
case $cc_basename in
- CC*)
+ CC* | sunCC*)
# Sun C++ 4.2, 5.x and Centerline C++
_LT_TAGVAR(archive_cmds_need_lc,$1)=yes
_LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
esac
_LT_TAGVAR(link_all_deplibs, $1)=yes
- output_verbose_link_cmd='echo'
+ output_verbose_link_cmd='func_echo_all'
# Archives containing C++ object files must be created using
# "CC -xar", where "CC" is the Sun C++ compiler. This is
if test "$GXX" = yes && test "$with_gnu_ld" = no; then
_LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
if $CC --version | $GREP -v '^2\.7' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+ $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
else
# g++ 2.7 appears to require `-G' NOT `-shared' on this
# platform.
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
- output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+ output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
fi
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
CC*)
_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
+ '"$_LT_TAGVAR(old_archive_cmds, $1)"
+ _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
+ '"$_LT_TAGVAR(reload_cmds, $1)"
;;
*)
_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
fi # test -n "$compiler"
CC=$lt_save_CC
+ CFLAGS=$lt_save_CFLAGS
LDCXX=$LD
LD=$lt_save_LD
GCC=$lt_save_GCC
])# _LT_LANG_CXX_CONFIG
+# _LT_FUNC_STRIPNAME_CNF
+# ----------------------
+# func_stripname_cnf prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+#
+# This function is identical to the (non-XSI) version of func_stripname,
+# except this one can be used by m4 code that may be executed by configure,
+# rather than the libtool script.
+m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
+AC_REQUIRE([_LT_DECL_SED])
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
+func_stripname_cnf ()
+{
+ case ${2} in
+ .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+ *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+ esac
+} # func_stripname_cnf
+])# _LT_FUNC_STRIPNAME_CNF
+
# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
# ---------------------------------
# Figure out "hidden" library dependencies from verbose
# objects, libraries and library flags.
m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
# Dependencies to place before and after the object being linked:
_LT_TAGVAR(predep_objects, $1)=
_LT_TAGVAR(postdep_objects, $1)=
}
};
_LT_EOF
+], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
+package foo
+func foo() {
+}
+_LT_EOF
])
+
+_lt_libdeps_save_CFLAGS=$CFLAGS
+case "$CC $CFLAGS " in #(
+*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
+*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
+*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
+esac
+
dnl Parse the compiler output and extract the necessary
dnl objects, libraries and library flags.
if AC_TRY_EVAL(ac_compile); then
pre_test_object_deps_done=no
for p in `eval "$output_verbose_link_cmd"`; do
- case $p in
+ case ${prev}${p} in
-L* | -R* | -l*)
# Some compilers place space between "-{L,R}" and the path.
test $p = "-R"; then
prev=$p
continue
- else
- prev=
fi
+ # Expand the sysroot to ease extracting the directories later.
+ if test -z "$prev"; then
+ case $p in
+ -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
+ -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
+ -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
+ esac
+ fi
+ case $p in
+ =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
+ esac
if test "$pre_test_object_deps_done" = no; then
- case $p in
- -L* | -R*)
+ case ${prev} in
+ -L | -R)
# Internal compiler library paths should come after those
# provided the user. The postdeps already come after the
# user supplied libs so there is no need to process them.
_LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
fi
fi
+ prev=
;;
+ *.lto.$objext) ;; # Ignore GCC LTO objects
*.$objext)
# This assumes that the test object file only shows up
# once in the compiler output.
fi
$RM -f confest.$objext
+CFLAGS=$_lt_libdeps_save_CFLAGS
# PORTME: override above test on systems where it is broken
m4_if([$1], [CXX],
solaris*)
case $cc_basename in
- CC*)
+ CC* | sunCC*)
# The more standards-conforming stlport4 library is
# incompatible with the Cstd library. Avoid specifying
# it if it's in CXXFLAGS. Ignore libCrun as
])# _LT_SYS_HIDDEN_LIBDEPS
-# _LT_PROG_F77
-# ------------
-# Since AC_PROG_F77 is broken, in that it returns the empty string
-# if there is no fortran compiler, we have our own version here.
-m4_defun([_LT_PROG_F77],
-[
-pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes])
-AC_PROG_F77
-if test -z "$F77" || test "X$F77" = "Xno"; then
- _lt_disable_F77=yes
-fi
-popdef([AC_MSG_ERROR])
-])# _LT_PROG_F77
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([_LT_PROG_F77], [])
-
-
# _LT_LANG_F77_CONFIG([TAG])
# --------------------------
# Ensure that the configuration variables for a Fortran 77 compiler are
# suitably defined. These variables are subsequently used by _LT_CONFIG
# to write the compiler configuration to `libtool'.
m4_defun([_LT_LANG_F77_CONFIG],
-[AC_REQUIRE([_LT_PROG_F77])dnl
-AC_LANG_PUSH(Fortran 77)
+[AC_LANG_PUSH(Fortran 77)
+if test -z "$F77" || test "X$F77" = "Xno"; then
+ _lt_disable_F77=yes
+fi
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_TAGVAR(allow_undefined_flag, $1)=
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_direct_absolute, $1)=no
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
_LT_TAGVAR(hardcode_libdir_separator, $1)=
_LT_TAGVAR(hardcode_minus_L, $1)=no
_LT_TAGVAR(hardcode_automatic, $1)=no
_LT_TAGVAR(module_expsym_cmds, $1)=
_LT_TAGVAR(link_all_deplibs, $1)=unknown
_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
_LT_TAGVAR(no_undefined_flag, $1)=
_LT_TAGVAR(whole_archive_flag_spec, $1)=
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
# Allow CC to be a program name with arguments.
lt_save_CC="$CC"
lt_save_GCC=$GCC
+ lt_save_CFLAGS=$CFLAGS
CC=${F77-"f77"}
+ CFLAGS=$FFLAGS
compiler=$CC
_LT_TAGVAR(compiler, $1)=$CC
_LT_CC_BASENAME([$compiler])
GCC=$lt_save_GCC
CC="$lt_save_CC"
+ CFLAGS="$lt_save_CFLAGS"
fi # test "$_lt_disable_F77" != yes
AC_LANG_POP
])# _LT_LANG_F77_CONFIG
-# _LT_PROG_FC
-# -----------
-# Since AC_PROG_FC is broken, in that it returns the empty string
-# if there is no fortran compiler, we have our own version here.
-m4_defun([_LT_PROG_FC],
-[
-pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes])
-AC_PROG_FC
-if test -z "$FC" || test "X$FC" = "Xno"; then
- _lt_disable_FC=yes
-fi
-popdef([AC_MSG_ERROR])
-])# _LT_PROG_FC
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([_LT_PROG_FC], [])
-
-
# _LT_LANG_FC_CONFIG([TAG])
# -------------------------
# Ensure that the configuration variables for a Fortran compiler are
# suitably defined. These variables are subsequently used by _LT_CONFIG
# to write the compiler configuration to `libtool'.
m4_defun([_LT_LANG_FC_CONFIG],
-[AC_REQUIRE([_LT_PROG_FC])dnl
-AC_LANG_PUSH(Fortran)
+[AC_LANG_PUSH(Fortran)
+
+if test -z "$FC" || test "X$FC" = "Xno"; then
+ _lt_disable_FC=yes
+fi
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_TAGVAR(allow_undefined_flag, $1)=
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_direct_absolute, $1)=no
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
_LT_TAGVAR(hardcode_libdir_separator, $1)=
_LT_TAGVAR(hardcode_minus_L, $1)=no
_LT_TAGVAR(hardcode_automatic, $1)=no
_LT_TAGVAR(module_expsym_cmds, $1)=
_LT_TAGVAR(link_all_deplibs, $1)=unknown
_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
_LT_TAGVAR(no_undefined_flag, $1)=
_LT_TAGVAR(whole_archive_flag_spec, $1)=
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
# Allow CC to be a program name with arguments.
lt_save_CC="$CC"
lt_save_GCC=$GCC
+ lt_save_CFLAGS=$CFLAGS
CC=${FC-"f95"}
+ CFLAGS=$FCFLAGS
compiler=$CC
GCC=$ac_cv_fc_compiler_gnu
fi # test -n "$compiler"
GCC=$lt_save_GCC
- CC="$lt_save_CC"
+ CC=$lt_save_CC
+ CFLAGS=$lt_save_CFLAGS
fi # test "$_lt_disable_FC" != yes
AC_LANG_POP
_LT_LINKER_BOILERPLATE
# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
lt_save_GCC=$GCC
GCC=yes
CC=${GCJ-"gcj"}
+CFLAGS=$GCJFLAGS
compiler=$CC
_LT_TAGVAR(compiler, $1)=$CC
_LT_TAGVAR(LD, $1)="$LD"
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
## CAVEAT EMPTOR:
## There is no encapsulation within the following macros, do not change
AC_LANG_RESTORE
GCC=$lt_save_GCC
-CC="$lt_save_CC"
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
])# _LT_LANG_GCJ_CONFIG
+# _LT_LANG_GO_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Go compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_GO_CONFIG],
+[AC_REQUIRE([LT_PROG_GO])dnl
+AC_LANG_SAVE
+
+# Source file extension for Go test sources.
+ac_ext=go
+
+# Object file extension for compiled Go test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="package main; func main() { }"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='package main; func main() { }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GOC-"gccgo"}
+CFLAGS=$GOFLAGS
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)="$LD"
+_LT_CC_BASENAME([$compiler])
+
+# Go did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_GO_CONFIG
+
+
# _LT_LANG_RC_CONFIG([TAG])
# -------------------------
# Ensure that the configuration variables for the Windows resource compiler
# Allow CC to be a program name with arguments.
lt_save_CC="$CC"
+lt_save_CFLAGS=$CFLAGS
lt_save_GCC=$GCC
GCC=
CC=${RC-"windres"}
+CFLAGS=
compiler=$CC
_LT_TAGVAR(compiler, $1)=$CC
_LT_CC_BASENAME([$compiler])
GCC=$lt_save_GCC
AC_LANG_RESTORE
-CC="$lt_save_CC"
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
])# _LT_LANG_RC_CONFIG
dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
+# LT_PROG_GO
+# ----------
+AC_DEFUN([LT_PROG_GO],
+[AC_CHECK_TOOL(GOC, gccgo,)
+])
+
+
# LT_PROG_RC
# ----------
AC_DEFUN([LT_PROG_RC],
])
+# _LT_DECL_OBJDUMP
+# --------------
+# If we don't have a new enough Autoconf to choose the best objdump
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_OBJDUMP],
+[AC_CHECK_TOOL(OBJDUMP, objdump, false)
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
+AC_SUBST([OBJDUMP])
+])
+
+# _LT_DECL_DLLTOOL
+# ----------------
+# Ensure DLLTOOL variable is set.
+m4_defun([_LT_DECL_DLLTOOL],
+[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
+AC_SUBST([DLLTOOL])
+])
+
# _LT_DECL_SED
# ------------
# Check for a fully-functional sed program, that truncates
# Try some XSI features
xsi_shell=no
( _lt_dummy="a/b/c"
- test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
- = c,a/b,, ) >/dev/null 2>&1 \
+ test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
+ = c,a/b,b/c, \
+ && eval 'test $(( 1 + 1 )) -eq 2 \
+ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
&& xsi_shell=yes
AC_MSG_RESULT([$xsi_shell])
_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
])# _LT_CHECK_SHELL_FEATURES
-# _LT_PROG_XSI_SHELLFNS
-# ---------------------
-# Bourne and XSI compatible variants of some useful shell functions.
-m4_defun([_LT_PROG_XSI_SHELLFNS],
-[case $xsi_shell in
- yes)
- cat << \_LT_EOF >> "$cfgfile"
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
- case ${1} in
- */*) func_dirname_result="${1%/*}${2}" ;;
- * ) func_dirname_result="${3}" ;;
- esac
-}
+# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY)
+# ------------------------------------------------------
+# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and
+# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY.
+m4_defun([_LT_PROG_FUNCTION_REPLACE],
+[dnl {
+sed -e '/^$1 ()$/,/^} # $1 /c\
+$1 ()\
+{\
+m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1])
+} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+])
-# func_basename file
-func_basename ()
-{
- func_basename_result="${1##*/}"
-}
-# func_dirname_and_basename file append nondir_replacement
-# perform func_basename and func_dirname in a single function
-# call:
-# dirname: Compute the dirname of FILE. If nonempty,
-# add APPEND to the result, otherwise set result
-# to NONDIR_REPLACEMENT.
-# value returned in "$func_dirname_result"
-# basename: Compute filename of FILE.
-# value retuned in "$func_basename_result"
-# Implementation must be kept synchronized with func_dirname
-# and func_basename. For efficiency, we do not delegate to
-# those functions but instead duplicate the functionality here.
-func_dirname_and_basename ()
-{
- case ${1} in
- */*) func_dirname_result="${1%/*}${2}" ;;
- * ) func_dirname_result="${3}" ;;
- esac
- func_basename_result="${1##*/}"
-}
+# _LT_PROG_REPLACE_SHELLFNS
+# -------------------------
+# Replace existing portable implementations of several shell functions with
+# equivalent extended shell implementations where those features are available..
+m4_defun([_LT_PROG_REPLACE_SHELLFNS],
+[if test x"$xsi_shell" = xyes; then
+ _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl
+ case ${1} in
+ */*) func_dirname_result="${1%/*}${2}" ;;
+ * ) func_dirname_result="${3}" ;;
+ esac])
+
+ _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl
+ func_basename_result="${1##*/}"])
+
+ _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl
+ case ${1} in
+ */*) func_dirname_result="${1%/*}${2}" ;;
+ * ) func_dirname_result="${3}" ;;
+ esac
+ func_basename_result="${1##*/}"])
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-func_stripname ()
-{
- # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
- # positional parameters, so assign one to ordinary parameter first.
- func_stripname_result=${3}
- func_stripname_result=${func_stripname_result#"${1}"}
- func_stripname_result=${func_stripname_result%"${2}"}
-}
+ _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl
+ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+ # positional parameters, so assign one to ordinary parameter first.
+ func_stripname_result=${3}
+ func_stripname_result=${func_stripname_result#"${1}"}
+ func_stripname_result=${func_stripname_result%"${2}"}])
-# func_opt_split
-func_opt_split ()
-{
- func_opt_split_opt=${1%%=*}
- func_opt_split_arg=${1#*=}
-}
+ _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl
+ func_split_long_opt_name=${1%%=*}
+ func_split_long_opt_arg=${1#*=}])
-# func_lo2o object
-func_lo2o ()
-{
- case ${1} in
- *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
- *) func_lo2o_result=${1} ;;
- esac
-}
-_LT_EOF
- ;;
- *) # Bourne compatible functions.
- cat << \_LT_EOF >> "$cfgfile"
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
- # Extract subdirectory from the argument.
- func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
- if test "X$func_dirname_result" = "X${1}"; then
- func_dirname_result="${3}"
- else
- func_dirname_result="$func_dirname_result${2}"
- fi
-}
+ _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl
+ func_split_short_opt_arg=${1#??}
+ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}])
-# func_basename file
-func_basename ()
-{
- func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
-}
+ _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl
+ case ${1} in
+ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+ *) func_lo2o_result=${1} ;;
+ esac])
-# func_dirname_and_basename file append nondir_replacement
-# perform func_basename and func_dirname in a single function
-# call:
-# dirname: Compute the dirname of FILE. If nonempty,
-# add APPEND to the result, otherwise set result
-# to NONDIR_REPLACEMENT.
-# value returned in "$func_dirname_result"
-# basename: Compute filename of FILE.
-# value retuned in "$func_basename_result"
-# Implementation must be kept synchronized with func_dirname
-# and func_basename. For efficiency, we do not delegate to
-# those functions but instead duplicate the functionality here.
-func_dirname_and_basename ()
-{
- # Extract subdirectory from the argument.
- func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
- if test "X$func_dirname_result" = "X${1}"; then
- func_dirname_result="${3}"
- else
- func_dirname_result="$func_dirname_result${2}"
- fi
- func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
-}
+ _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo])
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-# func_strip_suffix prefix name
-func_stripname ()
-{
- case ${2} in
- .*) func_stripname_result=`$ECHO "X${3}" \
- | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
- *) func_stripname_result=`$ECHO "X${3}" \
- | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
- esac
-}
+ _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))])
-# sed scripts:
-my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
-my_sed_long_arg='1s/^-[[^=]]*=//'
+ _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}])
+fi
-# func_opt_split
-func_opt_split ()
-{
- func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
- func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
-}
+if test x"$lt_shell_append" = xyes; then
+ _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"])
-# func_lo2o object
-func_lo2o ()
-{
- func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
-}
-_LT_EOF
-esac
+ _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl
+ func_quote_for_eval "${2}"
+dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \
+ eval "${1}+=\\\\ \\$func_quote_for_eval_result"])
-case $lt_shell_append in
- yes)
- cat << \_LT_EOF >> "$cfgfile"
+ # Save a `func_append' function call where possible by direct use of '+='
+ sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+ test 0 -eq $? || _lt_function_replace_fail=:
+else
+ # Save a `func_append' function call even when '+=' is not available
+ sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+ test 0 -eq $? || _lt_function_replace_fail=:
+fi
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
-{
- eval "$[1]+=\$[2]"
-}
-_LT_EOF
- ;;
- *)
- cat << \_LT_EOF >> "$cfgfile"
+if test x"$_lt_function_replace_fail" = x":"; then
+ AC_MSG_WARN([Unable to substitute extended shell functions in $ofile])
+fi
+])
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
-{
- eval "$[1]=\$$[1]\$[2]"
-}
-_LT_EOF
+# _LT_PATH_CONVERSION_FUNCTIONS
+# -----------------------------
+# Determine which file name conversion functions should be used by
+# func_to_host_file (and, implicitly, by func_to_host_path). These are needed
+# for certain cross-compile configurations and native mingw.
+m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_MSG_CHECKING([how to convert $build file names to $host format])
+AC_CACHE_VAL(lt_cv_to_host_file_cmd,
+[case $host in
+ *-*-mingw* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
+ ;;
+ *-*-cygwin* )
+ lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
+ ;;
+ * ) # otherwise, assume *nix
+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
+ ;;
+ esac
;;
- esac
+ *-*-cygwin* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
+ ;;
+ *-*-cygwin* )
+ lt_cv_to_host_file_cmd=func_convert_file_noop
+ ;;
+ * ) # otherwise, assume *nix
+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
+ ;;
+ esac
+ ;;
+ * ) # unhandled hosts (and "normal" native builds)
+ lt_cv_to_host_file_cmd=func_convert_file_noop
+ ;;
+esac
+])
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
+_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
+ [0], [convert $build file names to $host format])dnl
+
+AC_MSG_CHECKING([how to convert $build file names to toolchain format])
+AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
+[#assume ordinary cross tools, or native build.
+lt_cv_to_tool_file_cmd=func_convert_file_noop
+case $host in
+ *-*-mingw* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
+ ;;
+ esac
+ ;;
+esac
])
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
+_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
+ [0], [convert $build files to toolchain format])dnl
+])# _LT_PATH_CONVERSION_FUNCTIONS
-# lock.m4 serial 6 (gettext-0.16)
-dnl Copyright (C) 2005-2006 Free Software Foundation, Inc.
+# lock.m4 serial 13 (gettext-0.18.2)
+dnl Copyright (C) 2005-2013 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl From Bruno Haible.
-dnl Tests for a multithreading library to be used.
-dnl Defines at most one of the macros USE_POSIX_THREADS, USE_SOLARIS_THREADS,
-dnl USE_PTH_THREADS, USE_WIN32_THREADS
-dnl Sets the variables LIBTHREAD and LTLIBTHREAD to the linker options for use
-dnl in a Makefile (LIBTHREAD for use without libtool, LTLIBTHREAD for use with
-dnl libtool).
-dnl Sets the variables LIBMULTITHREAD and LTLIBMULTITHREAD similarly, for
-dnl programs that really need multithread functionality. The difference
-dnl between LIBTHREAD and LIBMULTITHREAD is that on platforms supporting weak
-dnl symbols, typically LIBTHREAD="" whereas LIBMULTITHREAD="-lpthread".
-dnl Adds to CPPFLAGS the flag -D_REENTRANT or -D_THREAD_SAFE if needed for
-dnl multithread-safe programs.
-
-AC_DEFUN([gl_LOCK_EARLY],
-[
- AC_REQUIRE([gl_LOCK_EARLY_BODY])
-])
-
-dnl The guts of gl_LOCK_EARLY. Needs to be expanded only once.
-
-AC_DEFUN([gl_LOCK_EARLY_BODY],
-[
- dnl Ordering constraints: This macro modifies CPPFLAGS in a way that
- dnl influences the result of the autoconf tests that test for *_unlocked
- dnl declarations, on AIX 5 at least. Therefore it must come early.
- AC_BEFORE([$0], [gl_FUNC_GLIBC_UNLOCKED_IO])dnl
- AC_BEFORE([$0], [gl_ARGP])dnl
-
- AC_REQUIRE([AC_CANONICAL_HOST])
- AC_REQUIRE([AC_GNU_SOURCE]) dnl needed for pthread_rwlock_t on glibc systems
- dnl Check for multithreading.
- AC_ARG_ENABLE(threads,
-AC_HELP_STRING([--enable-threads={posix|solaris|pth|win32}], [specify multithreading API])
-AC_HELP_STRING([--disable-threads], [build without multithread safety]),
- [gl_use_threads=$enableval],
- [case "$host_os" in
- dnl Disable multithreading by default on OSF/1, because it interferes
- dnl with fork()/exec(): When msgexec is linked with -lpthread, its child
- dnl process gets an endless segmentation fault inside execvp().
- osf*) gl_use_threads=no ;;
- *) gl_use_threads=yes ;;
- esac
- ])
- if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then
- # For using <pthread.h>:
- case "$host_os" in
- osf*)
- # On OSF/1, the compiler needs the flag -D_REENTRANT so that it
- # groks <pthread.h>. cc also understands the flag -pthread, but
- # we don't use it because 1. gcc-2.95 doesn't understand -pthread,
- # 2. putting a flag into CPPFLAGS that has an effect on the linker
- # causes the AC_TRY_LINK test below to succeed unexpectedly,
- # leading to wrong values of LIBTHREAD and LTLIBTHREAD.
- CPPFLAGS="$CPPFLAGS -D_REENTRANT"
- ;;
- esac
- # Some systems optimize for single-threaded programs by default, and
- # need special flags to disable these optimizations. For example, the
- # definition of 'errno' in <errno.h>.
- case "$host_os" in
- aix* | freebsd*) CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" ;;
- solaris*) CPPFLAGS="$CPPFLAGS -D_REENTRANT" ;;
- esac
- fi
-])
-
-dnl The guts of gl_LOCK. Needs to be expanded only once.
-
-AC_DEFUN([gl_LOCK_BODY],
+AC_DEFUN([gl_LOCK],
[
- AC_REQUIRE([gl_LOCK_EARLY_BODY])
- gl_threads_api=none
- LIBTHREAD=
- LTLIBTHREAD=
- LIBMULTITHREAD=
- LTLIBMULTITHREAD=
- if test "$gl_use_threads" != no; then
- dnl Check whether the compiler and linker support weak declarations.
- AC_MSG_CHECKING([whether imported symbols can be declared weak])
- gl_have_weak=no
- AC_TRY_LINK([extern void xyzzy ();
-#pragma weak xyzzy], [xyzzy();], [gl_have_weak=yes])
- AC_MSG_RESULT([$gl_have_weak])
- if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then
- # On OSF/1, the compiler needs the flag -pthread or -D_REENTRANT so that
- # it groks <pthread.h>. It's added above, in gl_LOCK_EARLY_BODY.
- AC_CHECK_HEADER(pthread.h, gl_have_pthread_h=yes, gl_have_pthread_h=no)
- if test "$gl_have_pthread_h" = yes; then
- # Other possible tests:
- # -lpthreads (FSU threads, PCthreads)
- # -lgthreads
- gl_have_pthread=
- # Test whether both pthread_mutex_lock and pthread_mutexattr_init exist
- # in libc. IRIX 6.5 has the first one in both libc and libpthread, but
- # the second one only in libpthread, and lock.c needs it.
- AC_TRY_LINK([#include <pthread.h>],
- [pthread_mutex_lock((pthread_mutex_t*)0);
- pthread_mutexattr_init((pthread_mutexattr_t*)0);],
- [gl_have_pthread=yes])
- # Test for libpthread by looking for pthread_kill. (Not pthread_self,
- # since it is defined as a macro on OSF/1.)
- if test -n "$gl_have_pthread"; then
- # The program links fine without libpthread. But it may actually
- # need to link with libpthread in order to create multiple threads.
- AC_CHECK_LIB(pthread, pthread_kill,
- [LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread
- # On Solaris and HP-UX, most pthread functions exist also in libc.
- # Therefore pthread_in_use() needs to actually try to create a
- # thread: pthread_create from libc will fail, whereas
- # pthread_create will actually create a thread.
- case "$host_os" in
- solaris* | hpux*)
- AC_DEFINE([PTHREAD_IN_USE_DETECTION_HARD], 1,
- [Define if the pthread_in_use() detection is hard.])
- esac
- ])
- else
- # Some library is needed. Try libpthread and libc_r.
- AC_CHECK_LIB(pthread, pthread_kill,
- [gl_have_pthread=yes
- LIBTHREAD=-lpthread LTLIBTHREAD=-lpthread
- LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread])
- if test -z "$gl_have_pthread"; then
- # For FreeBSD 4.
- AC_CHECK_LIB(c_r, pthread_kill,
- [gl_have_pthread=yes
- LIBTHREAD=-lc_r LTLIBTHREAD=-lc_r
- LIBMULTITHREAD=-lc_r LTLIBMULTITHREAD=-lc_r])
- fi
- fi
- if test -n "$gl_have_pthread"; then
- gl_threads_api=posix
- AC_DEFINE([USE_POSIX_THREADS], 1,
- [Define if the POSIX multithreading library can be used.])
- if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then
- if test $gl_have_weak = yes; then
- AC_DEFINE([USE_POSIX_THREADS_WEAK], 1,
- [Define if references to the POSIX multithreading library should be made weak.])
- LIBTHREAD=
- LTLIBTHREAD=
- fi
- fi
- # OSF/1 4.0 and MacOS X 10.1 lack the pthread_rwlock_t type and the
- # pthread_rwlock_* functions.
- AC_CHECK_TYPE([pthread_rwlock_t],
- [AC_DEFINE([HAVE_PTHREAD_RWLOCK], 1,
- [Define if the POSIX multithreading library has read/write locks.])],
- [],
- [#include <pthread.h>])
- # glibc defines PTHREAD_MUTEX_RECURSIVE as enum, not as a macro.
- AC_TRY_COMPILE([#include <pthread.h>],
- [#if __FreeBSD__ == 4
+ AC_REQUIRE([gl_THREADLIB])
+ if test "$gl_threads_api" = posix; then
+ # OSF/1 4.0 and Mac OS X 10.1 lack the pthread_rwlock_t type and the
+ # pthread_rwlock_* functions.
+ AC_CHECK_TYPE([pthread_rwlock_t],
+ [AC_DEFINE([HAVE_PTHREAD_RWLOCK], [1],
+ [Define if the POSIX multithreading library has read/write locks.])],
+ [],
+ [#include <pthread.h>])
+ # glibc defines PTHREAD_MUTEX_RECURSIVE as enum, not as a macro.
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM(
+ [[#include <pthread.h>]],
+ [[
+#if __FreeBSD__ == 4
error "No, in FreeBSD 4.0 recursive mutexes actually don't work."
+#elif (defined __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ \
+ && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1070)
+error "No, in Mac OS X < 10.7 recursive mutexes actually don't work."
#else
int x = (int)PTHREAD_MUTEX_RECURSIVE;
return !x;
-#endif],
- [AC_DEFINE([HAVE_PTHREAD_MUTEX_RECURSIVE], 1,
- [Define if the <pthread.h> defines PTHREAD_MUTEX_RECURSIVE.])])
- fi
- fi
- fi
- if test -z "$gl_have_pthread"; then
- if test "$gl_use_threads" = yes || test "$gl_use_threads" = solaris; then
- gl_have_solaristhread=
- gl_save_LIBS="$LIBS"
- LIBS="$LIBS -lthread"
- AC_TRY_LINK([#include <thread.h>
-#include <synch.h>],
- [thr_self();],
- [gl_have_solaristhread=yes])
- LIBS="$gl_save_LIBS"
- if test -n "$gl_have_solaristhread"; then
- gl_threads_api=solaris
- LIBTHREAD=-lthread
- LTLIBTHREAD=-lthread
- LIBMULTITHREAD="$LIBTHREAD"
- LTLIBMULTITHREAD="$LTLIBTHREAD"
- AC_DEFINE([USE_SOLARIS_THREADS], 1,
- [Define if the old Solaris multithreading library can be used.])
- if test $gl_have_weak = yes; then
- AC_DEFINE([USE_SOLARIS_THREADS_WEAK], 1,
- [Define if references to the old Solaris multithreading library should be made weak.])
- LIBTHREAD=
- LTLIBTHREAD=
- fi
- fi
- fi
- fi
- if test "$gl_use_threads" = pth; then
- gl_save_CPPFLAGS="$CPPFLAGS"
- AC_LIB_LINKFLAGS(pth)
- gl_have_pth=
- gl_save_LIBS="$LIBS"
- LIBS="$LIBS -lpth"
- AC_TRY_LINK([#include <pth.h>], [pth_self();], gl_have_pth=yes)
- LIBS="$gl_save_LIBS"
- if test -n "$gl_have_pth"; then
- gl_threads_api=pth
- LIBTHREAD="$LIBPTH"
- LTLIBTHREAD="$LTLIBPTH"
- LIBMULTITHREAD="$LIBTHREAD"
- LTLIBMULTITHREAD="$LTLIBTHREAD"
- AC_DEFINE([USE_PTH_THREADS], 1,
- [Define if the GNU Pth multithreading library can be used.])
- if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then
- if test $gl_have_weak = yes; then
- AC_DEFINE([USE_PTH_THREADS_WEAK], 1,
- [Define if references to the GNU Pth multithreading library should be made weak.])
- LIBTHREAD=
- LTLIBTHREAD=
- fi
- fi
- else
- CPPFLAGS="$gl_save_CPPFLAGS"
- fi
- fi
- if test -z "$gl_have_pthread"; then
- if test "$gl_use_threads" = yes || test "$gl_use_threads" = win32; then
- if { case "$host_os" in
- mingw*) true;;
- *) false;;
- esac
- }; then
- gl_threads_api=win32
- AC_DEFINE([USE_WIN32_THREADS], 1,
- [Define if the Win32 multithreading API can be used.])
- fi
- fi
- fi
+#endif
+ ]])],
+ [AC_DEFINE([HAVE_PTHREAD_MUTEX_RECURSIVE], [1],
+ [Define if the <pthread.h> defines PTHREAD_MUTEX_RECURSIVE.])])
fi
- AC_MSG_CHECKING([for multithread API to use])
- AC_MSG_RESULT([$gl_threads_api])
- AC_SUBST(LIBTHREAD)
- AC_SUBST(LTLIBTHREAD)
- AC_SUBST(LIBMULTITHREAD)
- AC_SUBST(LTLIBMULTITHREAD)
-])
-
-AC_DEFUN([gl_LOCK],
-[
- AC_REQUIRE([gl_LOCK_EARLY])
- AC_REQUIRE([gl_LOCK_BODY])
gl_PREREQ_LOCK
])
-# Prerequisites of lib/lock.c.
-AC_DEFUN([gl_PREREQ_LOCK], [
- AC_REQUIRE([AC_C_INLINE])
-])
-
-dnl Survey of platforms:
-dnl
-dnl Platform Available Compiler Supports test-lock
-dnl flavours option weak result
-dnl --------------- --------- --------- -------- ---------
-dnl Linux 2.4/glibc posix -lpthread Y OK
-dnl
-dnl GNU Hurd/glibc posix
-dnl
-dnl FreeBSD 5.3 posix -lc_r Y
-dnl posix -lkse ? Y
-dnl posix -lpthread ? Y
-dnl posix -lthr Y
-dnl
-dnl FreeBSD 5.2 posix -lc_r Y
-dnl posix -lkse Y
-dnl posix -lthr Y
-dnl
-dnl FreeBSD 4.0,4.10 posix -lc_r Y OK
-dnl
-dnl NetBSD 1.6 --
-dnl
-dnl OpenBSD 3.4 posix -lpthread Y OK
-dnl
-dnl MacOS X 10.[123] posix -lpthread Y OK
-dnl
-dnl Solaris 7,8,9 posix -lpthread Y Sol 7,8: 0.0; Sol 9: OK
-dnl solaris -lthread Y Sol 7,8: 0.0; Sol 9: OK
-dnl
-dnl HP-UX 11 posix -lpthread N (cc) OK
-dnl Y (gcc)
-dnl
-dnl IRIX 6.5 posix -lpthread Y 0.5
-dnl
-dnl AIX 4.3,5.1 posix -lpthread N AIX 4: 0.5; AIX 5: OK
-dnl
-dnl OSF/1 4.0,5.1 posix -pthread (cc) N OK
-dnl -lpthread (gcc) Y
-dnl
-dnl Cygwin posix -lpthread Y OK
-dnl
-dnl Any of the above pth -lpth 0.0
-dnl
-dnl Mingw win32 N OK
-dnl
-dnl BeOS 5 --
-dnl
-dnl The test-lock result shows what happens if in test-lock.c EXPLICIT_YIELD is
-dnl turned off:
-dnl OK if all three tests terminate OK,
-dnl 0.5 if the first test terminates OK but the second one loops endlessly,
-dnl 0.0 if the first test already loops endlessly.
+# Prerequisites of lib/glthread/lock.c.
+AC_DEFUN([gl_PREREQ_LOCK], [:])
+++ /dev/null
-# longdouble.m4 serial 2 (gettext-0.15)
-dnl Copyright (C) 2002-2003, 2006 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-dnl Test whether the compiler supports the 'long double' type.
-dnl Prerequisite: AC_PROG_CC
-
-dnl This file is only needed in autoconf <= 2.59. Newer versions of autoconf
-dnl have a macro AC_TYPE_LONG_DOUBLE with identical semantics.
-
-AC_DEFUN([gt_TYPE_LONGDOUBLE],
-[
- AC_CACHE_CHECK([for long double], gt_cv_c_long_double,
- [if test "$GCC" = yes; then
- gt_cv_c_long_double=yes
- else
- AC_TRY_COMPILE([
- /* The Stardent Vistra knows sizeof(long double), but does not support it. */
- long double foo = 0.0;
- /* On Ultrix 4.3 cc, long double is 4 and double is 8. */
- int array [2*(sizeof(long double) >= sizeof(double)) - 1];
- ], ,
- gt_cv_c_long_double=yes, gt_cv_c_long_double=no)
- fi])
- if test $gt_cv_c_long_double = yes; then
- AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the 'long double' type.])
- fi
-])
-# longlong.m4 serial 8
-dnl Copyright (C) 1999-2006 Free Software Foundation, Inc.
+# longlong.m4 serial 17
+dnl Copyright (C) 1999-2007, 2009-2013 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl From Paul Eggert.
# Define HAVE_LONG_LONG_INT if 'long long int' works.
-# This fixes a bug in Autoconf 2.60, but can be removed once we
-# assume 2.61 everywhere.
+# This fixes a bug in Autoconf 2.61, and can be faster
+# than what's in Autoconf 2.62 through 2.68.
# Note: If the type 'long long int' exists but is only 32 bits large
-# (as on some very old compilers), AC_TYPE_LONG_LONG_INT will not be
+# (as on some very old compilers), HAVE_LONG_LONG_INT will not be
# defined. In this case you can treat 'long long int' like 'long int'.
AC_DEFUN([AC_TYPE_LONG_LONG_INT],
[
+ AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT])
AC_CACHE_CHECK([for long long int], [ac_cv_type_long_long_int],
- [AC_LINK_IFELSE(
- [AC_LANG_PROGRAM(
- [[long long int ll = 9223372036854775807ll;
- long long int nll = -9223372036854775807LL;
- typedef int a[((-9223372036854775807LL < 0
- && 0 < 9223372036854775807ll)
- ? 1 : -1)];
- int i = 63;]],
- [[long long int llmax = 9223372036854775807ll;
- return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i)
- | (llmax / ll) | (llmax % ll));]])],
- [ac_cv_type_long_long_int=yes],
- [ac_cv_type_long_long_int=no])])
+ [ac_cv_type_long_long_int=yes
+ if test "x${ac_cv_prog_cc_c99-no}" = xno; then
+ ac_cv_type_long_long_int=$ac_cv_type_unsigned_long_long_int
+ if test $ac_cv_type_long_long_int = yes; then
+ dnl Catch a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004.
+ dnl If cross compiling, assume the bug is not important, since
+ dnl nobody cross compiles for this platform as far as we know.
+ AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[@%:@include <limits.h>
+ @%:@ifndef LLONG_MAX
+ @%:@ define HALF \
+ (1LL << (sizeof (long long int) * CHAR_BIT - 2))
+ @%:@ define LLONG_MAX (HALF - 1 + HALF)
+ @%:@endif]],
+ [[long long int n = 1;
+ int i;
+ for (i = 0; ; i++)
+ {
+ long long int m = n << i;
+ if (m >> i != n)
+ return 1;
+ if (LLONG_MAX / 2 < m)
+ break;
+ }
+ return 0;]])],
+ [],
+ [ac_cv_type_long_long_int=no],
+ [:])
+ fi
+ fi])
if test $ac_cv_type_long_long_int = yes; then
- AC_DEFINE([HAVE_LONG_LONG_INT], 1,
- [Define to 1 if the system has the type `long long int'.])
+ AC_DEFINE([HAVE_LONG_LONG_INT], [1],
+ [Define to 1 if the system has the type 'long long int'.])
fi
])
-# This macro is obsolescent and should go away soon.
-AC_DEFUN([gl_AC_TYPE_LONG_LONG],
+# Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works.
+# This fixes a bug in Autoconf 2.61, and can be faster
+# than what's in Autoconf 2.62 through 2.68.
+
+# Note: If the type 'unsigned long long int' exists but is only 32 bits
+# large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT
+# will not be defined. In this case you can treat 'unsigned long long int'
+# like 'unsigned long int'.
+
+AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT],
[
- AC_REQUIRE([AC_TYPE_LONG_LONG_INT])
- ac_cv_type_long_long=$ac_cv_type_long_long_int
- if test $ac_cv_type_long_long = yes; then
- AC_DEFINE(HAVE_LONG_LONG, 1,
- [Define if you have the 'long long' type.])
+ AC_CACHE_CHECK([for unsigned long long int],
+ [ac_cv_type_unsigned_long_long_int],
+ [ac_cv_type_unsigned_long_long_int=yes
+ if test "x${ac_cv_prog_cc_c99-no}" = xno; then
+ AC_LINK_IFELSE(
+ [_AC_TYPE_LONG_LONG_SNIPPET],
+ [],
+ [ac_cv_type_unsigned_long_long_int=no])
+ fi])
+ if test $ac_cv_type_unsigned_long_long_int = yes; then
+ AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], [1],
+ [Define to 1 if the system has the type 'unsigned long long int'.])
fi
])
+
+# Expands to a C program that can be used to test for simultaneous support
+# of 'long long' and 'unsigned long long'. We don't want to say that
+# 'long long' is available if 'unsigned long long' is not, or vice versa,
+# because too many programs rely on the symmetry between signed and unsigned
+# integer types (excluding 'bool').
+AC_DEFUN([_AC_TYPE_LONG_LONG_SNIPPET],
+[
+ AC_LANG_PROGRAM(
+ [[/* For now, do not test the preprocessor; as of 2007 there are too many
+ implementations with broken preprocessors. Perhaps this can
+ be revisited in 2012. In the meantime, code should not expect
+ #if to work with literals wider than 32 bits. */
+ /* Test literals. */
+ long long int ll = 9223372036854775807ll;
+ long long int nll = -9223372036854775807LL;
+ unsigned long long int ull = 18446744073709551615ULL;
+ /* Test constant expressions. */
+ typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
+ ? 1 : -1)];
+ typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1
+ ? 1 : -1)];
+ int i = 63;]],
+ [[/* Test availability of runtime routines for shift and division. */
+ long long int llmax = 9223372036854775807ll;
+ unsigned long long int ullmax = 18446744073709551615ull;
+ return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i)
+ | (llmax / ll) | (llmax % ll)
+ | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i)
+ | (ullmax / ull) | (ullmax % ull));]])
+])
# Helper functions for option handling. -*- Autoconf -*-
#
-# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
# Written by Gary V. Vaughan, 2004
#
# This file is free software; the Free Software Foundation gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
-# serial 5 ltoptions.m4
+# serial 7 ltoptions.m4
# This is to help aclocal find these macros, as it can't see m4_define.
AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
[enable_win32_dll=yes
case $host in
-*-*-cygwin* | *-*-mingw* | *-*-pw32*)
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
AC_CHECK_TOOL(AS, as, false)
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
AC_CHECK_TOOL(OBJDUMP, objdump, false)
esac
test -z "$AS" && AS=as
-_LT_DECL([], [AS], [0], [Assembler program])dnl
+_LT_DECL([], [AS], [1], [Assembler program])dnl
test -z "$DLLTOOL" && DLLTOOL=dlltool
-_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
test -z "$OBJDUMP" && OBJDUMP=objdump
-_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
+_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
])# win32-dll
AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
# Old names:
AC_DEFUN([AC_ENABLE_SHARED],
-[_LT_SET_OPTION([LT_INIT], [shared])
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
])
AC_DEFUN([AC_DISABLE_SHARED],
# Old names:
AC_DEFUN([AC_ENABLE_STATIC],
-[_LT_SET_OPTION([LT_INIT], [static])
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
])
AC_DEFUN([AC_DISABLE_STATIC],
# Old names:
AU_DEFUN([AC_ENABLE_FAST_INSTALL],
-[_LT_SET_OPTION([LT_INIT], [fast-install])
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
AC_DIAGNOSE([obsolete],
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
the `fast-install' option into LT_INIT's first parameter.])
# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
m4_define([_LT_WITH_PIC],
[AC_ARG_WITH([pic],
- [AS_HELP_STRING([--with-pic],
+ [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
- [pic_mode="$withval"],
+ [lt_p=${PACKAGE-default}
+ case $withval in
+ yes|no) pic_mode=$withval ;;
+ *)
+ pic_mode=default
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for lt_pkg in $withval; do
+ IFS="$lt_save_ifs"
+ if test "X$lt_pkg" = "X$lt_p"; then
+ pic_mode=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
[pic_mode=default])
test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
#
-# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
-# Written by Gary V. Vaughan, 2004
+# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gary V. Vaughan, 2004
#
# This file is free software; the Free Software Foundation gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
-# serial 5 ltsugar.m4
+# serial 6 ltsugar.m4
# This is to help aclocal find these macros, as it can't see m4_define.
AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
# Produce a SEP delimited list of all paired combinations of elements of
# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
# has the form PREFIXmINFIXSUFFIXn.
+# Needed until we can rely on m4_combine added in Autoconf 2.62.
m4_define([lt_combine],
-[m4_if([$2], [], [],
- [m4_if([$4], [], [],
- [lt_join(m4_quote(m4_default([$1], [[, ]])),
- lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_prefix, [$2],
- [m4_foreach(_Lt_suffix, lt_car([m4_shiftn(3, $@)]),
- [_Lt_prefix[]$3[]_Lt_suffix ])])))))])])dnl
-])
+[m4_if(m4_eval([$# > 3]), [1],
+ [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
+[[m4_foreach([_Lt_prefix], [$2],
+ [m4_foreach([_Lt_suffix],
+ ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
+ [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
-# Generated from ltversion.in.
+# @configure_input@
-# serial 2627 ltversion.m4
+# serial 3337 ltversion.m4
# This file is part of GNU Libtool
-m4_define([LT_PACKAGE_VERSION], [2.2.2])
-m4_define([LT_PACKAGE_REVISION], [1.2627])
+m4_define([LT_PACKAGE_VERSION], [2.4.2])
+m4_define([LT_PACKAGE_REVISION], [1.3337])
AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.2.2'
-macro_revision='1.2627'
+[macro_version='2.4.2'
+macro_revision='1.3337'
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
_LT_DECL(, macro_revision, 0)
])
# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
#
-# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
# Written by Scott James Remnant, 2004.
#
# This file is free software; the Free Software Foundation gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
-# serial 3
+# serial 5 lt~obsolete.m4
# These exist entirely to fool aclocal when bootstrapping libtool.
#
m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
-m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])])
m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
+m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
+m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])])
+m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
+m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])])
+m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
+m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
-# nls.m4 serial 3 (gettext-0.15)
-dnl Copyright (C) 1995-2003, 2005-2006 Free Software Foundation, Inc.
+# nls.m4 serial 5 (gettext-0.18)
+dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014 Free Software Foundation,
+dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
-AC_PREREQ(2.50)
+AC_PREREQ([2.50])
AC_DEFUN([AM_NLS],
[
AC_MSG_CHECKING([whether NLS is requested])
dnl Default is enabled NLS
- AC_ARG_ENABLE(nls,
+ AC_ARG_ENABLE([nls],
[ --disable-nls do not use Native Language Support],
USE_NLS=$enableval, USE_NLS=yes)
- AC_MSG_RESULT($USE_NLS)
- AC_SUBST(USE_NLS)
+ AC_MSG_RESULT([$USE_NLS])
+ AC_SUBST([USE_NLS])
])
-# po.m4 serial 13 (gettext-0.15)
-dnl Copyright (C) 1995-2006 Free Software Foundation, Inc.
+# po.m4 serial 22 (gettext-0.19)
+dnl Copyright (C) 1995-2014 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
-AC_PREREQ(2.50)
+AC_PREREQ([2.60])
dnl Checks for all prerequisites of the po subdirectory.
AC_DEFUN([AM_PO_SUBDIRS],
[
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AC_PROG_INSTALL])dnl
- AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
+ AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+ AC_REQUIRE([AC_PROG_SED])dnl
AC_REQUIRE([AM_NLS])dnl
+ dnl Release version of the gettext macros. This is used to ensure that
+ dnl the gettext macros and po/Makefile.in.in are in sync.
+ AC_SUBST([GETTEXT_MACRO_VERSION], [0.19])
+
dnl Perform the following tests also if --disable-nls has been given,
dnl because they are needed for "make dist" to work.
[$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
(if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
:)
- AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+ AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT])
dnl Test whether it is GNU msgfmt >= 0.15.
changequote(,)dnl
test -n "$localedir" || localedir='${datadir}/locale'
AC_SUBST([localedir])
+ dnl Support for AM_XGETTEXT_OPTION.
+ test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=
+ AC_SUBST([XGETTEXT_EXTRA_OPTIONS])
+
AC_CONFIG_COMMANDS([po-directories], [[
for ac_file in $CONFIG_FILES; do
# Support "outfile[:infile[:infile...]]"
case "$ac_file" in */Makefile.in)
# Adjust a relative srcdir.
ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
- ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
+ ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`
ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
# In autoconf-2.13 it is called $ac_given_srcdir.
# In autoconf-2.50 it is called $srcdir.
if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
rm -f "$ac_dir/POTFILES"
test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
- cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
+ gt_tab=`printf '\t'`
+ cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
POMAKEFILEDEPS="POTFILES.in"
# ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
# on $ac_dir but don't depend on user-specified configuration
test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
fi
ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
- # Hide the ALL_LINGUAS assigment from automake < 1.5.
+ # Hide the ALL_LINGUAS assignment from automake < 1.5.
eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
else
# The set of available languages was given in configure.in.
- # Hide the ALL_LINGUAS assigment from automake < 1.5.
+ # Hide the ALL_LINGUAS assignment from automake < 1.5.
eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
fi
# Compute POFILES
changequote(,)dnl
# Adjust a relative srcdir.
ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
- ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
+ ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`
ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
# In autoconf-2.13 it is called $ac_given_srcdir.
# In autoconf-2.50 it is called $srcdir.
fi
# A sed script that extracts the value of VARIABLE from a Makefile.
+ tab=`printf '\t'`
sed_x_variable='
# Test if the hold space is empty.
x
x
ta
# Yes it was empty. Look if we have the expected variable definition.
-/^[ ]*VARIABLE[ ]*=/{
+/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=/{
# Seen the first line of the variable definition.
- s/^[ ]*VARIABLE[ ]*=//
+ s/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=//
ba
}
bd
sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`
ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`
fi
- # Hide the ALL_LINGUAS assigment from automake < 1.5.
+ # Hide the ALL_LINGUAS assignment from automake < 1.5.
eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
# Compute POFILES
# as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
fi
sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp"
+ tab=`printf '\t'`
if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then
# Add dependencies that cannot be formulated as a simple suffix rule.
for lang in $ALL_LINGUAS; do
frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
cat >> "$ac_file.tmp" <<EOF
$frobbedlang.msg: $lang.po
- @echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
- \$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
+${tab}@echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
+${tab}\$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
EOF
done
fi
frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
cat >> "$ac_file.tmp" <<EOF
$frobbedlang/\$(DOMAIN).resources.dll: $lang.po
- @echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
- \$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
+${tab}@echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
+${tab}\$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
EOF
done
fi
fi
mv "$ac_file.tmp" "$ac_file"
])
+
+dnl Initializes the accumulator used by AM_XGETTEXT_OPTION.
+AC_DEFUN([AM_XGETTEXT_OPTION_INIT],
+[
+ XGETTEXT_EXTRA_OPTIONS=
+])
+
+dnl Registers an option to be passed to xgettext in the po subdirectory.
+AC_DEFUN([AM_XGETTEXT_OPTION],
+[
+ AC_REQUIRE([AM_XGETTEXT_OPTION_INIT])
+ XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS $1"
+])
-# printf-posix.m4 serial 2 (gettext-0.13.1)
-dnl Copyright (C) 2003 Free Software Foundation, Inc.
+# printf-posix.m4 serial 6 (gettext-0.18.2)
+dnl Copyright (C) 2003, 2007, 2009-2013 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
AC_CACHE_CHECK([whether printf() supports POSIX/XSI format strings],
gt_cv_func_printf_posix,
[
- AC_TRY_RUN([
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
#include <stdio.h>
#include <string.h>
/* The string "%2$d %1$d", with dollar characters protected from the shell's
{
sprintf (buf, format, 33, 55);
return (strcmp (buf, "55 33") != 0);
-}], gt_cv_func_printf_posix=yes, gt_cv_func_printf_posix=no,
- [
- AC_EGREP_CPP(notposix, [
-#if defined __NetBSD__ || defined _MSC_VER || defined __MINGW32__ || defined __CYGWIN__
+}]])],
+ [gt_cv_func_printf_posix=yes],
+ [gt_cv_func_printf_posix=no],
+ [
+ AC_EGREP_CPP([notposix], [
+#if defined __NetBSD__ || defined __BEOS__ || defined _MSC_VER || defined __MINGW32__ || defined __CYGWIN__
notposix
#endif
- ], gt_cv_func_printf_posix="guessing no",
- gt_cv_func_printf_posix="guessing yes")
- ])
+ ],
+ [gt_cv_func_printf_posix="guessing no"],
+ [gt_cv_func_printf_posix="guessing yes"])
+ ])
])
case $gt_cv_func_printf_posix in
*yes)
- AC_DEFINE(HAVE_POSIX_PRINTF, 1,
+ AC_DEFINE([HAVE_POSIX_PRINTF], [1],
[Define if your printf() function supports format strings with positions.])
;;
esac
-# progtest.m4 serial 4 (gettext-0.14.2)
-dnl Copyright (C) 1996-2003, 2005 Free Software Foundation, Inc.
+# progtest.m4 serial 7 (gettext-0.18.2)
+dnl Copyright (C) 1996-2003, 2005, 2008-2014 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl Authors:
dnl Ulrich Drepper <drepper@cygnus.com>, 1996.
-AC_PREREQ(2.50)
+AC_PREREQ([2.50])
# Search path for a program which passes the given test.
# Prepare PATH_SEPARATOR.
# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
+ # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+ # contains only /bin. Note that ksh looks also at the FPATH variable,
+ # so we have to set that as well for the test.
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ || PATH_SEPARATOR=';'
+ }
fi
# Find out how to test for executable files. Don't use a zero-byte file,
# Extract the first word of "$2", so it can be a program name with args.
set dummy $2; ac_word=[$]2
AC_MSG_CHECKING([for $ac_word])
-AC_CACHE_VAL(ac_cv_path_$1,
+AC_CACHE_VAL([ac_cv_path_$1],
[case "[$]$1" in
[[\\/]]* | ?:[[\\/]]*)
ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
esac])dnl
$1="$ac_cv_path_$1"
if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
- AC_MSG_RESULT([$]$1)
+ AC_MSG_RESULT([$][$1])
else
- AC_MSG_RESULT(no)
+ AC_MSG_RESULT([no])
fi
-AC_SUBST($1)dnl
+AC_SUBST([$1])dnl
])
-# size_max.m4 serial 5
-dnl Copyright (C) 2003, 2005-2006 Free Software Foundation, Inc.
+# size_max.m4 serial 10
+dnl Copyright (C) 2003, 2005-2006, 2008-2013 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
AC_DEFUN([gl_SIZE_MAX],
[
- AC_CHECK_HEADERS(stdint.h)
+ AC_CHECK_HEADERS([stdint.h])
dnl First test whether the system already has SIZE_MAX.
- AC_MSG_CHECKING([for SIZE_MAX])
- AC_CACHE_VAL([gl_cv_size_max], [
+ AC_CACHE_CHECK([for SIZE_MAX], [gl_cv_size_max], [
gl_cv_size_max=
AC_EGREP_CPP([Found it], [
#include <limits.h>
#ifdef SIZE_MAX
Found it
#endif
-], gl_cv_size_max=yes)
+], [gl_cv_size_max=yes])
if test -z "$gl_cv_size_max"; then
dnl Define it ourselves. Here we assume that the type 'size_t' is not wider
dnl than the type 'unsigned long'. Try hard to find a definition that can
dnl be used in a preprocessor #if, i.e. doesn't contain a cast.
- _AC_COMPUTE_INT([sizeof (size_t) * CHAR_BIT - 1], size_t_bits_minus_1,
+ AC_COMPUTE_INT([size_t_bits_minus_1], [sizeof (size_t) * CHAR_BIT - 1],
[#include <stddef.h>
-#include <limits.h>], size_t_bits_minus_1=)
- _AC_COMPUTE_INT([sizeof (size_t) <= sizeof (unsigned int)], fits_in_uint,
- [#include <stddef.h>], fits_in_uint=)
+#include <limits.h>], [size_t_bits_minus_1=])
+ AC_COMPUTE_INT([fits_in_uint], [sizeof (size_t) <= sizeof (unsigned int)],
+ [#include <stddef.h>], [fits_in_uint=])
if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then
if test $fits_in_uint = 1; then
dnl Even though SIZE_MAX fits in an unsigned int, it must be of type
dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned long'.
- AC_TRY_COMPILE([#include <stddef.h>
- extern size_t foo;
- extern unsigned long foo;
- ], [], fits_in_uint=0)
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <stddef.h>
+ extern size_t foo;
+ extern unsigned long foo;
+ ]],
+ [[]])],
+ [fits_in_uint=0])
fi
dnl We cannot use 'expr' to simplify this expression, because 'expr'
dnl works only with 'long' integers in the host environment, while we
fi
fi
])
- AC_MSG_RESULT([$gl_cv_size_max])
if test "$gl_cv_size_max" != yes; then
AC_DEFINE_UNQUOTED([SIZE_MAX], [$gl_cv_size_max],
[Define as the maximum value of type 'size_t', if the system doesn't define it.])
fi
+ dnl Don't redefine SIZE_MAX in config.h if config.h is re-included after
+ dnl <stdint.h>. Remember that the #undef in AH_VERBATIM gets replaced with
+ dnl #define by AC_DEFINE_UNQUOTED.
+ AH_VERBATIM([SIZE_MAX],
+[/* Define as the maximum value of type 'size_t', if the system doesn't define
+ it. */
+#ifndef SIZE_MAX
+# undef SIZE_MAX
+#endif])
+])
+
+dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in.
+dnl Remove this when we can assume autoconf >= 2.61.
+m4_ifdef([AC_COMPUTE_INT], [], [
+ AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])])
])
-# stdint_h.m4 serial 6
-dnl Copyright (C) 1997-2004, 2006 Free Software Foundation, Inc.
+# stdint_h.m4 serial 9
+dnl Copyright (C) 1997-2004, 2006, 2008-2013 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
AC_DEFUN([gl_AC_HEADER_STDINT_H],
[
- AC_CACHE_CHECK([for stdint.h], gl_cv_header_stdint_h,
- [AC_TRY_COMPILE(
- [#include <sys/types.h>
-#include <stdint.h>],
- [uintmax_t i = (uintmax_t) -1; return !i;],
- gl_cv_header_stdint_h=yes,
- gl_cv_header_stdint_h=no)])
+ AC_CACHE_CHECK([for stdint.h], [gl_cv_header_stdint_h],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <sys/types.h>
+ #include <stdint.h>]],
+ [[uintmax_t i = (uintmax_t) -1; return !i;]])],
+ [gl_cv_header_stdint_h=yes],
+ [gl_cv_header_stdint_h=no])])
if test $gl_cv_header_stdint_h = yes; then
- AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1,
+ AC_DEFINE_UNQUOTED([HAVE_STDINT_H_WITH_UINTMAX], [1],
[Define if <stdint.h> exists, doesn't clash with <sys/types.h>,
and declares uintmax_t. ])
fi
--- /dev/null
+# threadlib.m4 serial 11 (gettext-0.18.2)
+dnl Copyright (C) 2005-2014 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+dnl gl_THREADLIB
+dnl ------------
+dnl Tests for a multithreading library to be used.
+dnl If the configure.ac contains a definition of the gl_THREADLIB_DEFAULT_NO
+dnl (it must be placed before the invocation of gl_THREADLIB_EARLY!), then the
+dnl default is 'no', otherwise it is system dependent. In both cases, the user
+dnl can change the choice through the options --enable-threads=choice or
+dnl --disable-threads.
+dnl Defines at most one of the macros USE_POSIX_THREADS, USE_SOLARIS_THREADS,
+dnl USE_PTH_THREADS, USE_WINDOWS_THREADS
+dnl Sets the variables LIBTHREAD and LTLIBTHREAD to the linker options for use
+dnl in a Makefile (LIBTHREAD for use without libtool, LTLIBTHREAD for use with
+dnl libtool).
+dnl Sets the variables LIBMULTITHREAD and LTLIBMULTITHREAD similarly, for
+dnl programs that really need multithread functionality. The difference
+dnl between LIBTHREAD and LIBMULTITHREAD is that on platforms supporting weak
+dnl symbols, typically LIBTHREAD is empty whereas LIBMULTITHREAD is not.
+dnl Adds to CPPFLAGS the flag -D_REENTRANT or -D_THREAD_SAFE if needed for
+dnl multithread-safe programs.
+
+AC_DEFUN([gl_THREADLIB_EARLY],
+[
+ AC_REQUIRE([gl_THREADLIB_EARLY_BODY])
+])
+
+dnl The guts of gl_THREADLIB_EARLY. Needs to be expanded only once.
+
+AC_DEFUN([gl_THREADLIB_EARLY_BODY],
+[
+ dnl Ordering constraints: This macro modifies CPPFLAGS in a way that
+ dnl influences the result of the autoconf tests that test for *_unlocked
+ dnl declarations, on AIX 5 at least. Therefore it must come early.
+ AC_BEFORE([$0], [gl_FUNC_GLIBC_UNLOCKED_IO])dnl
+ AC_BEFORE([$0], [gl_ARGP])dnl
+
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ dnl _GNU_SOURCE is needed for pthread_rwlock_t on glibc systems.
+ dnl AC_USE_SYSTEM_EXTENSIONS was introduced in autoconf 2.60 and obsoletes
+ dnl AC_GNU_SOURCE.
+ m4_ifdef([AC_USE_SYSTEM_EXTENSIONS],
+ [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])],
+ [AC_REQUIRE([AC_GNU_SOURCE])])
+ dnl Check for multithreading.
+ m4_ifdef([gl_THREADLIB_DEFAULT_NO],
+ [m4_divert_text([DEFAULTS], [gl_use_threads_default=no])],
+ [m4_divert_text([DEFAULTS], [gl_use_threads_default=])])
+ AC_ARG_ENABLE([threads],
+AC_HELP_STRING([--enable-threads={posix|solaris|pth|windows}], [specify multithreading API])m4_ifdef([gl_THREADLIB_DEFAULT_NO], [], [
+AC_HELP_STRING([--disable-threads], [build without multithread safety])]),
+ [gl_use_threads=$enableval],
+ [if test -n "$gl_use_threads_default"; then
+ gl_use_threads="$gl_use_threads_default"
+ else
+changequote(,)dnl
+ case "$host_os" in
+ dnl Disable multithreading by default on OSF/1, because it interferes
+ dnl with fork()/exec(): When msgexec is linked with -lpthread, its
+ dnl child process gets an endless segmentation fault inside execvp().
+ dnl Disable multithreading by default on Cygwin 1.5.x, because it has
+ dnl bugs that lead to endless loops or crashes. See
+ dnl <http://cygwin.com/ml/cygwin/2009-08/msg00283.html>.
+ osf*) gl_use_threads=no ;;
+ cygwin*)
+ case `uname -r` in
+ 1.[0-5].*) gl_use_threads=no ;;
+ *) gl_use_threads=yes ;;
+ esac
+ ;;
+ *) gl_use_threads=yes ;;
+ esac
+changequote([,])dnl
+ fi
+ ])
+ if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then
+ # For using <pthread.h>:
+ case "$host_os" in
+ osf*)
+ # On OSF/1, the compiler needs the flag -D_REENTRANT so that it
+ # groks <pthread.h>. cc also understands the flag -pthread, but
+ # we don't use it because 1. gcc-2.95 doesn't understand -pthread,
+ # 2. putting a flag into CPPFLAGS that has an effect on the linker
+ # causes the AC_LINK_IFELSE test below to succeed unexpectedly,
+ # leading to wrong values of LIBTHREAD and LTLIBTHREAD.
+ CPPFLAGS="$CPPFLAGS -D_REENTRANT"
+ ;;
+ esac
+ # Some systems optimize for single-threaded programs by default, and
+ # need special flags to disable these optimizations. For example, the
+ # definition of 'errno' in <errno.h>.
+ case "$host_os" in
+ aix* | freebsd*) CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" ;;
+ solaris*) CPPFLAGS="$CPPFLAGS -D_REENTRANT" ;;
+ esac
+ fi
+])
+
+dnl The guts of gl_THREADLIB. Needs to be expanded only once.
+
+AC_DEFUN([gl_THREADLIB_BODY],
+[
+ AC_REQUIRE([gl_THREADLIB_EARLY_BODY])
+ gl_threads_api=none
+ LIBTHREAD=
+ LTLIBTHREAD=
+ LIBMULTITHREAD=
+ LTLIBMULTITHREAD=
+ if test "$gl_use_threads" != no; then
+ dnl Check whether the compiler and linker support weak declarations.
+ AC_CACHE_CHECK([whether imported symbols can be declared weak],
+ [gl_cv_have_weak],
+ [gl_cv_have_weak=no
+ dnl First, test whether the compiler accepts it syntactically.
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[extern void xyzzy ();
+#pragma weak xyzzy]],
+ [[xyzzy();]])],
+ [gl_cv_have_weak=maybe])
+ if test $gl_cv_have_weak = maybe; then
+ dnl Second, test whether it actually works. On Cygwin 1.7.2, with
+ dnl gcc 4.3, symbols declared weak always evaluate to the address 0.
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+#include <stdio.h>
+#pragma weak fputs
+int main ()
+{
+ return (fputs == NULL);
+}]])],
+ [gl_cv_have_weak=yes],
+ [gl_cv_have_weak=no],
+ [dnl When cross-compiling, assume that only ELF platforms support
+ dnl weak symbols.
+ AC_EGREP_CPP([Extensible Linking Format],
+ [#ifdef __ELF__
+ Extensible Linking Format
+ #endif
+ ],
+ [gl_cv_have_weak="guessing yes"],
+ [gl_cv_have_weak="guessing no"])
+ ])
+ fi
+ ])
+ if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then
+ # On OSF/1, the compiler needs the flag -pthread or -D_REENTRANT so that
+ # it groks <pthread.h>. It's added above, in gl_THREADLIB_EARLY_BODY.
+ AC_CHECK_HEADER([pthread.h],
+ [gl_have_pthread_h=yes], [gl_have_pthread_h=no])
+ if test "$gl_have_pthread_h" = yes; then
+ # Other possible tests:
+ # -lpthreads (FSU threads, PCthreads)
+ # -lgthreads
+ gl_have_pthread=
+ # Test whether both pthread_mutex_lock and pthread_mutexattr_init exist
+ # in libc. IRIX 6.5 has the first one in both libc and libpthread, but
+ # the second one only in libpthread, and lock.c needs it.
+ #
+ # If -pthread works, prefer it to -lpthread, since Ubuntu 14.04
+ # needs -pthread for some reason. See:
+ # http://lists.gnu.org/archive/html/bug-gnulib/2014-09/msg00023.html
+ save_LIBS=$LIBS
+ for gl_pthread in '' '-pthread'; do
+ LIBS="$LIBS $gl_pthread"
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <pthread.h>
+ pthread_mutex_t m;
+ pthread_mutexattr_t ma;
+ ]],
+ [[pthread_mutex_lock (&m);
+ pthread_mutexattr_init (&ma);]])],
+ [gl_have_pthread=yes
+ LIBTHREAD=$gl_pthread LTLIBTHREAD=$gl_pthread
+ LIBMULTITHREAD=$gl_pthread LTLIBMULTITHREAD=$gl_pthread])
+ LIBS=$save_LIBS
+ test -n "$gl_have_pthread" && break
+ done
+
+ # Test for libpthread by looking for pthread_kill. (Not pthread_self,
+ # since it is defined as a macro on OSF/1.)
+ if test -n "$gl_have_pthread" && test -z "$LIBTHREAD"; then
+ # The program links fine without libpthread. But it may actually
+ # need to link with libpthread in order to create multiple threads.
+ AC_CHECK_LIB([pthread], [pthread_kill],
+ [LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread
+ # On Solaris and HP-UX, most pthread functions exist also in libc.
+ # Therefore pthread_in_use() needs to actually try to create a
+ # thread: pthread_create from libc will fail, whereas
+ # pthread_create will actually create a thread.
+ case "$host_os" in
+ solaris* | hpux*)
+ AC_DEFINE([PTHREAD_IN_USE_DETECTION_HARD], [1],
+ [Define if the pthread_in_use() detection is hard.])
+ esac
+ ])
+ elif test -z "$gl_have_pthread"; then
+ # Some library is needed. Try libpthread and libc_r.
+ AC_CHECK_LIB([pthread], [pthread_kill],
+ [gl_have_pthread=yes
+ LIBTHREAD=-lpthread LTLIBTHREAD=-lpthread
+ LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread])
+ if test -z "$gl_have_pthread"; then
+ # For FreeBSD 4.
+ AC_CHECK_LIB([c_r], [pthread_kill],
+ [gl_have_pthread=yes
+ LIBTHREAD=-lc_r LTLIBTHREAD=-lc_r
+ LIBMULTITHREAD=-lc_r LTLIBMULTITHREAD=-lc_r])
+ fi
+ fi
+ if test -n "$gl_have_pthread"; then
+ gl_threads_api=posix
+ AC_DEFINE([USE_POSIX_THREADS], [1],
+ [Define if the POSIX multithreading library can be used.])
+ if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then
+ if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then
+ AC_DEFINE([USE_POSIX_THREADS_WEAK], [1],
+ [Define if references to the POSIX multithreading library should be made weak.])
+ LIBTHREAD=
+ LTLIBTHREAD=
+ fi
+ fi
+ fi
+ fi
+ fi
+ if test -z "$gl_have_pthread"; then
+ if test "$gl_use_threads" = yes || test "$gl_use_threads" = solaris; then
+ gl_have_solaristhread=
+ gl_save_LIBS="$LIBS"
+ LIBS="$LIBS -lthread"
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#include <thread.h>
+#include <synch.h>
+ ]],
+ [[thr_self();]])],
+ [gl_have_solaristhread=yes])
+ LIBS="$gl_save_LIBS"
+ if test -n "$gl_have_solaristhread"; then
+ gl_threads_api=solaris
+ LIBTHREAD=-lthread
+ LTLIBTHREAD=-lthread
+ LIBMULTITHREAD="$LIBTHREAD"
+ LTLIBMULTITHREAD="$LTLIBTHREAD"
+ AC_DEFINE([USE_SOLARIS_THREADS], [1],
+ [Define if the old Solaris multithreading library can be used.])
+ if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then
+ AC_DEFINE([USE_SOLARIS_THREADS_WEAK], [1],
+ [Define if references to the old Solaris multithreading library should be made weak.])
+ LIBTHREAD=
+ LTLIBTHREAD=
+ fi
+ fi
+ fi
+ fi
+ if test "$gl_use_threads" = pth; then
+ gl_save_CPPFLAGS="$CPPFLAGS"
+ AC_LIB_LINKFLAGS([pth])
+ gl_have_pth=
+ gl_save_LIBS="$LIBS"
+ LIBS="$LIBS $LIBPTH"
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM([[#include <pth.h>]], [[pth_self();]])],
+ [gl_have_pth=yes])
+ LIBS="$gl_save_LIBS"
+ if test -n "$gl_have_pth"; then
+ gl_threads_api=pth
+ LIBTHREAD="$LIBPTH"
+ LTLIBTHREAD="$LTLIBPTH"
+ LIBMULTITHREAD="$LIBTHREAD"
+ LTLIBMULTITHREAD="$LTLIBTHREAD"
+ AC_DEFINE([USE_PTH_THREADS], [1],
+ [Define if the GNU Pth multithreading library can be used.])
+ if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then
+ if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then
+ AC_DEFINE([USE_PTH_THREADS_WEAK], [1],
+ [Define if references to the GNU Pth multithreading library should be made weak.])
+ LIBTHREAD=
+ LTLIBTHREAD=
+ fi
+ fi
+ else
+ CPPFLAGS="$gl_save_CPPFLAGS"
+ fi
+ fi
+ if test -z "$gl_have_pthread"; then
+ case "$gl_use_threads" in
+ yes | windows | win32) # The 'win32' is for backward compatibility.
+ if { case "$host_os" in
+ mingw*) true;;
+ *) false;;
+ esac
+ }; then
+ gl_threads_api=windows
+ AC_DEFINE([USE_WINDOWS_THREADS], [1],
+ [Define if the native Windows multithreading API can be used.])
+ fi
+ ;;
+ esac
+ fi
+ fi
+ AC_MSG_CHECKING([for multithread API to use])
+ AC_MSG_RESULT([$gl_threads_api])
+ AC_SUBST([LIBTHREAD])
+ AC_SUBST([LTLIBTHREAD])
+ AC_SUBST([LIBMULTITHREAD])
+ AC_SUBST([LTLIBMULTITHREAD])
+])
+
+AC_DEFUN([gl_THREADLIB],
+[
+ AC_REQUIRE([gl_THREADLIB_EARLY])
+ AC_REQUIRE([gl_THREADLIB_BODY])
+])
+
+
+dnl gl_DISABLE_THREADS
+dnl ------------------
+dnl Sets the gl_THREADLIB default so that threads are not used by default.
+dnl The user can still override it at installation time, by using the
+dnl configure option '--enable-threads'.
+
+AC_DEFUN([gl_DISABLE_THREADS], [
+ m4_divert_text([INIT_PREPARE], [gl_use_threads_default=no])
+])
+
+
+dnl Survey of platforms:
+dnl
+dnl Platform Available Compiler Supports test-lock
+dnl flavours option weak result
+dnl --------------- --------- --------- -------- ---------
+dnl Linux 2.4/glibc posix -lpthread Y OK
+dnl
+dnl GNU Hurd/glibc posix
+dnl
+dnl Ubuntu 14.04 posix -pthread Y OK
+dnl
+dnl FreeBSD 5.3 posix -lc_r Y
+dnl posix -lkse ? Y
+dnl posix -lpthread ? Y
+dnl posix -lthr Y
+dnl
+dnl FreeBSD 5.2 posix -lc_r Y
+dnl posix -lkse Y
+dnl posix -lthr Y
+dnl
+dnl FreeBSD 4.0,4.10 posix -lc_r Y OK
+dnl
+dnl NetBSD 1.6 --
+dnl
+dnl OpenBSD 3.4 posix -lpthread Y OK
+dnl
+dnl Mac OS X 10.[123] posix -lpthread Y OK
+dnl
+dnl Solaris 7,8,9 posix -lpthread Y Sol 7,8: 0.0; Sol 9: OK
+dnl solaris -lthread Y Sol 7,8: 0.0; Sol 9: OK
+dnl
+dnl HP-UX 11 posix -lpthread N (cc) OK
+dnl Y (gcc)
+dnl
+dnl IRIX 6.5 posix -lpthread Y 0.5
+dnl
+dnl AIX 4.3,5.1 posix -lpthread N AIX 4: 0.5; AIX 5: OK
+dnl
+dnl OSF/1 4.0,5.1 posix -pthread (cc) N OK
+dnl -lpthread (gcc) Y
+dnl
+dnl Cygwin posix -lpthread Y OK
+dnl
+dnl Any of the above pth -lpth 0.0
+dnl
+dnl Mingw windows N OK
+dnl
+dnl BeOS 5 --
+dnl
+dnl The test-lock result shows what happens if in test-lock.c EXPLICIT_YIELD is
+dnl turned off:
+dnl OK if all three tests terminate OK,
+dnl 0.5 if the first test terminates OK but the second one loops endlessly,
+dnl 0.0 if the first test already loops endlessly.
-# uintmax_t.m4 serial 9
-dnl Copyright (C) 1997-2004 Free Software Foundation, Inc.
+# uintmax_t.m4 serial 12
+dnl Copyright (C) 1997-2004, 2007-2013 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl From Paul Eggert.
-AC_PREREQ(2.13)
+AC_PREREQ([2.13])
# Define uintmax_t to 'unsigned long' or 'unsigned long long'
# if it is not already defined in <stdint.h> or <inttypes.h>.
AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
AC_REQUIRE([gl_AC_HEADER_STDINT_H])
if test $gl_cv_header_inttypes_h = no && test $gl_cv_header_stdint_h = no; then
- AC_REQUIRE([gl_AC_TYPE_UNSIGNED_LONG_LONG])
- test $ac_cv_type_unsigned_long_long = yes \
+ AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT])
+ test $ac_cv_type_unsigned_long_long_int = yes \
&& ac_type='unsigned long long' \
|| ac_type='unsigned long'
- AC_DEFINE_UNQUOTED(uintmax_t, $ac_type,
+ AC_DEFINE_UNQUOTED([uintmax_t], [$ac_type],
[Define to unsigned long or unsigned long long
if <stdint.h> and <inttypes.h> don't define.])
else
- AC_DEFINE(HAVE_UINTMAX_T, 1,
+ AC_DEFINE([HAVE_UINTMAX_T], [1],
[Define if you have the 'uintmax_t' type in <stdint.h> or <inttypes.h>.])
fi
])
+++ /dev/null
-# ulonglong.m4 serial 6
-dnl Copyright (C) 1999-2006 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Paul Eggert.
-
-# Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works.
-# This fixes a bug in Autoconf 2.60, but can be removed once we
-# assume 2.61 everywhere.
-
-# Note: If the type 'unsigned long long int' exists but is only 32 bits
-# large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT
-# will not be defined. In this case you can treat 'unsigned long long int'
-# like 'unsigned long int'.
-
-AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT],
-[
- AC_CACHE_CHECK([for unsigned long long int],
- [ac_cv_type_unsigned_long_long_int],
- [AC_LINK_IFELSE(
- [AC_LANG_PROGRAM(
- [[unsigned long long int ull = 18446744073709551615ULL;
- typedef int a[(18446744073709551615ULL <= (unsigned long long int) -1
- ? 1 : -1)];
- int i = 63;]],
- [[unsigned long long int ullmax = 18446744073709551615ull;
- return (ull << 63 | ull >> 63 | ull << i | ull >> i
- | ullmax / ull | ullmax % ull);]])],
- [ac_cv_type_unsigned_long_long_int=yes],
- [ac_cv_type_unsigned_long_long_int=no])])
- if test $ac_cv_type_unsigned_long_long_int = yes; then
- AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], 1,
- [Define to 1 if the system has the type `unsigned long long int'.])
- fi
-])
-
-# This macro is obsolescent and should go away soon.
-AC_DEFUN([gl_AC_TYPE_UNSIGNED_LONG_LONG],
-[
- AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT])
- ac_cv_type_unsigned_long_long=$ac_cv_type_unsigned_long_long_int
- if test $ac_cv_type_unsigned_long_long = yes; then
- AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1,
- [Define if you have the 'unsigned long long' type.])
- fi
-])
-# visibility.m4 serial 1 (gettext-0.15)
-dnl Copyright (C) 2005 Free Software Foundation, Inc.
+# visibility.m4 serial 5 (gettext-0.18.2)
+dnl Copyright (C) 2005, 2008, 2010-2013 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl __attribute__((__visibility__("default"))).
dnl Does *not* test for __visibility__("protected") - which has tricky
dnl semantics (see the 'vismain' test in glibc) and does not exist e.g. on
-dnl MacOS X.
+dnl Mac OS X.
dnl Does *not* test for __visibility__("internal") - which has processor
dnl dependent semantics.
dnl Does *not* test for #pragma GCC visibility push(hidden) - which is
CFLAG_VISIBILITY=
HAVE_VISIBILITY=0
if test -n "$GCC"; then
+ dnl First, check whether -Werror can be added to the command line, or
+ dnl whether it leads to an error because of some other option that the
+ dnl user has put into $CC $CFLAGS $CPPFLAGS.
+ AC_MSG_CHECKING([whether the -Werror option is usable])
+ AC_CACHE_VAL([gl_cv_cc_vis_werror], [
+ gl_save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -Werror"
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([[]], [[]])],
+ [gl_cv_cc_vis_werror=yes],
+ [gl_cv_cc_vis_werror=no])
+ CFLAGS="$gl_save_CFLAGS"])
+ AC_MSG_RESULT([$gl_cv_cc_vis_werror])
+ dnl Now check whether visibility declarations are supported.
AC_MSG_CHECKING([for simple visibility declarations])
- AC_CACHE_VAL(gl_cv_cc_visibility, [
+ AC_CACHE_VAL([gl_cv_cc_visibility], [
gl_save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -fvisibility=hidden"
- AC_TRY_COMPILE(
- [extern __attribute__((__visibility__("hidden"))) int hiddenvar;
- extern __attribute__((__visibility__("default"))) int exportedvar;
- extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void);
- extern __attribute__((__visibility__("default"))) int exportedfunc (void);],
- [],
- gl_cv_cc_visibility=yes,
- gl_cv_cc_visibility=no)
+ dnl We use the option -Werror and a function dummyfunc, because on some
+ dnl platforms (Cygwin 1.7) the use of -fvisibility triggers a warning
+ dnl "visibility attribute not supported in this configuration; ignored"
+ dnl at the first function definition in every compilation unit, and we
+ dnl don't want to use the option in this case.
+ if test $gl_cv_cc_vis_werror = yes; then
+ CFLAGS="$CFLAGS -Werror"
+ fi
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[extern __attribute__((__visibility__("hidden"))) int hiddenvar;
+ extern __attribute__((__visibility__("default"))) int exportedvar;
+ extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void);
+ extern __attribute__((__visibility__("default"))) int exportedfunc (void);
+ void dummyfunc (void) {}
+ ]],
+ [[]])],
+ [gl_cv_cc_visibility=yes],
+ [gl_cv_cc_visibility=no])
CFLAGS="$gl_save_CFLAGS"])
AC_MSG_RESULT([$gl_cv_cc_visibility])
if test $gl_cv_cc_visibility = yes; then
-# wchar_t.m4 serial 1 (gettext-0.12)
-dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
+# wchar_t.m4 serial 4 (gettext-0.18.2)
+dnl Copyright (C) 2002-2003, 2008-2013 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
AC_DEFUN([gt_TYPE_WCHAR_T],
[
- AC_CACHE_CHECK([for wchar_t], gt_cv_c_wchar_t,
- [AC_TRY_COMPILE([#include <stddef.h>
- wchar_t foo = (wchar_t)'\0';], ,
- gt_cv_c_wchar_t=yes, gt_cv_c_wchar_t=no)])
+ AC_CACHE_CHECK([for wchar_t], [gt_cv_c_wchar_t],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <stddef.h>
+ wchar_t foo = (wchar_t)'\0';]],
+ [[]])],
+ [gt_cv_c_wchar_t=yes],
+ [gt_cv_c_wchar_t=no])])
if test $gt_cv_c_wchar_t = yes; then
- AC_DEFINE(HAVE_WCHAR_T, 1, [Define if you have the 'wchar_t' type.])
+ AC_DEFINE([HAVE_WCHAR_T], [1], [Define if you have the 'wchar_t' type.])
fi
])
-# wint_t.m4 serial 1 (gettext-0.12)
-dnl Copyright (C) 2003 Free Software Foundation, Inc.
+# wint_t.m4 serial 5 (gettext-0.18.2)
+dnl Copyright (C) 2003, 2007-2013 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
AC_DEFUN([gt_TYPE_WINT_T],
[
- AC_CACHE_CHECK([for wint_t], gt_cv_c_wint_t,
- [AC_TRY_COMPILE([#include <wchar.h>
- wint_t foo = (wchar_t)'\0';], ,
- gt_cv_c_wint_t=yes, gt_cv_c_wint_t=no)])
+ AC_CACHE_CHECK([for wint_t], [gt_cv_c_wint_t],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
+ <wchar.h>.
+ BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included
+ before <wchar.h>. */
+#include <stddef.h>
+#include <stdio.h>
+#include <time.h>
+#include <wchar.h>
+ wint_t foo = (wchar_t)'\0';]],
+ [[]])],
+ [gt_cv_c_wint_t=yes],
+ [gt_cv_c_wint_t=no])])
if test $gt_cv_c_wint_t = yes; then
- AC_DEFINE(HAVE_WINT_T, 1, [Define if you have the 'wint_t' type.])
+ AC_DEFINE([HAVE_WINT_T], [1], [Define if you have the 'wint_t' type.])
fi
])
-# xsize.m4 serial 3
-dnl Copyright (C) 2003-2004 Free Software Foundation, Inc.
+# xsize.m4 serial 5
+dnl Copyright (C) 2003-2004, 2008-2013 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
[
dnl Prerequisites of lib/xsize.h.
AC_REQUIRE([gl_SIZE_MAX])
- AC_REQUIRE([AC_C_INLINE])
- AC_CHECK_HEADERS(stdint.h)
+ AC_CHECK_HEADERS([stdint.h])
])
+++ /dev/null
-
-2004/01/19
-
-The following packages need to be installed to build this package
-from CVS.
- perl (I use v5.6.0 but other versions may work)
- libtool 1.5 or better
- gettext 0.14.5
- autoconf 2.50 or better
- automake 1.7 or better
- makeinfo
-
-Before the build:
-
- ./autogen
-
- ./configure --disable-static <options>
- or ./config-opt <options> or ./config-debug <options>
-
-The ./config-* will set things up for easier development. If you want
-to install Aspell to use it rather than develop with it than use the
-normal configure. When config-* is used the default things will be
-installed in <build dir>/inst for easier testing and debugging. You
-can change that by using the --prefix option.
-
-Autogen should be run when ever anything but the source files or
-Makefile.am files are modified by either yourself or a cvs update.
-
-Than to build and install:
-
- make
- make install
-
-You will then need to install a dictionary package for the new Aspell.
-You can find them at http://aspell.net. If Aspell is installed
-somewhere other than /usr/local you will probably need to add
-<prefix>/bin to your PATH or make symbolic links to the executable in
-order for the dictionary to build correctly.
-
-To run the debugger on these programs if there are not installed use
- libtool gdb <debugger parms>
-or
- libtool --mode execute <your debugger> <debugger parms>
-For example to debug aspell with ddd use
- libtool --mode execute ddd prog/.libs/aspell
-
-Using libtool is necessary to make sure the shared libraries get loaded
-right. If you debug them after they are installed this will not be
-necessary.
-
---
-Kevin Atkinson
-kevin at atkinson dhs org
--- /dev/null
+This is the Git repository for GNU Aspell
+
+http://aspell.net
+
+The following packages need to be installed to build this package
+from Git:
+ * perl (I use v5.6.0 but other versions may work)
+ * libtool
+ * gettext
+ * autoconf
+ * automake
+ * makeinfo
+
+Before the build:
+```
+./autogen
+
+./configure --disable-static <options>
+# or ./config-opt <options> or ./config-debug <options>
+```
+
+The `./config-*` will set things up for easier development. If you want
+to install Aspell to use it rather than develop with it than use the
+normal `configure`. When `config-*` is used the default things will be
+installed in `<build dir>/inst` for easier testing and debugging. You
+can change that by using the `--prefix` option.
+
+Autogen should be run when ever anything but the source files or
+Makefile.am files are modified.
+
+Than to build and install:
+```
+make
+make install
+```
+
+You will then need to install a dictionary package for the new Aspell.
+You can find them at http://aspell.net. If Aspell is installed
+somewhere other than `/usr/local` you will probably need to add
+`<prefix>/bin` to your PATH or make symbolic links to the executable in
+order for the dictionary to build correctly.
+
+To run the debugger on these programs if there are not installed use
+```
+libtool gdb <debugger parms>
+```
+or
+```
+libtool --mode execute <your debugger> <debugger parms>
+```
+For example to debug aspell with ddd use
+```
+libtool --mode execute ddd prog/.libs/aspell
+```
+
+Using libtool is necessary to make sure the shared libraries get loaded
+right. If you debug them after they are installed this will not be
+necessary.
#!/bin/sh
+set -e
+
test -d interfaces || mkdir interfaces
test -d interfaces/cc || mkdir interfaces/cc
cd auto/
-perl mk-src.pl
-perl mk-doc.pl
+perl -I ./ mk-src.pl
+perl -I ./ mk-doc.pl
touch auto
cd ..
-# Makefile.in generated by automake 1.10.3 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@SET_MAKE@
VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
host_triplet = @host@
target_triplet = @target@
subdir = manual
-DIST_COMMON = $(aspell_TEXINFOS) $(aspell_dev_TEXINFOS) \
- $(srcdir)/Makefile.am $(srcdir)/Makefile.in texinfo.tex
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(aspell_TEXINFOS) $(aspell_dev_TEXINFOS) texinfo.tex
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \
$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
- $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
- $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/gen/settings.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
SOURCES =
DIST_SOURCES =
+AM_V_DVIPS = $(am__v_DVIPS_@AM_V@)
+am__v_DVIPS_ = $(am__v_DVIPS_@AM_DEFAULT_V@)
+am__v_DVIPS_0 = @echo " DVIPS " $@;
+am__v_DVIPS_1 =
+AM_V_MAKEINFO = $(am__v_MAKEINFO_@AM_V@)
+am__v_MAKEINFO_ = $(am__v_MAKEINFO_@AM_DEFAULT_V@)
+am__v_MAKEINFO_0 = @echo " MAKEINFO" $@;
+am__v_MAKEINFO_1 =
+AM_V_INFOHTML = $(am__v_INFOHTML_@AM_V@)
+am__v_INFOHTML_ = $(am__v_INFOHTML_@AM_DEFAULT_V@)
+am__v_INFOHTML_0 = @echo " INFOHTML" $@;
+am__v_INFOHTML_1 =
+AM_V_TEXI2DVI = $(am__v_TEXI2DVI_@AM_V@)
+am__v_TEXI2DVI_ = $(am__v_TEXI2DVI_@AM_DEFAULT_V@)
+am__v_TEXI2DVI_0 = @echo " TEXI2DVI" $@;
+am__v_TEXI2DVI_1 =
+AM_V_TEXI2PDF = $(am__v_TEXI2PDF_@AM_V@)
+am__v_TEXI2PDF_ = $(am__v_TEXI2PDF_@AM_DEFAULT_V@)
+am__v_TEXI2PDF_0 = @echo " TEXI2PDF" $@;
+am__v_TEXI2PDF_1 =
+AM_V_texinfo = $(am__v_texinfo_@AM_V@)
+am__v_texinfo_ = $(am__v_texinfo_@AM_DEFAULT_V@)
+am__v_texinfo_0 = -q
+am__v_texinfo_1 =
+AM_V_texidevnull = $(am__v_texidevnull_@AM_V@)
+am__v_texidevnull_ = $(am__v_texidevnull_@AM_DEFAULT_V@)
+am__v_texidevnull_0 = > /dev/null
+am__v_texidevnull_1 =
INFO_DEPS = $(srcdir)/aspell.info $(srcdir)/aspell-dev.info
am__TEXINFO_TEX_DIR = $(srcdir)
DVIS = aspell.dvi aspell-dev.dvi
MAKEINFOHTML = $(MAKEINFO) --html
AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
DVIPS = dvips
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
am__installdirs = "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)"
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
man1dir = $(mandir)/man1
NROFF = nroff
MANS = $(man_MANS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
pkgdatadir = @pkgdatadir@
pkglibdir = @pkglibdir@
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERLPROG = @PERLPROG@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
info_TEXINFOS = aspell.texi aspell-dev.texi
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign manual/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign manual/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign manual/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign manual/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
-rm -rf .libs _libs
.texi.info:
- restore=: && backupdir="$(am__leading_dot)am$$$$" && \
- am__cwd=`pwd` && cd $(srcdir) && \
+ $(AM_V_MAKEINFO)restore=: && backupdir="$(am__leading_dot)am$$$$" && \
+ am__cwd=`pwd` && $(am__cd) $(srcdir) && \
rm -rf $$backupdir && mkdir $$backupdir && \
if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
-o $@ $<; \
then \
rc=0; \
- cd $(srcdir); \
+ $(am__cd) $(srcdir); \
else \
rc=$$?; \
- cd $(srcdir) && \
+ $(am__cd) $(srcdir) && \
$$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
fi; \
rm -rf $$backupdir; exit $$rc
.texi.dvi:
- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+ $(AM_V_TEXI2DVI)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
- $(TEXI2DVI) $<
+ $(TEXI2DVI) $(AM_V_texinfo) --build-dir=$(@:.dvi=.t2d) -o $@ $(AM_V_texidevnull) \
+ $<
.texi.pdf:
- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+ $(AM_V_TEXI2PDF)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
- $(TEXI2PDF) $<
+ $(TEXI2PDF) $(AM_V_texinfo) --build-dir=$(@:.pdf=.t2p) -o $@ $(AM_V_texidevnull) \
+ $<
.texi.html:
- rm -rf $(@:.html=.htp)
- if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
+ $(AM_V_MAKEINFO)rm -rf $(@:.html=.htp)
+ $(AM_V_at)if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
-o $(@:.html=.htp) $<; \
then \
- rm -rf $@; \
- if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
- mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \
+ rm -rf $@ && mv $(@:.html=.htp) $@; \
else \
- if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
- rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
- exit 1; \
+ rm -rf $(@:.html=.htp); exit 1; \
fi
$(srcdir)/aspell.info: aspell.texi $(aspell_TEXINFOS)
aspell.dvi: aspell.texi $(aspell_TEXINFOS)
aspell-dev.pdf: aspell-dev.texi $(aspell_dev_TEXINFOS)
aspell-dev.html: aspell-dev.texi $(aspell_dev_TEXINFOS)
.dvi.ps:
- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
- $(DVIPS) -o $@ $<
+ $(AM_V_DVIPS)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+ $(DVIPS) $(AM_V_texinfo) -o $@ $<
uninstall-dvi-am:
@$(NORMAL_UNINSTALL)
- @list='$(DVIS)'; for p in $$list; do \
- f=$(am__strip_dir) \
+ @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \
rm -f "$(DESTDIR)$(dvidir)/$$f"; \
done
uninstall-html-am:
@$(NORMAL_UNINSTALL)
- @list='$(HTMLS)'; for p in $$list; do \
- f=$(am__strip_dir) \
+ @list='$(HTMLS)'; test -n "$(htmldir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \
rm -rf "$(DESTDIR)$(htmldir)/$$f"; \
done
uninstall-info-am:
@$(PRE_UNINSTALL)
- @if test -d '$(DESTDIR)$(infodir)' && \
- (install-info --version && \
- install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
+ @if test -d '$(DESTDIR)$(infodir)' && $(am__can_run_installinfo); then \
list='$(INFO_DEPS)'; \
for file in $$list; do \
relfile=`echo "$$file" | sed 's|^.*/||'`; \
echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \
- install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \
+ if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \
+ then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \
done; \
else :; fi
@$(NORMAL_UNINSTALL)
uninstall-pdf-am:
@$(NORMAL_UNINSTALL)
- @list='$(PDFS)'; for p in $$list; do \
- f=$(am__strip_dir) \
+ @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \
rm -f "$(DESTDIR)$(pdfdir)/$$f"; \
done
uninstall-ps-am:
@$(NORMAL_UNINSTALL)
- @list='$(PSS)'; for p in $$list; do \
- f=$(am__strip_dir) \
+ @list='$(PSS)'; test -n "$(psdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \
rm -f "$(DESTDIR)$(psdir)/$$f"; \
done
for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \
if test -f $$file; then \
relfile=`expr "$$file" : "$$d/\(.*\)"`; \
- test -f $(distdir)/$$relfile || \
- cp -p $$file $(distdir)/$$relfile; \
+ test -f "$(distdir)/$$relfile" || \
+ cp -p $$file "$(distdir)/$$relfile"; \
else :; fi; \
done; \
done
mostlyclean-aminfo:
- -rm -rf aspell.aux aspell.cp aspell.cps aspell.fn aspell.fns aspell.ky \
- aspell.kys aspell.log aspell.pg aspell.tmp aspell.toc \
- aspell.tp aspell.tps aspell.vr aspell.vrs aspell.dvi \
- aspell.pdf aspell.ps aspell.html aspell-dev.aux \
- aspell-dev.cp aspell-dev.cps aspell-dev.fn aspell-dev.fns \
- aspell-dev.ky aspell-dev.kys aspell-dev.log aspell-dev.pg \
- aspell-dev.tmp aspell-dev.toc aspell-dev.tp aspell-dev.tps \
- aspell-dev.vr aspell-dev.vrs aspell-dev.dvi aspell-dev.pdf \
- aspell-dev.ps aspell-dev.html
+ -rm -rf aspell.t2d aspell.t2p aspell-dev.t2d aspell-dev.t2p
+
+clean-aminfo:
+ -test -z "aspell.dvi aspell.pdf aspell.ps aspell.html aspell-dev.dvi \
+ aspell-dev.pdf aspell-dev.ps aspell-dev.html" \
+ || rm -rf aspell.dvi aspell.pdf aspell.ps aspell.html aspell-dev.dvi \
+ aspell-dev.pdf aspell-dev.ps aspell-dev.html
maintainer-clean-aminfo:
@list='$(INFO_DEPS)'; for i in $$list; do \
echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
done
-install-man1: $(man1_MANS) $(man_MANS)
+install-man1: $(man_MANS)
@$(NORMAL_INSTALL)
- test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
- @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
- l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
- for i in $$l2; do \
- case "$$i" in \
- *.1*) list="$$list $$i" ;; \
- esac; \
+ @list1=''; \
+ list2='$(man_MANS)'; \
+ test -n "$(man1dir)" \
+ && test -n "`echo $$list1$$list2`" \
+ || exit 0; \
+ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+ { for i in $$list1; do echo "$$i"; done; \
+ if test -n "$$list2"; then \
+ for i in $$list2; do echo "$$i"; done \
+ | sed -n '/\.1[a-z]*$$/p'; \
+ fi; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
+ fi; \
done; \
- for i in $$list; do \
- if test -f $$i; then file=$$i; \
- else file=$(srcdir)/$$i; fi; \
- ext=`echo $$i | sed -e 's/^.*\\.//'`; \
- case "$$ext" in \
- 1*) ;; \
- *) ext='1' ;; \
- esac; \
- inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
- inst=`echo $$inst | sed -e 's/^.*\///'`; \
- inst=`echo $$inst | sed '$(transform)'`.$$ext; \
- echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
- $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
- done
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
+ done; }
+
uninstall-man1:
@$(NORMAL_UNINSTALL)
- @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
- l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
- for i in $$l2; do \
- case "$$i" in \
- *.1*) list="$$list $$i" ;; \
- esac; \
- done; \
- for i in $$list; do \
- ext=`echo $$i | sed -e 's/^.*\\.//'`; \
- case "$$ext" in \
- 1*) ;; \
- *) ext='1' ;; \
- esac; \
- inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
- inst=`echo $$inst | sed -e 's/^.*\///'`; \
- inst=`echo $$inst | sed '$(transform)'`.$$ext; \
- echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
- rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
- done
-tags: TAGS
-TAGS:
+ @list=''; test -n "$(man1dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.1[a-z]*$$/p'; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
+tags TAGS:
-ctags: CTAGS
-CTAGS:
+ctags CTAGS:
+
+cscope cscopelist:
distdir: $(DISTFILES)
- @list='$(MANS)'; if test -n "$$list"; then \
- list=`for p in $$list; do \
- if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
- if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
- if test -n "$$list" && \
- grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
- echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
- grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \
- echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \
- echo " typically \`make maintainer-clean' will remove them" >&2; \
- exit 1; \
- else :; fi; \
- else :; fi
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
-clean-am: clean-generic clean-libtool mostlyclean-am
+clean-am: clean-aminfo clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
install-dvi-am: $(DVIS)
@$(NORMAL_INSTALL)
- test -z "$(dvidir)" || $(MKDIR_P) "$(DESTDIR)$(dvidir)"
- @list='$(DVIS)'; for p in $$list; do \
+ @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(dvidir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(dvidir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(dvidir)/$$f'"; \
- $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(dvidir)/$$f"; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dvidir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(dvidir)" || exit $$?; \
done
install-exec-am:
install-html-am: $(HTMLS)
@$(NORMAL_INSTALL)
- test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"
- @list='$(HTMLS)'; for p in $$list; do \
+ @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(htmldir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- if test -d "$$d$$p"; then \
+ $(am__strip_dir) \
+ d2=$$d$$p; \
+ if test -d "$$d2"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \
$(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \
- echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \
- $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f"; \
+ echo " $(INSTALL_DATA) '$$d2'/* '$(DESTDIR)$(htmldir)/$$f'"; \
+ $(INSTALL_DATA) "$$d2"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \
else \
- echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(htmldir)/$$f'"; \
- $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(htmldir)/$$f"; \
+ list2="$$list2 $$d2"; \
fi; \
- done
+ done; \
+ test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \
+ done; }
install-info: install-info-am
install-info-am: $(INFO_DEPS)
@$(NORMAL_INSTALL)
- test -z "$(infodir)" || $(MKDIR_P) "$(DESTDIR)$(infodir)"
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- list='$(INFO_DEPS)'; \
+ list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(infodir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(infodir)" || exit 1; \
+ fi; \
for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
$$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
if test -f $$ifile; then \
- relfile=`echo "$$ifile" | sed 's|^.*/||'`; \
- echo " $(INSTALL_DATA) '$$ifile' '$(DESTDIR)$(infodir)/$$relfile'"; \
- $(INSTALL_DATA) "$$ifile" "$(DESTDIR)$(infodir)/$$relfile"; \
+ echo "$$ifile"; \
else : ; fi; \
done; \
- done
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done
@$(POST_INSTALL)
- @if (install-info --version && \
- install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
- list='$(INFO_DEPS)'; \
+ @if $(am__can_run_installinfo); then \
+ list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
for file in $$list; do \
relfile=`echo "$$file" | sed 's|^.*/||'`; \
echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\
install-pdf-am: $(PDFS)
@$(NORMAL_INSTALL)
- test -z "$(pdfdir)" || $(MKDIR_P) "$(DESTDIR)$(pdfdir)"
- @list='$(PDFS)'; for p in $$list; do \
+ @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(pdfdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(pdfdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(pdfdir)/$$f'"; \
- $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(pdfdir)/$$f"; \
- done
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pdfdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pdfdir)" || exit $$?; done
install-ps: install-ps-am
install-ps-am: $(PSS)
@$(NORMAL_INSTALL)
- test -z "$(psdir)" || $(MKDIR_P) "$(DESTDIR)$(psdir)"
- @list='$(PSS)'; for p in $$list; do \
+ @list='$(PSS)'; test -n "$(psdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(psdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(psdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(psdir)/$$f'"; \
- $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(psdir)/$$f"; \
- done
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(psdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(psdir)" || exit $$?; done
installcheck-am:
maintainer-clean: maintainer-clean-am
.MAKE: install-am install-strip
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- dist-info distclean distclean-generic distclean-libtool \
- distdir dvi dvi-am html html-am info info-am install \
- install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-man1 install-pdf install-pdf-am install-ps \
- install-ps-am install-strip installcheck installcheck-am \
- installdirs maintainer-clean maintainer-clean-aminfo \
- maintainer-clean-generic mostlyclean mostlyclean-aminfo \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- uninstall uninstall-am uninstall-dvi-am uninstall-html-am \
- uninstall-info-am uninstall-man uninstall-man1 \
- uninstall-pdf-am uninstall-ps-am
+.PHONY: all all-am check check-am clean clean-aminfo clean-generic \
+ clean-libtool cscopelist-am ctags-am dist-info distclean \
+ distclean-generic distclean-libtool distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-man1 install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-aminfo maintainer-clean-generic mostlyclean \
+ mostlyclean-aminfo mostlyclean-generic mostlyclean-libtool pdf \
+ pdf-am ps ps-am tags-am uninstall uninstall-am \
+ uninstall-dvi-am uninstall-html-am uninstall-info-am \
+ uninstall-man uninstall-man1 uninstall-pdf-am uninstall-ps-am
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
-<meta http-equiv="refresh" content="0; url=Filter-Interface.html#Build%20Sources">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the developer's manual for Aspell.
+
+Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<!-- This file redirects to the location of a node or anchor -->
+<head>
+<title>Aspell Developer’s Manual: Build Sources</title>
+
+<meta name="description" content="Aspell spell checker developer’s manual.">
+<meta name="keywords" content="Aspell Developer’s Manual: Build Sources">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+<meta http-equiv="Refresh" content="0; url=Filter-Interface.html#Build-Sources">
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+
+<p>The node you are looking for is at <a href="Filter-Interface.html#Build-Sources">Build Sources</a>.</p>
+</body>
-<html lang="en">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the developer's manual for Aspell.
+
+Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
-<title>C++ Standard Library - Aspell Developer's Manual</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell spell checker developer's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="prev" href="How-to-Submit-a-Patch.html#How-to-Submit-a-Patch" title="How to Submit a Patch">
-<link rel="next" href="Templates.html#Templates" title="Templates">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
+<title>Aspell Developer’s Manual: C++ Standard Library</title>
+
+<meta name="description" content="Aspell spell checker developer’s manual.">
+<meta name="keywords" content="Aspell Developer’s Manual: C++ Standard Library">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Templates.html#Templates" rel="next" title="Templates">
+<link href="How-to-Submit-a-Patch.html#How-to-Submit-a-Patch" rel="prev" title="How to Submit a Patch">
+<style type="text/css">
<!--
-This is the developer's manual for Aspell.
-
-Copyright (C) 2002, 2003, 2004, 2006 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
-<a name="C++-Standard-Library"></a>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="C_002b_002b-Standard-Library"></a>
-Next: <a rel="next" accesskey="n" href="Templates.html#Templates">Templates</a>,
-Previous: <a rel="previous" accesskey="p" href="How-to-Submit-a-Patch.html#How-to-Submit-a-Patch">How to Submit a Patch</a>,
-Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Templates.html#Templates" accesskey="n" rel="next">Templates</a>, Previous: <a href="How-to-Submit-a-Patch.html#How-to-Submit-a-Patch" accesskey="p" rel="prev">How to Submit a Patch</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="C_002b_002b-Standard-Library-1"></a>
<h2 class="chapter">3 C++ Standard Library</h2>
<p>The C++ Standard library is not used directly except under very
indirectly through wrapper classes and all I/O is done using the
standard C library with light right helper classes to make using C I/O
a bit more C++ like.
-
- <p>However the <code>new</code>, <code>new[]</code>, <code>delete</code> and
+</p>
+<p>However the <code>new</code>, <code>new[]</code>, <code>delete</code> and
<code>delete[]</code> operators are used to allocate memory when
appropriate.
+</p>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the developer's manual for Aspell.
+
+Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
-<title>Config Class - Aspell Developer's Manual</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell spell checker developer's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="prev" href="I_002fO.html#I_002fO" title="I/O">
-<link rel="next" href="Filter-Interface.html#Filter-Interface" title="Filter Interface">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
+<title>Aspell Developer’s Manual: Config Class</title>
+
+<meta name="description" content="Aspell spell checker developer’s manual.">
+<meta name="keywords" content="Aspell Developer’s Manual: Config Class">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Filter-Interface.html#Filter-Interface" rel="next" title="Filter Interface">
+<link href="I_002fO.html#I_002fO" rel="prev" title="I/O">
+<style type="text/css">
<!--
-This is the developer's manual for Aspell.
-
-Copyright (C) 2002, 2003, 2004, 2006 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Config-Class"></a>
-Next: <a rel="next" accesskey="n" href="Filter-Interface.html#Filter-Interface">Filter Interface</a>,
-Previous: <a rel="previous" accesskey="p" href="I_002fO.html#I_002fO">I/O</a>,
-Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Filter-Interface.html#Filter-Interface" accesskey="n" rel="next">Filter Interface</a>, Previous: <a href="I_002fO.html#I_002fO" accesskey="p" rel="prev">I/O</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Config-Class-1"></a>
<h2 class="chapter">10 Config Class</h2>
<p>The <code>Config</code> class is used to hold configuration information. It
has a set of keys which it will accept. Inserting or even trying to
look at a key that it does not know will produce an error. It is
-defined in <samp><span class="file">common/config.hpp</span></samp>.
+defined in <samp>common/config.hpp</samp>.
+</p>
+
+
- </body></html>
+</body>
+</html>
-<meta http-equiv="refresh" content="0; url=Filter-Interface.html#Constructor%20Function">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the developer's manual for Aspell.
+
+Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<!-- This file redirects to the location of a node or anchor -->
+<head>
+<title>Aspell Developer’s Manual: Constructor Function</title>
+
+<meta name="description" content="Aspell spell checker developer’s manual.">
+<meta name="keywords" content="Aspell Developer’s Manual: Constructor Function">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+<meta http-equiv="Refresh" content="0; url=Filter-Interface.html#Constructor-Function">
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+
+<p>The node you are looking for is at <a href="Filter-Interface.html#Constructor-Function">Constructor Function</a>.</p>
+</body>
-<html lang="en">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the developer's manual for Aspell.
+
+Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
-<title>Copying - Aspell Developer's Manual</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell spell checker developer's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="prev" href="Part-3.html#Part-3" title="Part 3">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
+<title>Aspell Developer’s Manual: Copying</title>
+
+<meta name="description" content="Aspell spell checker developer’s manual.">
+<meta name="keywords" content="Aspell Developer’s Manual: Copying">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License" rel="next" title="GNU Free Documentation License">
+<link href="Part-3.html#Part-3" rel="prev" title="Part 3">
+<style type="text/css">
<!--
-This is the developer's manual for Aspell.
-
-Copyright (C) 2002, 2003, 2004, 2006 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Copying"></a>
-Previous: <a rel="previous" accesskey="p" href="Part-3.html#Part-3">Part 3</a>,
-Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a>
-<hr>
+<div class="header">
+<p>
+Previous: <a href="Part-3.html#Part-3" accesskey="p" rel="prev">Part 3</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Copying-1"></a>
<h2 class="appendix">Appendix A Copying</h2>
<p>Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
-
- <p>Permission is granted to copy, distribute and/or modify this document
+</p>
+<p>Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1 or
any later version published by the Free Software Foundation; with no
Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
-copy of the license is included in the section entitled "GNU Free
-Documentation License".
+copy of the license is included in the section entitled "GNU Free
+Documentation License".
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License" accesskey="1">GNU Free Documentation License</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+</table>
+
-<ul class="menu">
-<li><a accesskey="1" href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License">GNU Free Documentation License</a>
-</ul>
- </body></html>
+</body>
+</html>
-<html lang="en">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the developer's manual for Aspell.
+
+Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
-<title>Data Structures - Aspell Developer's Manual</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell spell checker developer's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="prev" href="Filter-Modes.html#Filter-Modes" title="Filter Modes">
-<link rel="next" href="Mk_002dSrc-Script.html#Mk_002dSrc-Script" title="Mk-Src Script">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
+<title>Aspell Developer’s Manual: Data Structures</title>
+
+<meta name="description" content="Aspell spell checker developer’s manual.">
+<meta name="keywords" content="Aspell Developer’s Manual: Data Structures">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Mk_002dSrc-Script.html#Mk_002dSrc-Script" rel="next" title="Mk-Src Script">
+<link href="Filter-Modes.html#Filter-Modes" rel="prev" title="Filter Modes">
+<style type="text/css">
<!--
-This is the developer's manual for Aspell.
-
-Copyright (C) 2002, 2003, 2004, 2006 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Data-Structures"></a>
-Next: <a rel="next" accesskey="n" href="Mk_002dSrc-Script.html#Mk_002dSrc-Script">Mk-Src Script</a>,
-Previous: <a rel="previous" accesskey="p" href="Filter-Modes.html#Filter-Modes">Filter Modes</a>,
-Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Mk_002dSrc-Script.html#Mk_002dSrc-Script" accesskey="n" rel="next">Mk-Src Script</a>, Previous: <a href="Filter-Modes.html#Filter-Modes" accesskey="p" rel="prev">Filter Modes</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Data-Structures-1"></a>
<h2 class="chapter">13 Data Structures</h2>
<p>Whenever possible you should try to use one of the data structures
available. If the data structures do not provide enough functionality
for your needs you should consider enhancing them rather than writing
something from scratch.
-
+</p>
+<a name="Vector"></a>
<h3 class="section">13.1 Vector</h3>
-<p>The <code>vector</code> class is defined in <samp><span class="file">vector.hpp</span></samp> and works the
-same way as the standard STL <code>vector</code> does except that it doesn't
+<p>The <code>vector</code> class is defined in <samp>vector.hpp</samp> and works the
+same way as the standard STL <code>vector</code> does except that it doesn’t
have as many constructors.
-
+</p>
+<a name="BasicList"></a>
<h3 class="section">13.2 BasicList</h3>
<p><code>BasicList</code> is a simple list structure which can either be
implemented as a singly or doubly linked list. It is defined in
-<samp><span class="file">basic_list.hpp</span></samp>.
-
+<samp>basic_list.hpp</samp>.
+</p>
+<a name="StringMap"></a>
<h3 class="section">13.3 StringMap</h3>
<p><code>StringMap</code> is a associative array for strings. You should try
to use this when ever possible to avoid code bloat. It is defined in
-<samp><span class="file">string_map.hpp</span></samp>.
+<samp>string_map.hpp</samp>.
+</p>
+<a name="Hash-Tables"></a>
<h3 class="section">13.4 Hash Tables</h3>
<p>Several hash tables are provided when <code>StringMap</code> is not
appropriate. These hash tables provide a <code>hash_set</code>,
<code>hash_multiset</code>, <code>hash_map</code> and <code>hash_multimap</code> which
-are very similar to SGI's STL implementation with a few exceptions.
-It is defined in <samp><span class="file">hash.hpp</span></samp>.
+are very similar to SGI’s STL implementation with a few exceptions.
+It is defined in <samp>hash.hpp</samp>.
+</p>
+<a name="BlockSList"></a>
<h3 class="section">13.5 BlockSList</h3>
<p><code>BlockSList</code> provided a pool of nodes which can be used for
-singly linked lists. It is defined in <samp><span class="file">block_slist.hpp</span></samp>.
+singly linked lists. It is defined in <samp>block_slist.hpp</samp>.
+</p>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the developer's manual for Aspell.
+
+Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
-<title>Error Handling - Aspell Developer's Manual</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell spell checker developer's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="prev" href="Templates.html#Templates" title="Templates">
-<link rel="next" href="Source-Code-Layout.html#Source-Code-Layout" title="Source Code Layout">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
+<title>Aspell Developer’s Manual: Error Handling</title>
+
+<meta name="description" content="Aspell spell checker developer’s manual.">
+<meta name="keywords" content="Aspell Developer’s Manual: Error Handling">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Source-Code-Layout.html#Source-Code-Layout" rel="next" title="Source Code Layout">
+<link href="Templates.html#Templates" rel="prev" title="Templates">
+<style type="text/css">
<!--
-This is the developer's manual for Aspell.
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
-Copyright (C) 2002, 2003, 2004, 2006 Kevin Atkinson.
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Error-Handling"></a>
-Next: <a rel="next" accesskey="n" href="Source-Code-Layout.html#Source-Code-Layout">Source Code Layout</a>,
-Previous: <a rel="previous" accesskey="p" href="Templates.html#Templates">Templates</a>,
-Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Source-Code-Layout.html#Source-Code-Layout" accesskey="n" rel="next">Source Code Layout</a>, Previous: <a href="Templates.html#Templates" accesskey="p" rel="prev">Templates</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Error-Handling-1"></a>
<h2 class="chapter">5 Error Handling</h2>
<p>Exceptions are not used in Aspell as I find them more trouble than
they are worth. Instead an alternate method of error handling is used
which is based around the PosibErr class. PosibErr is a special Error
-handling device that will make sure that an error is properly handled.
+handling device that will make sure that an error is properly handled.
It is defined in <code>posib_err.hpp</code>. PosibErr is expected to be
used as the return type of the function. It will automatically be
-converted to the "normal" return type however if the normal returned
-type is accessed and there is an "unhandled" error condition it will
+converted to the "normal" return type however if the normal returned
+type is accessed and there is an "unhandled" error condition it will
abort. It will also abort if the object is destroyed with an
-"unhandled" error condition. This includes ignoring the return type
+"unhandled" error condition. This includes ignoring the return type
of a function returning an error condition. An error condition is
handled by simply checking for the presence of an error, calling
ignore, or taking ownership of the error.
-
- <p>The PosibErr class is used extensively throughout Aspell. Please
+</p>
+<p>The PosibErr class is used extensively throughout Aspell. Please
refer to the Aspell source for examples of using PosibErr until better
documentation is written.
+</p>
+
- </body></html>
+</body>
+</html>
-<meta http-equiv="refresh" content="0; url=Filter-Interface.html#Filter%20Default%20Values">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the developer's manual for Aspell.
+
+Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<!-- This file redirects to the location of a node or anchor -->
+<head>
+<title>Aspell Developer’s Manual: Filter Default Values</title>
+
+<meta name="description" content="Aspell spell checker developer’s manual.">
+<meta name="keywords" content="Aspell Developer’s Manual: Filter Default Values">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+<meta http-equiv="Refresh" content="0; url=Filter-Interface.html#Filter-Default-Values">
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+
+<p>The node you are looking for is at <a href="Filter-Interface.html#Filter-Default-Values">Filter Default Values</a>.</p>
+</body>
-<meta http-equiv="refresh" content="0; url=Filter-Interface.html#Filter%20Description%20File">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the developer's manual for Aspell.
+
+Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<!-- This file redirects to the location of a node or anchor -->
+<head>
+<title>Aspell Developer’s Manual: Filter Description File</title>
+
+<meta name="description" content="Aspell spell checker developer’s manual.">
+<meta name="keywords" content="Aspell Developer’s Manual: Filter Description File">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+<meta http-equiv="Refresh" content="0; url=Filter-Interface.html#Filter-Description-File">
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+
+<p>The node you are looking for is at <a href="Filter-Interface.html#Filter-Description-File">Filter Description File</a>.</p>
+</body>
-<html lang="en">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the developer's manual for Aspell.
+
+Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
-<title>Filter Interface - Aspell Developer's Manual</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell spell checker developer's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="prev" href="Config-Class.html#Config-Class" title="Config Class">
-<link rel="next" href="Filter-Modes.html#Filter-Modes" title="Filter Modes">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
+<title>Aspell Developer’s Manual: Filter Interface</title>
+
+<meta name="description" content="Aspell spell checker developer’s manual.">
+<meta name="keywords" content="Aspell Developer’s Manual: Filter Interface">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Filter-Modes.html#Filter-Modes" rel="next" title="Filter Modes">
+<link href="Config-Class.html#Config-Class" rel="prev" title="Config Class">
+<style type="text/css">
<!--
-This is the developer's manual for Aspell.
-
-Copyright (C) 2002, 2003, 2004, 2006 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Filter-Interface"></a>
-Next: <a rel="next" accesskey="n" href="Filter-Modes.html#Filter-Modes">Filter Modes</a>,
-Previous: <a rel="previous" accesskey="p" href="Config-Class.html#Config-Class">Config Class</a>,
-Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Filter-Modes.html#Filter-Modes" accesskey="n" rel="next">Filter Modes</a>, Previous: <a href="Config-Class.html#Config-Class" accesskey="p" rel="prev">Config Class</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Filter-Interface-1"></a>
<h2 class="chapter">11 Filter Interface</h2>
+<a name="Overview"></a>
<h3 class="section">11.1 Overview</h3>
-
-<p><a name="Filter-Overview"></a>
-
- <p>In Aspell there are 5 types of filters:
- <ol type=1 start=1>
-<li><em>Decoders</em> which take input in some standard format such as
-iso8859-1 or UTF-8 and convert it into a string of <code>FilterChars</code>.
-<li><em>Decoding filters</em> which manipulate a string of
+<a name="Filter-Overview"></a>
+<p>In Aspell there are 5 types of filters:
+</p><ol>
+<li> <em>Decoders</em> which take input in some standard format such as
+iso8859-1 or UTF-8 and convert it into a string of <code>FilterChars</code>.
+</li><li> <em>Decoding filters</em> which manipulate a string of
<code>FilterChars</code> by decoding the text is some way such as converting
-an SGML character into its Unicode value.
-<li><em>True filters</em> which manipulate a string of <code>FilterChars</code> to
+an SGML character into its Unicode value.
+</li><li> <em>True filters</em> which manipulate a string of <code>FilterChars</code> to
make it more suitable for spell checking. These filters generally
blank out text which should not be spell checked
-<li><em>Encoding filters</em> which manipulate a string of
+</li><li> <em>Encoding filters</em> which manipulate a string of
<code>FilterChars</code> by encoding the text in some way such as converting
-certain Unicode characters to SGML characters.
-<li><em>Encoders</em> which take a string of <code>FilterChars</code> and convert
+certain Unicode characters to SGML characters.
+</li><li> <em>Encoders</em> which take a string of <code>FilterChars</code> and convert
into a standard format such as iso8859-1 or UTF-8
- </ol>
-
- <p>Which types of filters are used depends on the situation
- <ol type=1 start=1>
-<li>When <em>decoding words</em> for spell checking:
- <ul>
-<li>The <em>decoder</em> to convert from a standard format
-<li>The <em>decoding filter</em> to perform high level decoding if necessary
-<li>The <em>encoder</em> to convert into an internal format used by the
+</li></ol>
+
+<p>Which types of filters are used depends on the situation
+</p><ol>
+<li> When <em>decoding words</em> for spell checking:
+<ul>
+<li> The <em>decoder</em> to convert from a standard format
+</li><li> The <em>decoding filter</em> to perform high level decoding if necessary
+</li><li> The <em>encoder</em> to convert into an internal format used by the
speller module
-</ul>
+</li></ul>
- <li>When <em>checking a document</em>
- <ul>
-<li>The <em>decoder</em> to convert from a standard format
-<li>The <em>decoding filter</em> to perform high level decoding if necessary
-<li>A <em>true filter</em> to filter out parts of the document which should
+</li><li> When <em>checking a document</em>
+<ul>
+<li> The <em>decoder</em> to convert from a standard format
+</li><li> The <em>decoding filter</em> to perform high level decoding if necessary
+</li><li> A <em>true filter</em> to filter out parts of the document which should
not be spell checked
-<li>The <em>encoder</em> to convert into an internal format used by the
+</li><li> The <em>encoder</em> to convert into an internal format used by the
speller module
-</ul>
+</li></ul>
- <li>When <em>encoding words</em> such as those returned for suggestions:
- <ul>
-<li>The <em>decoder</em> to convert from the internal format used by the
+</li><li> When <em>encoding words</em> such as those returned for suggestions:
+<ul>
+<li> The <em>decoder</em> to convert from the internal format used by the
speller module
-<li>The <em>encoding filter</em> to perform high level encodings if
+</li><li> The <em>encoding filter</em> to perform high level encodings if
necessary
-<li>The <em>encoder</em> to convert into a standard format
-</ul>
- </ol>
+</li><li> The <em>encoder</em> to convert into a standard format
+</li></ul>
+</li></ol>
+
- <p>A <code>FilterChar</code> is a struct defined in
-<samp><span class="file">common/filter_char.hpp</span></samp> which contains two members, a character,
+<p>A <code>FilterChar</code> is a struct defined in
+<samp>common/filter_char.hpp</samp> which contains two members, a character,
and a width. Its purpose is to keep track of the width of the
character in the original format. This is important because when a
misspelled word is found the exact location of the word needs to be
-returned to the application so that it can highlight it for the user.
+returned to the application so that it can highlight it for the user.
For example if the filters translated this:
-<pre class="verbatim">
-Mr. foo said &quot;I hate my namme&quot;.
+</p><pre class="verbatim">Mr. foo said &quot;I hate my namme&quot;.
</pre>
-
- <p>to this
-<pre class="verbatim">
-Mr. foo said "I hate my namme".
+<p>to this
+</p><pre class="verbatim">Mr. foo said "I hate my namme".
</pre>
-
- <p>without keeping track of the original width of the characters the application
- will likely highlight
+<p>without keeping track of the original width of the characters the application
+ will likely highlight
<code>e my </code>
as the misspelling because the spell checker will return 25 as the offset
- instead of 30.
+ instead of 30.
However with keeping track of the width using <code>FilterChar</code> the
- spell checker
+ spell checker
will know that the real position is 30 since the quote is really 6 characters
- wide.
+ wide.
In particular the text will be annotated something like the following:
-<pre class="verbatim">
-1111111111111611111111111111161
-Mr. foo said "I hate my namme".
+</p><pre class="verbatim">1111111111111611111111111111161
+Mr. foo said "I hate my namme".
</pre>
-
- <p>The standard <em>encoder</em> and <em>decoder</em> filters are defined in
-<samp><span class="file">common/convert.cpp</span></samp>. There should generally not be any need to
+<p>The standard <em>encoder</em> and <em>decoder</em> filters are defined in
+<samp>common/convert.cpp</samp>. There should generally not be any need to
deal with them so they will not be discussed here. The other three
filters, the <em>encoding filter</em>, the <em>true filter</em>, and the
<em>decoding filter</em>, are all defined the exact same way; they are
inherited from the <code>IndividualFilter</code> class.
-
+</p>
+<a name="Adding-a-New-Filter"></a>
<h3 class="section">11.2 Adding a New Filter</h3>
<p>A new filter basically is added by placing the corresponding loadable
-object inside a directory reachable by Aspell via <samp><span class="option">filter-path</span></samp>
+object inside a directory reachable by Aspell via <samp>filter-path</samp>
list. Further it is necessary that the corresponding filter
description file is located in one of the directories listed by the
-<samp><span class="option">option-path</span></samp> list.
-
- <p>The name of the loadable object has to conform to the following
-convention <samp><span class="file">lib</span><i>filtername</i><span class="file">-filter.so</span></samp> where
-<i>filtername</i> stands for the name of the filter which is
-passed to Aspell by the <samp><span class="option">add-filter</span></samp> option. The same applies
+<samp>option-path</samp> list.
+</p>
+<p>The name of the loadable object has to conform to the following
+convention <samp>lib<i>filtername</i>-filter.so</samp> where
+<code><i>filtername</i></code> stands for the name of the filter which is
+passed to Aspell by the <samp>add-filter</samp> option. The same applies
to the filter description file which has to conform to the following
-naming scheme: <samp><i>filtername</i><span class="file">-filter.opt</span></samp>.
-
- <p>To add a new loadable filter object create a new file.
-
- <p>Basically the file should be a C++ file and end in <samp><span class="file">.cpp</span></samp>. The
+naming scheme: <samp><i>filtername</i>-filter.opt</samp>.
+</p>
+<p>To add a new loadable filter object create a new file.
+</p>
+<p>Basically the file should be a C++ file and end in <samp>.cpp</samp>. The
file should contain a new filter class inherited from
<code>IndividualFilter</code> and a constructor function called
-<samp><span class="file">new_</span><i>filtertype</i></samp> (see <a href="Constructor-Function.html#Constructor-Function">Constructor Function</a>) returning a
+<samp>new_<i>filtertype</i></samp> (see <a href="#Constructor-Function">Constructor Function</a>) returning a
new filter object. Further it is necessary to manually generate the
filter description file. Finally the resulting object has to be
turned into a loadable filter object using libtool.
-
- <p>Alternatively a new filter may extend the functionality of an existing
-filter. In this case the new filter has to be derived form the
+</p>
+<p>Alternatively a new filter may extend the functionality of an existing
+filter. In this case the new filter has to be derived form the
corresponding valid filter class instead of the <code>IndividualFilter</code>
class.
-
+</p>
+<a name="IndividualFilter-class"></a>
<h3 class="section">11.3 IndividualFilter class</h3>
<p>All filters are required to inherit from the <code>IndividualFilter</code>
-class found in <samp><span class="file">indiv_filter.hpp</span></samp>. See that file for more
+class found in <samp>indiv_filter.hpp</samp>. See that file for more
details and the other filter modules for examples of how it is used.
-
+</p>
+<a name="Constructor-Function-1"></a>
<h3 class="section">11.4 Constructor Function</h3>
-
-<p><a name="Constructor-Function"></a>
-
- <p>After the class is created a function must be created which will
+<a name="Constructor-Function"></a>
+<p>After the class is created a function must be created which will
return a new filter allocated with <code>new</code>. The function must have
the following prototype:
-<pre class="example"> C_EXPORT IndividualFilter * new_aspell_<var>filtername</var>_<var>filtertype</var>
-</pre>
- <p>Filters are defined in groups where each group contains an
+</p><div class="example">
+<pre class="example">C_EXPORT IndividualFilter * new_aspell_<var>filtername</var>_<var>filtertype</var>
+</pre></div>
+
+<p>Filters are defined in groups where each group contains an
<em>encoding filter</em>, a <em>true filter</em>, and a <em>decoding
-filter</em> (see <a href="Filter-Overview.html#Filter-Overview">Filter Overview</a>). Only one of them is required to
+filter</em> (see <a href="#Filter-Overview">Filter Overview</a>). Only one of them is required to
be defined, however they all need a separate constructor function.
-
+</p>
+<a name="Filter-Description-File-1"></a>
<h3 class="section">11.5 Filter Description File</h3>
-
-<p><a name="Filter-Description-File"></a>
-
- <p>This file contains the description of a filter which is loaded by
-Aspell immediately when the <samp><span class="option">add-filter</span></samp> option is invoked. If
+<a name="Filter-Description-File"></a>
+<p>This file contains the description of a filter which is loaded by
+Aspell immediately when the <samp>add-filter</samp> option is invoked. If
this file is missing Aspell will complain about it. It consists of
lines containing comments which must be started by a <kbd>#</kbd>
-character and lines containing key value pairs describing the filter.
+character and lines containing key value pairs describing the filter.
Each file at least has to contain the following two lines in the given
order.
+</p>
+<div class="example">
+<pre class="example">ASPELL >=0.60
+DESCRIPTION this is short filter description
+</pre></div>
-<pre class="example"> ASPELL >=0.60
- DESCRIPTION this is short filter description
-</pre>
- <p>The first non blank, non comment line has to contain the keyword
+<p>The first non blank, non comment line has to contain the keyword
<code>ASPELL</code> followed by the version of Aspell which the filter is
usable with. To denote multiple Aspell versions the version number may
-be prefixed by `<kbd><</kbd>', `<kbd><=</kbd>', `<kbd>=</kbd>', `<kbd>>=</kbd>' or `<kbd>></kbd>.
-If the range prefix is omitted `<kbd>=</kbd>' is assumed. The
+be prefixed by ‘<kbd><</kbd>’, ‘<kbd><=</kbd>’, ‘<kbd>=</kbd>’, ‘<kbd>>=</kbd>’ or ‘<kbd>></kbd>.
+If the range prefix is omitted ‘<kbd>=</kbd>’ is assumed. The
<code>DESCRIPTION</code> of the filter should be under 50, begin in lower
-case, and note include any trailing punctuation characters.
+case, and note include any trailing punctuation characters.
The keyword <code>DESCRIPTION</code> may be abbreviated by <code>DESC</code>.
-
- <p>For each filter feature (see <a href="Filter-Overview.html#Filter-Overview">Filter Overview</a>) provided by the
+</p>
+<p>For each filter feature (see <a href="#Filter-Overview">Filter Overview</a>) provided by the
corresponding loadable object, the option file has to contain the
following line:
-<pre class="example"> STATIC <i>filtertype</i>
-</pre>
- <p><i>filtertype</i> stands for one of <code>decoder</code>, <code>filter</code>
+</p><div class="example">
+<pre class="example">STATIC <code><i>filtertype</i></code>
+</pre></div>
+<p><code><i>filtertype</i></code> stands for one of <code>decoder</code>, <code>filter</code>
or <code>encoder</code> denoting the entire filter type. This line allows
-to statically (see <a href="Link-Filters-Static.html#Link-Filters-Static">Link Filters Static</a>) link the filter into
+to statically (see <a href="#Link-Filters-Static">Link Filters Static</a>) link the filter into
Aspell if requested by the user or by the system Aspell is built for.
-
-<pre class="example"> OPTION newoption
- DESCRIPTION this is a short description of newoption
- TYPE bool
- DEFAULT false
- ENDOPTION
-</pre>
- <p>An option is added by a line containing the keyword <code>OPTION</code>
+</p>
+<div class="example">
+<pre class="example">OPTION newoption
+DESCRIPTION this is a short description of newoption
+TYPE bool
+DEFAULT false
+ENDOPTION
+</pre></div>
+
+<p>An option is added by a line containing the keyword <code>OPTION</code>
followed by the name of the option. If this name is not prefixed by
the name of the filter Aspell will implicitly do that. For the
<code>DESCRIPTION</code> of a filter option the same holds as for the filter
<code>int</code>, <code>string</code> or <code>list</code>. If the <code>TYPE</code> is
omitted <code>bool</code> is assumed. The default value(s) for an option is
specified via <code>DEFAULT</code> (short <code>DEF</code>) followed by the
-desired <code>TYPE</code> dependent default value. The table <a href="Filter-Default-Values.html#Filter-Default-Values">Filter Default Values</a> shows the possible values for each <code>TYPE</code>.
-
- <p><a name="Filter-Default-Values"></a>
- <p><table summary=""><tr align="left"><td valign="top"><b>Type</b> </td><td valign="top"><b>Default</b> </td><td valign="top"><b>Available</b>
-<br></td></tr><tr align="left"><td valign="top">bool </td><td valign="top">true </td><td valign="top">true false
-<br></td></tr><tr align="left"><td valign="top">int </td><td valign="top">0 </td><td valign="top">any number value
-<br></td></tr><tr align="left"><td valign="top">string </td><td valign="top"></td><td valign="top">any printable string
-<br></td></tr><tr align="left"><td valign="top">list </td><td valign="top"></td><td valign="top">any comma separated list of strings
- <br></td></tr></table>
-
- <p>Table 1. Shows the default values Aspell assumes if option
-<samp><span class="option">description</span></samp> lacks a <code>DEFAULT</code> or <code>DEF</code> line.
-
- <p>The <code>ENDOPTION</code> line may be omitted as it is assumed implicitly
+desired <code>TYPE</code> dependent default value. The table <a href="#Filter-Default-Values">Filter Default Values</a> shows the possible values for each <code>TYPE</code>.
+</p>
+<a name="Filter-Default-Values"></a><table>
+<tr><td><b>Type</b></td><td><b>Default</b></td><td><b>Available</b></td></tr>
+<tr><td>bool</td><td>true</td><td>true false</td></tr>
+<tr><td>int</td><td>0</td><td>any number value</td></tr>
+<tr><td>string</td><td></td><td>any printable string</td></tr>
+<tr><td>list</td><td></td><td>any comma separated list of strings</td></tr>
+</table>
+
+<p>Table 1. Shows the default values Aspell assumes if option
+<samp>description</samp> lacks a <code>DEFAULT</code> or <code>DEF</code> line.
+</p>
+<p>The <code>ENDOPTION</code> line may be omitted as it is assumed implicitly
if a line containing <code>OPTION</code>, <code>STATIC</code>.
-
- <blockquote>
-<strong>Note</strong> The keywords in a filter description file are case
+</p>
+<blockquote>
+<p><strong>Note</strong> The keywords in a filter description file are case
insensitive. The above examples use the all uppercase for better
distinguishing them from values and comments. Further a filter
-description may contain blank lines to enhance their readability.
-</blockquote>
+description may contain blank lines to enhance their readability.
+</p></blockquote>
- <blockquote>
-<strong>Note</strong> An option of <code>list</code> type may contain multiple
+<blockquote>
+<p><strong>Note</strong> An option of <code>list</code> type may contain multiple
consecutive lines for default values starting with <code>DEFAULT</code> or
-<code>DEF</code>, to specify numerous default values.
-</blockquote>
+<code>DEF</code>, to specify numerous default values.
+</p></blockquote>
+
+<a name="Retrieve-Options-by-a-Filter"></a>
<h3 class="section">11.6 Retrieve Options by a Filter</h3>
<p>An option always has to be retrieved by a filter using its full
qualified name as the following example shows.
+</p>
-<pre class="example"> config->retrieve_bool("filter-<i>filtername</i>-newoption");
-</pre>
- <p>The prefix <code>filter-</code> allows user to relate option uniquely to the
-specific filter when <i>filtername</i><code>-newoption</code> ambiguous an
-existing option of Aspell. The <i>filtername</i> stands for the
-name of the filter the option belongs to and <code>-</code><i>newoption</i> is
-the name of the option as specified in the corresponding <samp><span class="file">.opt</span></samp>
-file (see <a href="Filter-Description-File.html#Filter-Description-File">Filter Description File</a>
+<div class="example">
+<pre class="example">config->retrieve_bool("filter-<i>filtername</i>-newoption");
+</pre></div>
+<p>The prefix <code>filter-</code> allows user to relate option uniquely to the
+specific filter when <code><i>filtername</i>-newoption</code> ambiguous an
+existing option of Aspell. The <code><i>filtername</i></code> stands for the
+name of the filter the option belongs to and <code>-<i>newoption</i></code> is
+the name of the option as specified in the corresponding <samp>.opt</samp>
+file (see <a href="#Filter-Description-File">Filter Description File</a>
+</p>
+
+<a name="Compiling-and-Linking"></a>
<h3 class="section">11.7 Compiling and Linking</h3>
<p>See a good book on Unix programming on how to turn the filter source
into a loadable object.
+</p>
-<h3 class="section">11.8 Programmer's Interface</h3>
-
-<p><a name="Programmer_0027s-Interface"></a>
+<a name="Programmer_0027s-Interface-1"></a>
+<h3 class="section">11.8 Programmer’s Interface</h3>
+<a name="Programmer_0027s-Interface"></a>
- <p><a name="Recommended-Standard-Aspell"></a> A more convenient way
+<a name="Recommended-Standard-Aspell"></a><p>A more convenient way
recommended, if filter is added to Aspell standard distribution to
-build a new filter is provided by Aspell's programmers interface for
-filter. It is provided by the <samp><span class="file">loadable-filter-API.hpp</span></samp> file.
+build a new filter is provided by Aspell’s programmers interface for
+filter. It is provided by the <samp>loadable-filter-API.hpp</samp> file.
Including this file gives access to a collection of macros hiding
nasty details about runtime construction of a filter and about filter
-debugging. Table <a href="Interface-Macros.html#Interface-Macros">Interface Macros</a> shows the macros provided by
+debugging. Table <a href="#Interface-Macros">Interface Macros</a> shows the macros provided by
the interface. For details upon the entire macros see
-<samp><span class="file">loadable-filter-API.hpp</span></samp>. An example on how to use these macros
-can be found at <samp><span class="file">examples/loadable/ccpp-context.hpp</span></samp> and
-<samp><span class="file">examples/loadable/ccpp-context.cpp</span></samp>.
-
- <p><table summary=""><tr align="left"><td valign="top" width="25%"><b>Macro</b> </td><td valign="top" width="6%"><b>Type</b> </td><td valign="top" width="34%"><b>Description</b> </td><td valign="top" width="34%"><b>Notes</b>
-<br></td></tr><tr align="left"><td valign="top" width="25%">ACTIVATE_ENCODER </td><td valign="top" width="6%">M </td><td valign="top" width="34%">makes the entire encoding
-filter callable by Aspell </td><td valign="top" width="34%">do not call inside class declaration;
-these macros define new_<filtertype> function;
-<br></td></tr><tr align="left"><td valign="top" width="25%">ACTIVATE_DECODER </td><td valign="top" width="6%">M </td><td valign="top" width="34%">makes the entire decoding
-filter callable by Aspell </td><td valign="top" width="34%"><em>as above</em>
-<br></td></tr><tr align="left"><td valign="top" width="25%">ACTIVATE_FILTER </td><td valign="top" width="6%">M </td><td valign="top" width="34%">makes the entire filter
-callable by Aspell </td><td valign="top" width="34%"><em>as above</em>
-<br></td></tr><tr align="left"><td valign="top" width="25%">FDEBUGOPEN </td><td valign="top" width="6%">D </td><td valign="top" width="34%">Initialises the macros for debugging a
-filter and opens the debug file stream </td><td valign="top" width="34%">These macros are only
+<samp>loadable-filter-API.hpp</samp>. An example on how to use these macros
+can be found at <samp>examples/loadable/ccpp-context.hpp</samp> and
+<samp>examples/loadable/ccpp-context.cpp</samp>.
+</p>
+<table>
+<tr><td width="25%"><b>Macro</b></td><td width="6%"><b>Type</b></td><td width="34%"><b>Description</b></td><td width="34%"><b>Notes</b></td></tr>
+<tr><td width="25%">ACTIVATE_ENCODER</td><td width="6%">M</td><td width="34%">makes the entire encoding
+filter callable by Aspell</td><td width="34%">do not call inside class declaration;
+these macros define new_<filtertype> function;</td></tr>
+<tr><td width="25%">ACTIVATE_DECODER</td><td width="6%">M</td><td width="34%">makes the entire decoding
+filter callable by Aspell</td><td width="34%"><em>as above</em></td></tr>
+<tr><td width="25%">ACTIVATE_FILTER</td><td width="6%">M</td><td width="34%">makes the entire filter
+callable by Aspell</td><td width="34%"><em>as above</em></td></tr>
+<tr><td width="25%">FDEBUGOPEN</td><td width="6%">D</td><td width="34%">Initialises the macros for debugging a
+filter and opens the debug file stream</td><td width="34%">These macros are only
active if the <code>FILTER_PROGRESS_CONTROL</code> macro is defined and
denotes the name of the file debug messages should be sent to.
<p>If debugging should go to Aspell standard debugging output (right now
stderr) use empty string constant as filename
-<br></td></tr><tr align="left"><td valign="top" width="25%">FDEBUGNOTOPEN </td><td valign="top" width="6%">D </td><td valign="top" width="34%">Same as “FDEBUGOPEN” but
-only if debug file stream was not opened yet </td><td valign="top" width="34%"><em>as above</em>
-<br></td></tr><tr align="left"><td valign="top" width="25%">FDEBUGCLOSE </td><td valign="top" width="6%">D </td><td valign="top" width="34%">closes the debugging device opened by “FDEBUGOPEN” and reverts it to “stderr”; </td><td valign="top" width="34%"><em>as above</em>
-<br></td></tr><tr align="left"><td valign="top" width="25%">FDEBUG </td><td valign="top" width="6%">D </td><td valign="top" width="34%">prints the filename and the line
-number it occurs </td><td valign="top" width="34%"><em>as above</em>
-<br></td></tr><tr align="left"><td valign="top" width="25%">FDEBUGPRINTF </td><td valign="top" width="6%">D </td><td valign="top" width="34%">special printf for debugging
-</td><td valign="top" width="34%"><em>as above</em>
- <br></td></tr></table>
-
- <p>Table 2. Shows the macros provided by <samp><span class="file">loadable-filter-API.hpp</span></samp>
-(<strong>M</strong> mandatory, <strong>D</strong> debugging) <a name="Interface-Macros"></a>
-
+</p></td></tr>
+<tr><td width="25%">FDEBUGNOTOPEN</td><td width="6%">D</td><td width="34%">Same as “FDEBUGOPEN” but
+only if debug file stream was not opened yet</td><td width="34%"><em>as above</em></td></tr>
+<tr><td width="25%">FDEBUGCLOSE</td><td width="6%">D</td><td width="34%">closes the debugging device opened by “FDEBUGOPEN” and reverts it to “stderr”;</td><td width="34%"><em>as above</em></td></tr>
+<tr><td width="25%">FDEBUG</td><td width="6%">D</td><td width="34%">prints the filename and the line
+number it occurs</td><td width="34%"><em>as above</em></td></tr>
+<tr><td width="25%">FDEBUGPRINTF</td><td width="6%">D</td><td width="34%">special printf for debugging</td><td width="34%"><em>as above</em></td></tr>
+</table>
+
+<p>Table 2. Shows the macros provided by <samp>loadable-filter-API.hpp</samp>
+(<strong>M</strong> mandatory, <strong>D</strong> debugging) <a name="Interface-Macros"></a></p>
+
+<a name="Adding-a-filter-to-Aspell-standard-distribution"></a>
<h3 class="section">11.9 Adding a filter to Aspell standard distribution</h3>
-
-<p><a name="Link-Filters-Static"></a>
-
- <p>Any filter which one day should be added to Aspell has to be built
-using the developer interface, described in <a href="Programmer_0027s-Interface.html#Programmer_0027s-Interface">Programmer's Interface</a>. To add the filter the following steps have to be
+<a name="Link-Filters-Static"></a>
+<p>Any filter which one day should be added to Aspell has to be built
+using the developer interface, described in <a href="#Programmer_0027s-Interface">Programmer's Interface</a>. To add the filter the following steps have to be
performed:
-
- <ol type=1 start=1>
-<li>Decide whether the filter should be kept loadable if possible, or
+</p>
+<ol>
+<li> Decide whether the filter should be kept loadable if possible, or
always be statically linked to Aspell.
- <li><a name="Place-Sources"></a> Place the filter sources inside the entire
+</li><li> <a name="Place-Sources"></a>Place the filter sources inside the entire
directory of Aspell source tree. Right now use
-<i>$top_srcdir</i><code>/modules/filter</code>.
-
- <li>Modify the <samp><span class="file">Makefile.am</span></samp> file on the topmost directory of the
+<code><i>$top_srcdir</i>/modules/filter</code>.
+
+</li><li> Modify the <samp>Makefile.am</samp> file on the topmost directory of the
Aspell distribution. Follow the instructions given by the
<code>#Filter Modules</code> section.
+
+</li><li> Run <samp>autoconf</samp>, <samp>automake</samp>, …
- <li>Run <samp><span class="file">autoconf</span></samp>, <samp><span class="file">automake</span></samp>, <small class="dots">...</small>
-
- <li>Reconfigure sources.
-
- <li><a name="Build-Sources"></a> Clear away any remains of a previous build and
+</li><li> Reconfigure sources.
+
+</li><li> <a name="Build-Sources"></a>Clear away any remains of a previous build and
rebuild sources.
-
- <li><a name="Reinstall-Aspell"></a> Reinstall Aspell.
-
- <li><a name="Test-Filter-Installed"></a> Test if filter has been added properly
+
+</li><li> <a name="Reinstall-Aspell"></a>Reinstall Aspell.
+
+</li><li> <a name="Test-Filter-Installed"></a>Test if filter has been added properly
otherwise return to steps 2–7
-<!-- Doesn't work@ref{Place Sources}-@ref{Reinstall Aspell}. -->
-
- <li>Reconfigure sources with <samp><span class="option">enable-static</span></samp> flag and repeat steps
+
+</li><li> Reconfigure sources with <samp>enable-static</samp> flag and repeat steps
2–7
-<!-- Doesn't work @ref{Build Sources}-@ref{Test Filter Installed} -->
until your filter builds and runs properly in case of static linkage.
-
- <li>Add your source files to cvs, and commit all your changes. Or in case
+
+</li><li> Add your source files to cvs, and commit all your changes. Or in case
you are not allowed to commit to cvs submit a patch (see <a href="How-to-Submit-a-Patch.html#How-to-Submit-a-Patch">How to Submit a Patch</a>) containing your changes.
- </ol>
-<!-- Following this comes the section ``Filter Modes'' -->
+</li></ol>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Filter-Modes.html#Filter-Modes" accesskey="n" rel="next">Filter Modes</a>, Previous: <a href="Config-Class.html#Config-Class" accesskey="p" rel="prev">Config Class</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the developer's manual for Aspell.
+
+Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
-<title>Filter Modes - Aspell Developer's Manual</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell spell checker developer's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="prev" href="Filter-Interface.html#Filter-Interface" title="Filter Interface">
-<link rel="next" href="Data-Structures.html#Data-Structures" title="Data Structures">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
+<title>Aspell Developer’s Manual: Filter Modes</title>
+
+<meta name="description" content="Aspell spell checker developer’s manual.">
+<meta name="keywords" content="Aspell Developer’s Manual: Filter Modes">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Data-Structures.html#Data-Structures" rel="next" title="Data Structures">
+<link href="Filter-Interface.html#Filter-Interface" rel="prev" title="Filter Interface">
+<style type="text/css">
<!--
-This is the developer's manual for Aspell.
-
-Copyright (C) 2002, 2003, 2004, 2006 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Filter-Modes"></a>
-Next: <a rel="next" accesskey="n" href="Data-Structures.html#Data-Structures">Data Structures</a>,
-Previous: <a rel="previous" accesskey="p" href="Filter-Interface.html#Filter-Interface">Filter Interface</a>,
-Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Data-Structures.html#Data-Structures" accesskey="n" rel="next">Data Structures</a>, Previous: <a href="Filter-Interface.html#Filter-Interface" accesskey="p" rel="prev">Filter Interface</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Filter-Modes-1"></a>
<h2 class="chapter">12 Filter Modes</h2>
<p>Filter modes are the preferred way to specify combinations of
-filters which are used regularly and thus abbreviate Aspell's
+filters which are used regularly and thus abbreviate Aspell’s
command line arguments.
-
- <p>A new filter mode is specified by a file named like the filter
-new mode and prefixed by <samp><span class="file">.amf</span></samp> (Aspell Mode File). If such a file
+</p>
+<p>A new filter mode is specified by a file named like the filter
+new mode and prefixed by <samp>.amf</samp> (Aspell Mode File). If such a file
is accessible by the path set via filter-path option Aspell
will try to load the contained mode specification.
-
+</p>
+<a name="Aspell-Mode-File"></a>
<h3 class="section">12.1 Aspell Mode File</h3>
-
-<p>The first key in the made file has be the <code>mode</code> key.
-It is checked against the mode name part of the .amf file.
+<p>The first key in the made file has be the <code>mode</code> key.
+It is checked against the mode name part of the .amf file.
If the <code>mode</code> key is missing mode file will be rejected.
-
- <p>The same holds for the <code>aspell</code> key which specifies the
+</p>
+<p>The same holds for the <code>aspell</code> key which specifies the
version(s) of Aspell which is(are) required by the filter.
-
- <p>If these two keys are followed by at least one <code>magic</code> key
+</p>
+<p>If these two keys are followed by at least one <code>magic</code> key
Aspell will be able to select the entire mode from extension and
if required from contents of the file to spell implicitly.
-
- <p>The last key of the required keys is the <code>des[c[ription]]</code>
+</p>
+<p>The last key of the required keys is the <code>des[c[ription]]</code>
key. It gives a short description of the filter mode which will
-displayed when type <samp><span class="command">aspell help</span></samp>.
-
- <p>The rest of the file consists of the keys <code>filter</code> and
+displayed when type <code>aspell help</code>.
+</p>
+<p>The rest of the file consists of the keys <code>filter</code> and
<code>option</code> to load filters are set various options.
-
+</p>
+<a name="Version-Line"></a>
<h4 class="subsection">12.1.1 Version Line</h4>
<p>Each version line must start with <code>aspell</code> and be followed by a
version, optionally prefixed by a relational operator. The relation
-operator can be one of `<', `<=', `=', `>=' or '>' for allowing Aspell
+operator can be one of ‘<’, ‘<=’, ‘=’, ‘>=’ or ’>’ for allowing Aspell
version with version number being lower, lower or equal, equal to,
greater or equal or greater than required version number,
-respectfully. If the relation operator is omitted `=' is assumed.
-
+respectfully. If the relation operator is omitted ‘=’ is assumed.
+</p>
+<a name="Magic-Line"></a>
<h4 class="subsection">12.1.2 Magic Line</h4>
<p>The magic line contains a description which requirements files
have to fulfill in order to implicitly activate the entire mode
at least one such line is required. Each magic line has the following
format:
-<pre class="example"> MAGIC /<magic key>/<fileextention>[/<fileextention>]
-</pre>
- <p>The magic key consist of three `:' separated fields.
-The first two are byte counts the last is a regular expression.
+</p><div class="example">
+<pre class="example">MAGIC /<magic key>/<fileextension>[/<fileextension>]
+</pre></div>
+
+<p>The magic key consist of three ‘:’ separated fields.
+The first two are byte counts the last is a regular expression.
The first byte count indicates the first byte the regular expression
will be applied to the second byte count indicates the number of
bytes to test against the regular expression.
-
- <p>If mode selection should only occurred on basis of the listed file
+</p>
+<p>If mode selection should only occurred on basis of the listed file
extensions the magic key should consist of the “<noregex>” special
string.
-
- <p>At least one <fileextention> is required per MAGIC line.
-<fileextention> may not be empty and should not contain a leading `.'
+</p>
+<p>At least one <fileextension> is required per MAGIC line.
+<fileextension> may not be empty and should not contain a leading ‘.’
as this is assumed implicitly.
-
- <p>Multiple MAGIC lines are allowed. Modes may be extended limited by additional
+</p>
+<p>Multiple MAGIC lines are allowed. Modes may be extended limited by additional
<label>.amf files located in –filter-path
-Thus file extensions may be prefixed by `+' or `-' to indicate that
+Thus file extensions may be prefixed by ‘+’ or ‘-’ to indicate that
the entire extension has to be added ore removed from this <magic key>
-if neither is specified than a `+' is assumed implicitly.
-
+if neither is specified than a ‘+’ is assumed implicitly.
+</p>
+<a name="Description-Line"></a>
<h4 class="subsection">12.1.3 Description Line</h4>
<p>The required description line will be printed when typing
-<samp><span class="command">aspell help</span></samp>. Keep it as short as possible. Possible
+<code>aspell help</code>. Keep it as short as possible. Possible
abbreviations are <code>des</code> and <code>desc</code>.
-
+</p>
+<a name="Filter-and-Option-Lines"></a>
<h4 class="subsection">12.1.4 Filter and Option Lines</h4>
<p>The <code>filter</code> and <code>option</code> keys load filters and set filter
options.
+</p>
+<p>The value of the <code>filter</code> key is equal to the value of Aspell’s
+<code>[add|rem]-filter</code> option.
+</p>
+<p>Each <code>option</code> line has the following format:
+</p>
+<div class="example">
+<pre class="example"> OPTION <option> [<value>]
+</pre></div>
+
+<p>The format of the <option> and <value> is the same format as
+found in the Aspell configuration file.
+</p>
- <p>The value of the <code>filter</code> key is equal to the value of Aspell's
-<code>[add|rem]-filter</code> option.
- <p>Each <code>option</code> line has the following format:
-<pre class="example"> OPTION <option> [<value>]
-</pre>
- <p>The format of the <option> and <value> is the same format as
-found in the Aspell configuration file.
+<hr>
+<div class="header">
+<p>
+Next: <a href="Data-Structures.html#Data-Structures" accesskey="n" rel="next">Data Structures</a>, Previous: <a href="Filter-Interface.html#Filter-Interface" accesskey="p" rel="prev">Filter Interface</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
-<!-- Following this comes the section ``Data Structures'' -->
-<!-- *- end of new text -*- -->
-<!-- The section ``Config Options'' was here -->
-</body></html>
+</body>
+</html>
-<meta http-equiv="refresh" content="0; url=Filter-Interface.html#Filter%20Overview">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the developer's manual for Aspell.
+
+Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<!-- This file redirects to the location of a node or anchor -->
+<head>
+<title>Aspell Developer’s Manual: Filter Overview</title>
+
+<meta name="description" content="Aspell spell checker developer’s manual.">
+<meta name="keywords" content="Aspell Developer’s Manual: Filter Overview">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+<meta http-equiv="Refresh" content="0; url=Filter-Interface.html#Filter-Overview">
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+
+<p>The node you are looking for is at <a href="Filter-Interface.html#Filter-Overview">Filter Overview</a>.</p>
+</body>
-<html lang="en">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the developer's manual for Aspell.
+
+Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
-<title>GNU Free Documentation License - Aspell Developer's Manual</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell spell checker developer's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Copying.html#Copying" title="Copying">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
+<title>Aspell Developer’s Manual: GNU Free Documentation License</title>
+
+<meta name="description" content="Aspell spell checker developer’s manual.">
+<meta name="keywords" content="Aspell Developer’s Manual: GNU Free Documentation License">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Copying.html#Copying" rel="up" title="Copying">
+<link href="Copying.html#Copying" rel="prev" title="Copying">
+<style type="text/css">
<!--
-This is the developer's manual for Aspell.
-
-Copyright (C) 2002, 2003, 2004, 2006 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="GNU-Free-Documentation-License"></a>
-Up: <a rel="up" accesskey="u" href="Copying.html#Copying">Copying</a>
-<hr>
+<div class="header">
+<p>
+Up: <a href="Copying.html#Copying" accesskey="u" rel="up">Copying</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="GNU-Free-Documentation-License-1"></a>
<h3 class="appendixsec">A.1 GNU Free Documentation License</h3>
-<p><a name="index-FDL_002c-GNU-Free-Documentation-License-1"></a><div align="center">Version 1.2, November 2002</div>
+<a name="index-FDL_002c-GNU-Free-Documentation-License"></a>
+<div align="center">Version 1.2, November 2002
+</div>
+<div class="display">
+<pre class="display">Copyright © 2000,2001,2002 Free Software Foundation, Inc.
+59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
+
+Everyone is permitted to copy and distribute verbatim copies
+of this license document, but changing it is not allowed.
+</pre></div>
-<pre class="display"> Copyright © 2000,2001,2002 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
-
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-</pre>
- <ol type=1 start=0>
-<li>PREAMBLE
+<ol>
+<li> PREAMBLE
- <p>The purpose of this License is to make a manual, textbook, or other
-functional and useful document <dfn>free</dfn> in the sense of freedom: to
+<p>The purpose of this License is to make a manual, textbook, or other
+functional and useful document <em>free</em> in the sense of freedom: to
assure everyone the effective freedom to copy and redistribute it,
-with or without modifying it, either commercially or noncommercially.
+with or without modifying it, either commercially or noncommercially.
Secondarily, this License preserves for the author and publisher a way
to get credit for their work, while not being considered responsible
for modifications made by others.
-
- <p>This License is a kind of “copyleft”, which means that derivative
+</p>
+<p>This License is a kind of “copyleft”, which means that derivative
works of the document must themselves be free in the same sense. It
complements the GNU General Public License, which is a copyleft
license designed for free software.
-
- <p>We have designed this License in order to use it for manuals for free
+</p>
+<p>We have designed this License in order to use it for manuals for free
software, because free software needs free documentation: a free
program should come with manuals providing the same freedoms that the
software does. But this License is not limited to software manuals;
it can be used for any textual work, regardless of subject matter or
whether it is published as a printed book. We recommend this License
principally for works whose purpose is instruction or reference.
+</p>
+</li><li> APPLICABILITY AND DEFINITIONS
- <li>APPLICABILITY AND DEFINITIONS
-
- <p>This License applies to any manual or other work, in any medium, that
+<p>This License applies to any manual or other work, in any medium, that
contains a notice placed by the copyright holder saying it can be
distributed under the terms of this License. Such a notice grants a
world-wide, royalty-free license, unlimited in duration, to use that
licensee, and is addressed as “you”. You accept the license if you
copy, modify or distribute the work in a way requiring permission
under copyright law.
-
- <p>A “Modified Version” of the Document means any work containing the
+</p>
+<p>A “Modified Version” of the Document means any work containing the
Document or a portion of it, either copied verbatim, or with
modifications and/or translated into another language.
-
- <p>A “Secondary Section” is a named appendix or a front-matter section
+</p>
+<p>A “Secondary Section” is a named appendix or a front-matter section
of the Document that deals exclusively with the relationship of the
-publishers or authors of the Document to the Document's overall
+publishers or authors of the Document to the Document’s overall
subject (or to related matters) and contains nothing that could fall
directly within that overall subject. (Thus, if the Document is in
part a textbook of mathematics, a Secondary Section may not explain
connection with the subject or with related matters, or of legal,
commercial, philosophical, ethical or political position regarding
them.
-
- <p>The “Invariant Sections” are certain Secondary Sections whose titles
+</p>
+<p>The “Invariant Sections” are certain Secondary Sections whose titles
are designated, as being those of Invariant Sections, in the notice
that says that the Document is released under this License. If a
section does not fit the above definition of Secondary then it is not
allowed to be designated as Invariant. The Document may contain zero
Invariant Sections. If the Document does not identify any Invariant
Sections then there are none.
-
- <p>The “Cover Texts” are certain short passages of text that are listed,
+</p>
+<p>The “Cover Texts” are certain short passages of text that are listed,
as Front-Cover Texts or Back-Cover Texts, in the notice that says that
the Document is released under this License. A Front-Cover Text may
be at most 5 words, and a Back-Cover Text may be at most 25 words.
-
- <p>A “Transparent” copy of the Document means a machine-readable copy,
+</p>
+<p>A “Transparent” copy of the Document means a machine-readable copy,
represented in a format whose specification is available to the
general public, that is suitable for revising the document
straightforwardly with generic text editors or (for images composed of
for automatic translation to a variety of formats suitable for input
to text formatters. A copy made in an otherwise Transparent file
format whose markup, or absence of markup, has been arranged to thwart
-or discourage subsequent modification by readers is not Transparent.
+or discourage subsequent modification by readers is not Transparent.
An image format is not Transparent if used for any substantial amount
of text. A copy that is not “Transparent” is called “Opaque”.
-
- <p>Examples of suitable formats for Transparent copies include plain
-<span class="sc">ascii</span> without markup, Texinfo input format, LaTeX input
+</p>
+<p>Examples of suitable formats for Transparent copies include plain
+<small>ASCII</small> without markup, Texinfo input format, LaTeX input
format, <acronym>SGML</acronym> or <acronym>XML</acronym> using a publicly available
<acronym>DTD</acronym>, and standard-conforming simple <acronym>HTML</acronym>,
PostScript or <acronym>PDF</acronym> designed for human modification. Examples
not generally available, and the machine-generated <acronym>HTML</acronym>,
PostScript or <acronym>PDF</acronym> produced by some word processors for
output purposes only.
-
- <p>The “Title Page” means, for a printed book, the title page itself,
+</p>
+<p>The “Title Page” means, for a printed book, the title page itself,
plus such following pages as are needed to hold, legibly, the material
this License requires to appear in the title page. For works in
formats which do not have any title page as such, “Title Page” means
-the text near the most prominent appearance of the work's title,
+the text near the most prominent appearance of the work’s title,
preceding the beginning of the body of the text.
-
- <p>A section “Entitled XYZ” means a named subunit of the Document whose
+</p>
+<p>A section “Entitled XYZ” means a named subunit of the Document whose
title either is precisely XYZ or contains XYZ in parentheses following
text that translates XYZ in another language. (Here XYZ stands for a
specific section name mentioned below, such as “Acknowledgements”,
“Dedications”, “Endorsements”, or “History”.) To “Preserve the Title”
of such a section when you modify the Document means that it remains a
section “Entitled XYZ” according to this definition.
-
- <p>The Document may include Warranty Disclaimers next to the notice which
+</p>
+<p>The Document may include Warranty Disclaimers next to the notice which
states that this License applies to the Document. These Warranty
Disclaimers are considered to be included by reference in this
License, but only as regards disclaiming warranties: any other
implication that these Warranty Disclaimers may have is void and has
no effect on the meaning of this License.
+</p>
+</li><li> VERBATIM COPYING
- <li>VERBATIM COPYING
-
- <p>You may copy and distribute the Document in any medium, either
+<p>You may copy and distribute the Document in any medium, either
commercially or noncommercially, provided that this License, the
copyright notices, and the license notice saying this License applies
to the Document are reproduced in all copies, and that you add no other
copying of the copies you make or distribute. However, you may accept
compensation in exchange for copies. If you distribute a large enough
number of copies you must also follow the conditions in section 3.
-
- <p>You may also lend copies, under the same conditions stated above, and
+</p>
+<p>You may also lend copies, under the same conditions stated above, and
you may publicly display copies.
+</p>
+</li><li> COPYING IN QUANTITY
- <li>COPYING IN QUANTITY
-
- <p>If you publish printed copies (or copies in media that commonly have
+<p>If you publish printed copies (or copies in media that commonly have
printed covers) of the Document, numbering more than 100, and the
-Document's license notice requires Cover Texts, you must enclose the
+Document’s license notice requires Cover Texts, you must enclose the
copies in covers that carry, clearly and legibly, all these Cover
Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
the back cover. Both covers must also clearly and legibly identify
you as the publisher of these copies. The front cover must present
the full title with all words of the title equally prominent and
-visible. You may add other material on the covers in addition.
+visible. You may add other material on the covers in addition.
Copying with changes limited to the covers, as long as they preserve
the title of the Document and satisfy these conditions, can be treated
as verbatim copying in other respects.
-
- <p>If the required texts for either cover are too voluminous to fit
+</p>
+<p>If the required texts for either cover are too voluminous to fit
legibly, you should put the first ones listed (as many as fit
reasonably) on the actual cover, and continue the rest onto adjacent
pages.
-
- <p>If you publish or distribute Opaque copies of the Document numbering
+</p>
+<p>If you publish or distribute Opaque copies of the Document numbering
more than 100, you must either include a machine-readable Transparent
copy along with each Opaque copy, or state in or with each Opaque copy
a computer-network location from which the general network-using
public has access to download using public-standard network protocols
-a complete Transparent copy of the Document, free of added material.
+a complete Transparent copy of the Document, free of added material.
If you use the latter option, you must take reasonably prudent steps,
when you begin distribution of Opaque copies in quantity, to ensure
that this Transparent copy will remain thus accessible at the stated
location until at least one year after the last time you distribute an
Opaque copy (directly or through your agents or retailers) of that
edition to the public.
-
- <p>It is requested, but not required, that you contact the authors of the
+</p>
+<p>It is requested, but not required, that you contact the authors of the
Document well before redistributing any large number of copies, to give
them a chance to provide you with an updated version of the Document.
+</p>
+</li><li> MODIFICATIONS
- <li>MODIFICATIONS
-
- <p>You may copy and distribute a Modified Version of the Document under
+<p>You may copy and distribute a Modified Version of the Document under
the conditions of sections 2 and 3 above, provided that you release
the Modified Version under precisely this License, with the Modified
Version filling the role of the Document, thus licensing distribution
and modification of the Modified Version to whoever possesses a copy
of it. In addition, you must do these things in the Modified Version:
-
- <ol type=A start=1>
-<li>Use in the Title Page (and on the covers, if any) a title distinct
+</p>
+<ol>
+<li> Use in the Title Page (and on the covers, if any) a title distinct
from that of the Document, and from those of previous versions
(which should, if there were any, be listed in the History section
of the Document). You may use the same title as a previous version
if the original publisher of that version gives permission.
- <li>List on the Title Page, as authors, one or more persons or entities
+</li><li> List on the Title Page, as authors, one or more persons or entities
responsible for authorship of the modifications in the Modified
Version, together with at least five of the principal authors of the
Document (all of its principal authors, if it has fewer than five),
unless they release you from this requirement.
- <li>State on the Title page the name of the publisher of the
+</li><li> State on the Title page the name of the publisher of the
Modified Version, as the publisher.
- <li>Preserve all the copyright notices of the Document.
+</li><li> Preserve all the copyright notices of the Document.
- <li>Add an appropriate copyright notice for your modifications
+</li><li> Add an appropriate copyright notice for your modifications
adjacent to the other copyright notices.
- <li>Include, immediately after the copyright notices, a license notice
+</li><li> Include, immediately after the copyright notices, a license notice
giving the public permission to use the Modified Version under the
terms of this License, in the form shown in the Addendum below.
- <li>Preserve in that license notice the full lists of Invariant Sections
-and required Cover Texts given in the Document's license notice.
+</li><li> Preserve in that license notice the full lists of Invariant Sections
+and required Cover Texts given in the Document’s license notice.
- <li>Include an unaltered copy of this License.
+</li><li> Include an unaltered copy of this License.
- <li>Preserve the section Entitled “History”, Preserve its Title, and add
+</li><li> Preserve the section Entitled “History”, Preserve its Title, and add
to it an item stating at least the title, year, new authors, and
publisher of the Modified Version as given on the Title Page. If
there is no section Entitled “History” in the Document, create one
given on its Title Page, then add an item describing the Modified
Version as stated in the previous sentence.
- <li>Preserve the network location, if any, given in the Document for
+</li><li> Preserve the network location, if any, given in the Document for
public access to a Transparent copy of the Document, and likewise
the network locations given in the Document for previous versions
-it was based on. These may be placed in the “History” section.
+it was based on. These may be placed in the “History” section.
You may omit a network location for a work that was published at
least four years before the Document itself, or if the original
publisher of the version it refers to gives permission.
- <li>For any section Entitled “Acknowledgements” or “Dedications”, Preserve
+</li><li> For any section Entitled “Acknowledgements” or “Dedications”, Preserve
the Title of the section, and preserve in the section all the
substance and tone of each of the contributor acknowledgements and/or
dedications given therein.
- <li>Preserve all the Invariant Sections of the Document,
+</li><li> Preserve all the Invariant Sections of the Document,
unaltered in their text and in their titles. Section numbers
or the equivalent are not considered part of the section titles.
- <li>Delete any section Entitled “Endorsements”. Such a section
+</li><li> Delete any section Entitled “Endorsements”. Such a section
may not be included in the Modified Version.
- <li>Do not retitle any existing section to be Entitled “Endorsements” or
+</li><li> Do not retitle any existing section to be Entitled “Endorsements” or
to conflict in title with any Invariant Section.
- <li>Preserve any Warranty Disclaimers.
- </ol>
+</li><li> Preserve any Warranty Disclaimers.
+</li></ol>
- <p>If the Modified Version includes new front-matter sections or
+<p>If the Modified Version includes new front-matter sections or
appendices that qualify as Secondary Sections and contain no material
copied from the Document, you may at your option designate some or all
of these sections as invariant. To do this, add their titles to the
-list of Invariant Sections in the Modified Version's license notice.
+list of Invariant Sections in the Modified Version’s license notice.
These titles must be distinct from any other section titles.
-
- <p>You may add a section Entitled “Endorsements”, provided it contains
+</p>
+<p>You may add a section Entitled “Endorsements”, provided it contains
nothing but endorsements of your Modified Version by various
parties—for example, statements of peer review or that the text has
been approved by an organization as the authoritative definition of a
standard.
-
- <p>You may add a passage of up to five words as a Front-Cover Text, and a
+</p>
+<p>You may add a passage of up to five words as a Front-Cover Text, and a
passage of up to 25 words as a Back-Cover Text, to the end of the list
of Cover Texts in the Modified Version. Only one passage of
Front-Cover Text and one of Back-Cover Text may be added by (or
by arrangement made by the same entity you are acting on behalf of,
you may not add another; but you may replace the old one, on explicit
permission from the previous publisher that added the old one.
-
- <p>The author(s) and publisher(s) of the Document do not by this License
+</p>
+<p>The author(s) and publisher(s) of the Document do not by this License
give permission to use their names for publicity for or to assert or
imply endorsement of any Modified Version.
+</p>
+</li><li> COMBINING DOCUMENTS
- <li>COMBINING DOCUMENTS
-
- <p>You may combine the Document with other documents released under this
+<p>You may combine the Document with other documents released under this
License, under the terms defined in section 4 above for modified
versions, provided that you include in the combination all of the
Invariant Sections of all of the original documents, unmodified, and
list them all as Invariant Sections of your combined work in its
license notice, and that you preserve all their Warranty Disclaimers.
-
- <p>The combined work need only contain one copy of this License, and
+</p>
+<p>The combined work need only contain one copy of this License, and
multiple identical Invariant Sections may be replaced with a single
copy. If there are multiple Invariant Sections with the same name but
different contents, make the title of each such section unique by
adding at the end of it, in parentheses, the name of the original
-author or publisher of that section if known, or else a unique number.
+author or publisher of that section if known, or else a unique number.
Make the same adjustment to the section titles in the list of
Invariant Sections in the license notice of the combined work.
-
- <p>In the combination, you must combine any sections Entitled “History”
+</p>
+<p>In the combination, you must combine any sections Entitled “History”
in the various original documents, forming one section Entitled
“History”; likewise combine any sections Entitled “Acknowledgements”,
and any sections Entitled “Dedications”. You must delete all
sections Entitled “Endorsements.”
+</p>
+</li><li> COLLECTIONS OF DOCUMENTS
- <li>COLLECTIONS OF DOCUMENTS
-
- <p>You may make a collection consisting of the Document and other documents
+<p>You may make a collection consisting of the Document and other documents
released under this License, and replace the individual copies of this
License in the various documents with a single copy that is included in
the collection, provided that you follow the rules of this License for
verbatim copying of each of the documents in all other respects.
-
- <p>You may extract a single document from such a collection, and distribute
+</p>
+<p>You may extract a single document from such a collection, and distribute
it individually under this License, provided you insert a copy of this
License into the extracted document, and follow this License in all
other respects regarding verbatim copying of that document.
+</p>
+</li><li> AGGREGATION WITH INDEPENDENT WORKS
- <li>AGGREGATION WITH INDEPENDENT WORKS
-
- <p>A compilation of the Document or its derivatives with other separate
+<p>A compilation of the Document or its derivatives with other separate
and independent documents or works, in or on a volume of a storage or
distribution medium, is called an “aggregate” if the copyright
resulting from the compilation is not used to limit the legal rights
-of the compilation's users beyond what the individual works permit.
+of the compilation’s users beyond what the individual works permit.
When the Document is included in an aggregate, this License does not
apply to the other works in the aggregate which are not themselves
derivative works of the Document.
-
- <p>If the Cover Text requirement of section 3 is applicable to these
+</p>
+<p>If the Cover Text requirement of section 3 is applicable to these
copies of the Document, then if the Document is less than one half of
-the entire aggregate, the Document's Cover Texts may be placed on
+the entire aggregate, the Document’s Cover Texts may be placed on
covers that bracket the Document within the aggregate, or the
-electronic equivalent of covers if the Document is in electronic form.
+electronic equivalent of covers if the Document is in electronic form.
Otherwise they must appear on printed covers that bracket the whole
aggregate.
+</p>
+</li><li> TRANSLATION
- <li>TRANSLATION
-
- <p>Translation is considered a kind of modification, so you may
-distribute translations of the Document under the terms of section 4.
+<p>Translation is considered a kind of modification, so you may
+distribute translations of the Document under the terms of section 4.
Replacing Invariant Sections with translations requires special
permission from their copyright holders, but you may include
translations of some or all Invariant Sections in addition to the
of those notices and disclaimers. In case of a disagreement between
the translation and the original version of this License or a notice
or disclaimer, the original version will prevail.
-
- <p>If a section in the Document is Entitled “Acknowledgements”,
+</p>
+<p>If a section in the Document is Entitled “Acknowledgements”,
“Dedications”, or “History”, the requirement (section 4) to Preserve
its Title (section 1) will typically require changing the actual
title.
+</p>
+</li><li> TERMINATION
- <li>TERMINATION
-
- <p>You may not copy, modify, sublicense, or distribute the Document except
+<p>You may not copy, modify, sublicense, or distribute the Document except
as expressly provided for under this License. Any other attempt to
copy, modify, sublicense or distribute the Document is void, and will
automatically terminate your rights under this License. However,
parties who have received copies, or rights, from you under this
License will not have their licenses terminated so long as such
parties remain in full compliance.
+</p>
+</li><li> FUTURE REVISIONS OF THIS LICENSE
- <li>FUTURE REVISIONS OF THIS LICENSE
-
- <p>The Free Software Foundation may publish new, revised versions
+<p>The Free Software Foundation may publish new, revised versions
of the GNU Free Documentation License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns. See
<a href="http://www.gnu.org/copyleft/">http://www.gnu.org/copyleft/</a>.
-
- <p>Each version of the License is given a distinguishing version number.
+</p>
+<p>Each version of the License is given a distinguishing version number.
If the Document specifies that a particular numbered version of this
License “or any later version” applies to it, you have the option of
following the terms and conditions either of that specified version or
Free Software Foundation. If the Document does not specify a version
number of this License, you may choose any version ever published (not
as a draft) by the Free Software Foundation.
- </ol>
+</p></li></ol>
+<a name="ADDENDUM_003a-How-to-use-this-License-for-your-documents"></a>
<h4 class="appendixsubsec">A.1.1 ADDENDUM: How to use this License for your documents</h4>
<p>To use this License in a document you have written, include a copy of
the License in the document and put the following copyright and
license notices just after the title page:
-
-<pre class="smallexample"> Copyright (C) <var>year</var> <var>your name</var>.
- Permission is granted to copy, distribute and/or modify this document
- under the terms of the GNU Free Documentation License, Version 1.2
- or any later version published by the Free Software Foundation;
- with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
- Texts. A copy of the license is included in the section entitled ``GNU
- Free Documentation License''.
-</pre>
- <p>If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
+</p>
+<div class="smallexample">
+<pre class="smallexample"> Copyright (C) <var>year</var> <var>your name</var>.
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.2
+ or any later version published by the Free Software Foundation;
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
+ Texts. A copy of the license is included in the section entitled ``GNU
+ Free Documentation License''.
+</pre></div>
+
+<p>If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
replace the “with...Texts.” line with this:
-
-<pre class="smallexample"> with the Invariant Sections being <var>list their titles</var>, with
- the Front-Cover Texts being <var>list</var>, and with the Back-Cover Texts
- being <var>list</var>.
-</pre>
- <p>If you have Invariant Sections without Cover Texts, or some other
+</p>
+<div class="smallexample">
+<pre class="smallexample"> with the Invariant Sections being <var>list their titles</var>, with
+ the Front-Cover Texts being <var>list</var>, and with the Back-Cover Texts
+ being <var>list</var>.
+</pre></div>
+
+<p>If you have Invariant Sections without Cover Texts, or some other
combination of the three, merge those two alternatives to suit the
situation.
-
- <p>If your document contains nontrivial examples of program code, we
+</p>
+<p>If your document contains nontrivial examples of program code, we
recommend releasing these examples in parallel under your choice of
free software license, such as the GNU General Public License,
to permit their use in free software.
+</p>
-<!-- @node Index, , Copying, Top -->
-<!-- @unnumbered Index -->
-<!-- @printindex cp -->
-</body></html>
-<!--
-\1f
-Local Variables:
-coding: iso-8859-1
-End:
--->
+
+
+<hr>
+<div class="header">
+<p>
+Up: <a href="Copying.html#Copying" accesskey="u" rel="up">Copying</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
+
+
+</body>
+</html>
-<html lang="en">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the developer's manual for Aspell.
+
+Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
-<title>How It All Works - Aspell Developer's Manual</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell spell checker developer's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="prev" href="Mk_002dSrc-Script.html#Mk_002dSrc-Script" title="Mk-Src Script">
-<link rel="next" href="Part-1-_002d-Compiled-Dictionary-Format.html#Part-1-_002d-Compiled-Dictionary-Format" title="Part 1 - Compiled Dictionary Format">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
+<title>Aspell Developer’s Manual: How It All Works</title>
+
+<meta name="description" content="Aspell spell checker developer’s manual.">
+<meta name="keywords" content="Aspell Developer’s Manual: How It All Works">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Part-1-_002d-Compiled-Dictionary-Format.html#Part-1-_002d-Compiled-Dictionary-Format" rel="next" title="Part 1 - Compiled Dictionary Format">
+<link href="Mk_002dSrc-Script.html#Mk_002dSrc-Script" rel="prev" title="Mk-Src Script">
+<style type="text/css">
<!--
-This is the developer's manual for Aspell.
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
-Copyright (C) 2002, 2003, 2004, 2006 Kevin Atkinson.
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="How-It-All-Works"></a>
-Next: <a rel="next" accesskey="n" href="Part-1-_002d-Compiled-Dictionary-Format.html#Part-1-_002d-Compiled-Dictionary-Format">Part 1 - Compiled Dictionary Format</a>,
-Previous: <a rel="previous" accesskey="p" href="Mk_002dSrc-Script.html#Mk_002dSrc-Script">Mk-Src Script</a>,
-Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Part-1-_002d-Compiled-Dictionary-Format.html#Part-1-_002d-Compiled-Dictionary-Format" accesskey="n" rel="next">Part 1 - Compiled Dictionary Format</a>, Previous: <a href="Mk_002dSrc-Script.html#Mk_002dSrc-Script" accesskey="p" rel="prev">Mk-Src Script</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="How-It-All-Works-1"></a>
<h2 class="chapter">15 How It All Works</h2>
<p>The details of how Aspell really works is a mystery to most users who
want to participate in developing and improving Aspell, so it is best
-to fully explain Aspell's core algorithms and data structures to you.
-
- <p>In explaining these, it is hoped to bring prospective developers up to
+to fully explain Aspell’s core algorithms and data structures to you.
+</p>
+<p>In explaining these, it is hoped to bring prospective developers up to
speed more quickly and also help you understand the amount of thought
put into this. In time, you may be able to improve Aspell even more.
-
- <p>There are many details to explain here, so these will need explaining
+</p>
+<p>There are many details to explain here, so these will need explaining
in small segments.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="Part-1-_002d-Compiled-Dictionary-Format.html#Part-1-_002d-Compiled-Dictionary-Format" accesskey="1">Part 1 - Compiled Dictionary Format</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Part-2-_002d-Quickly-Finding-Similar-Soundslike.html#Part-2-_002d-Quickly-Finding-Similar-Soundslike" accesskey="2">Part 2 - Quickly Finding Similar Soundslike</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Part-3.html#Part-3" accesskey="3">Part 3</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+</table>
+
-<ul class="menu">
-<li><a accesskey="1" href="Part-1-_002d-Compiled-Dictionary-Format.html#Part-1-_002d-Compiled-Dictionary-Format">Part 1 - Compiled Dictionary Format</a>
-<li><a accesskey="2" href="Part-2-_002d-Quickly-Finding-Similar-Soundslike.html#Part-2-_002d-Quickly-Finding-Similar-Soundslike">Part 2 - Quickly Finding Similar Soundslike</a>
-<li><a accesskey="3" href="Part-3.html#Part-3">Part 3</a>
-</ul>
- </body></html>
+</body>
+</html>
-<html lang="en">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the developer's manual for Aspell.
+
+Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
-<title>How to Submit a Patch - Aspell Developer's Manual</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell spell checker developer's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="prev" href="Style-Guidelines.html#Style-Guidelines" title="Style Guidelines">
-<link rel="next" href="C_002b_002b-Standard-Library.html#C_002b_002b-Standard-Library" title="C++ Standard Library">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
+<title>Aspell Developer’s Manual: How to Submit a Patch</title>
+
+<meta name="description" content="Aspell spell checker developer’s manual.">
+<meta name="keywords" content="Aspell Developer’s Manual: How to Submit a Patch">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="C_002b_002b-Standard-Library.html#C_002b_002b-Standard-Library" rel="next" title="C++ Standard Library">
+<link href="Style-Guidelines.html#Style-Guidelines" rel="prev" title="Style Guidelines">
+<style type="text/css">
<!--
-This is the developer's manual for Aspell.
-
-Copyright (C) 2002, 2003, 2004, 2006 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="How-to-Submit-a-Patch"></a>
-Next: <a rel="next" accesskey="n" href="C_002b_002b-Standard-Library.html#C_002b_002b-Standard-Library">C++ Standard Library</a>,
-Previous: <a rel="previous" accesskey="p" href="Style-Guidelines.html#Style-Guidelines">Style Guidelines</a>,
-Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="C_002b_002b-Standard-Library.html#C_002b_002b-Standard-Library" accesskey="n" rel="next">C++ Standard Library</a>, Previous: <a href="Style-Guidelines.html#Style-Guidelines" accesskey="p" rel="prev">Style Guidelines</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="How-to-Submit-a-Patch-1"></a>
<h2 class="chapter">2 How to Submit a Patch</h2>
-<p>Bug reports and patches should be submitted via the Sourceforge Tracker
-at <a href="http://sourceforge.net/tracker/?group_id=245">http://sourceforge.net/tracker/?group_id=245</a> rather than
+<p>Bug reports and patches should be submitted via GitHub Issues
+at <a href="https://github.com/GNUAspell/aspell/issues">https://github.com/GNUAspell/aspell/issues</a> rather than
being posted to any of the mailing lists.
-
- <p>The mailing lists are good if you need to check something out or need
+</p>
+<p>The mailing lists are good if you need to check something out or need
help or feedback from other readers, but they are not the best place to
submit bugs or patches because they will likely get forgotten or lost
within the mailing list traffic if not acted upon immediately.
+</p>
+<p>Please make the effort to use the tracker.
+</p>
- <p>Please make the effort to use the tracker.
- </body></html>
+</body>
+</html>
-<html lang="en">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the developer's manual for Aspell.
+
+Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
-<title>I/O - Aspell Developer's Manual</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell spell checker developer's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="prev" href="Smart-Pointers.html#Smart-Pointers" title="Smart Pointers">
-<link rel="next" href="Config-Class.html#Config-Class" title="Config Class">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
+<title>Aspell Developer’s Manual: I/O</title>
+
+<meta name="description" content="Aspell spell checker developer’s manual.">
+<meta name="keywords" content="Aspell Developer’s Manual: I/O">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Config-Class.html#Config-Class" rel="next" title="Config Class">
+<link href="Smart-Pointers.html#Smart-Pointers" rel="prev" title="Smart Pointers">
+<style type="text/css">
<!--
-This is the developer's manual for Aspell.
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
-Copyright (C) 2002, 2003, 2004, 2006 Kevin Atkinson.
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
-<a name="I%2fO"></a>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="I_002fO"></a>
-Next: <a rel="next" accesskey="n" href="Config-Class.html#Config-Class">Config Class</a>,
-Previous: <a rel="previous" accesskey="p" href="Smart-Pointers.html#Smart-Pointers">Smart Pointers</a>,
-Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Config-Class.html#Config-Class" accesskey="n" rel="next">Config Class</a>, Previous: <a href="Smart-Pointers.html#Smart-Pointers" accesskey="p" rel="prev">Smart Pointers</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="I_002fO-1"></a>
<h2 class="chapter">9 I/O</h2>
<p>Aspell does not use C++ I/O classes and functions in any way since
often be slower than the highly tuned C I/O functions found in the
standard C library. However, some lightweight wrapper classes are
provided so that standard C I/O can be used in a more C++ like way.
-
+</p>
+<a name="IStream_002fOStream"></a>
<h3 class="section">9.1 IStream/OStream</h3>
<p>These two base classes mimic some of the functionally of the C++
functionally of the corresponding classes. They are defined in
-<samp><span class="file">istream.hpp</span></samp> and <samp><span class="file">ostream.hpp</span></samp> respectively. They are
+<samp>istream.hpp</samp> and <samp>ostream.hpp</samp> respectively. They are
however based on standard C I/O and are not proper C++ streams.
-
+</p>
+<a name="FStream"></a>
<h3 class="section">9.2 FStream</h3>
-<p>Defined in <samp><span class="file">fstream.hpp</span></samp>.
+<p>Defined in <samp>fstream.hpp</samp>.
+</p>
+<a name="Standard-Streams"></a>
<h3 class="section">9.3 Standard Streams</h3>
-<p><code>CIN</code>/<code>COUT</code>/<code>CERR</code>. Defined in <samp><span class="file">iostream.hpp</span></samp>.
+<p><code>CIN</code>/<code>COUT</code>/<code>CERR</code>. Defined in <samp>iostream.hpp</samp>.
+</p>
+
- </body></html>
+</body>
+</html>
-<meta http-equiv="refresh" content="0; url=Filter-Interface.html#Interface%20Macros">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the developer's manual for Aspell.
+
+Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<!-- This file redirects to the location of a node or anchor -->
+<head>
+<title>Aspell Developer’s Manual: Interface Macros</title>
+
+<meta name="description" content="Aspell spell checker developer’s manual.">
+<meta name="keywords" content="Aspell Developer’s Manual: Interface Macros">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+<meta http-equiv="Refresh" content="0; url=Filter-Interface.html#Interface-Macros">
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+
+<p>The node you are looking for is at <a href="Filter-Interface.html#Interface-Macros">Interface Macros</a>.</p>
+</body>
-<meta http-equiv="refresh" content="0; url=Filter-Interface.html#Link%20Filters%20Static">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the developer's manual for Aspell.
+
+Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<!-- This file redirects to the location of a node or anchor -->
+<head>
+<title>Aspell Developer’s Manual: Link Filters Static</title>
+
+<meta name="description" content="Aspell spell checker developer’s manual.">
+<meta name="keywords" content="Aspell Developer’s Manual: Link Filters Static">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+<meta http-equiv="Refresh" content="0; url=Filter-Interface.html#Link-Filters-Static">
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+
+<p>The node you are looking for is at <a href="Filter-Interface.html#Link-Filters-Static">Link Filters Static</a>.</p>
+</body>
-<html lang="en">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the developer's manual for Aspell.
+
+Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
-<title>Mk-Src Script - Aspell Developer's Manual</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell spell checker developer's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="prev" href="Data-Structures.html#Data-Structures" title="Data Structures">
-<link rel="next" href="How-It-All-Works.html#How-It-All-Works" title="How It All Works">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
+<title>Aspell Developer’s Manual: Mk-Src Script</title>
+
+<meta name="description" content="Aspell spell checker developer’s manual.">
+<meta name="keywords" content="Aspell Developer’s Manual: Mk-Src Script">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="How-It-All-Works.html#How-It-All-Works" rel="next" title="How It All Works">
+<link href="Data-Structures.html#Data-Structures" rel="prev" title="Data Structures">
+<style type="text/css">
<!--
-This is the developer's manual for Aspell.
-
-Copyright (C) 2002, 2003, 2004, 2006 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
-<a name="Mk-Src-Script"></a>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Mk_002dSrc-Script"></a>
-Next: <a rel="next" accesskey="n" href="How-It-All-Works.html#How-It-All-Works">How It All Works</a>,
-Previous: <a rel="previous" accesskey="p" href="Data-Structures.html#Data-Structures">Data Structures</a>,
-Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="How-It-All-Works.html#How-It-All-Works" accesskey="n" rel="next">How It All Works</a>, Previous: <a href="Data-Structures.html#Data-Structures" accesskey="p" rel="prev">Data Structures</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Mk_002dSrc-Script-1"></a>
<h2 class="chapter">14 Mk-Src Script</h2>
<p>A good deal of interface code is automatically generated by the
-<samp><span class="file">mk-src.pl</span></samp> Perl script. I am doing it this way to avoid having
+<samp>mk-src.pl</samp> Perl script. I am doing it this way to avoid having
to write a lot of relative code for the C++ interface. This should
also make adding interface for other languages a lot less tedious and
will allow the interface to automatically take advantage of new Aspell
-functionality as it is made available. The <samp><span class="file">mk-src.pl</span></samp> script
-uses <samp><span class="file">mk-src.in</span></samp> as its input.
-
+functionality as it is made available. The <samp>mk-src.pl</samp> script
+uses <samp>mk-src.in</samp> as its input.
+</p>
+<a name="mk_002dsrc_002ein"></a>
<h3 class="section">14.1 mk-src.in</h3>
<p>NOTE: This section may not always be up to date since it is manually
converted from the pod source.
-
- <p>The format of <samp><span class="file">mk-src.in</span></samp> is as follows:
-
-<pre class="verbatim">
- The following characters are literals: { } / '\ ' \n = >
-
- <items>
- <items> := (<item>\n)+
- <items> := <category>:\ <name> {\n<details>\n} | <<tab>><details>
- <details> := <options>\n /\n <items>
- <options> := (<option>\n)*
- <option> := <key> [=> <value>]
-
- <<tab>> means everything should be indented by one tab
+</p>
+<p>The format of <samp>mk-src.in</samp> is as follows:
+</p>
+<pre class="verbatim"> The following characters are literals: { } / '\ ' \n = >
+
+ <items>
+ <items> := (<item>\n)+
+ <items> := <category>:\ <name> {\n<details>\n} | <<tab>><details>
+ <details> := <options>\n /\n <items>
+ <options> := (<option>\n)*
+ <option> := <key> [=> <value>]
+
+ <<tab>> means everything should be indented by one tab
</pre>
-
- <p>See MkSrc::Info for a description of the categories and options
-
+<p>See MkSrc::Info for a description of the categories and options
+</p>
+<a name="MkSrc_003a_003aInfo"></a>
<h3 class="section">14.2 MkSrc::Info</h3>
<p><code>%info</code>
-
- <p>The info array contains information on how to process the info in
- <samp><span class="file">mk-src.pl</span></samp>. It has the following layout
-
-<pre class="verbatim">
- <catagory> => options => []
- groups => [] # if undef than anything is accepted
- creates_type => "" # the object will create a new type
+</p>
+<p>The info array contains information on how to process the info in
+ <samp>mk-src.pl</samp>. It has the following layout
+</p>
+<pre class="verbatim"> <catagory> => options => []
+ groups => [] # if undef than anything is accepted
+ creates_type => "" # the object will create a new type
# as specified
- proc => <impl type> => sub {}
-</pre>
- where <impl type> is one of:
-<pre class="verbatim">
- cc: for "aspell.h" header file
+ proc => <impl type> => sub {}
+</pre><p>where <impl type> is one of:
+</p><pre class="verbatim"> cc: for "aspell.h" header file
cxx: for C++ interface implemented on top of cc interface
native: for creation of header files used internally by aspell
impl: for defination of functions declared in cc interface.
the definations use the native hedaer files
native_impl: for implementations of stuff declared in the native
header files
-</pre>
- each proc sub should take the following argv
-<pre class="verbatim">
- $data: a subtree of $master_data
+</pre><p>each proc sub should take the following argv
+</p><pre class="verbatim"> $data: a subtree of $master_data
$accum:
-</pre>
- <options> is one of:
-<pre class="verbatim">
- desc: description of the object
+</pre><p><options> is one of:
+</p><pre class="verbatim"> desc: description of the object
prefix:
posib err: the method may return an error condition
c func:
cxx impl: use this as the cxx impl instead of the default
returns alt type: the constructor returns some type other than
the object from which it is a member of
- no native: do not attemt to create a native implementation
+ no native: do not attempt to create a native implementation
treat as object: treat as a object rather than a pointer
-</pre>
- The <code>%info</code> structure is initialized as follows:
-<pre class="verbatim">
- our %info =
+</pre><p>The <code>%info</code> structure is initialized as follows:
+</p><pre class="verbatim"> our %info =
(
- root => {
- options => [],
- groups => ['methods', 'group']},
- methods => {
+ root => {
+ options => [],
+ groups => ['methods', 'group']},
+ methods => {
# methods is a collection of methods which will be inserted into
# a class after some simple substation rules. A $ will be
# replaced with name of the class.
- options => ['strip', 'prefix', 'c impl headers'],
- groups => undef},
- group => {
+ options => ['strip', 'prefix', 'c impl headers'],
+ groups => undef},
+ group => {
# a group is a colection of objects which should be grouped together
# this generally means they will be in the same source file
- options => ['no native'],
- groups => ['enum', 'struct', 'union', 'func', 'class', 'errors']},
- enum => {
+ options => ['no native'],
+ groups => ['enum', 'struct', 'union', 'func', 'class', 'errors']},
+ enum => {
# basic C enum
- options => ['desc', 'prefix'],
- creates_type => 'enum'},
- struct => {
+ options => ['desc', 'prefix'],
+ creates_type => 'enum'},
+ struct => {
# basic c struct
- options => ['desc', 'treat as object'],
- groups => undef,
- creates_type => 'struct',},
- union => {
+ options => ['desc', 'treat as object'],
+ groups => undef,
+ creates_type => 'struct',},
+ union => {
# basic C union
- options => ['desc', 'treat as object'],
- groups => undef,
- creates_type => 'union'},
- class => {
+ options => ['desc', 'treat as object'],
+ groups => undef,
+ creates_type => 'union'},
+ class => {
# C++ class
- options => ['c impl headers'],
- groups => undef,
- creates_type => 'class'},
- errors => {}, # possible errors
- method => {
+ options => ['c impl headers'],
+ groups => undef,
+ creates_type => 'class'},
+ errors => {}, # possible errors
+ method => {
# A class method
- options => ['desc', 'posib err', 'c func', 'const',
+ options => ['desc', 'posib err', 'c func', 'const',
'c only', 'c impl', 'cxx impl'],
- groups => undef},
- constructor => {
+ groups => undef},
+ constructor => {
# A class constructor
- options => ['returns alt type', 'c impl', 'desc'],
- groups => 'types'},
- destructor => {
+ options => ['returns alt type', 'c impl', 'desc'],
+ groups => 'types'},
+ destructor => {
# A class destructor
- options => [],
- groups => undef},
+ options => [],
+ groups => undef},
);
-</pre>
- In addition to the categories listed above a “methods” category by be
+</pre><p>In addition to the categories listed above a “methods” category by be
specified in under the class category. A “methods” category is created
for each methods group under the name “<methods name> methods”. When
groups is undefined a type name may be specified in place of a category.
-
- <p><code>%types</code>
-
- <p>types contains a master list of all types. This includes basic types and
- ones created in <samp><span class="file">mk-src.in</span></samp>. The basic types include:
-<pre class="verbatim">
- 'void', 'bool', 'pointer', 'double',
+</p>
+<p><code>%types</code>
+</p>
+<p>types contains a master list of all types. This includes basic types and
+ ones created in <samp>mk-src.in</samp>. The basic types include:
+</p><pre class="verbatim"> 'void', 'bool', 'pointer', 'double',
'string', 'encoded string', 'string obj',
'char', 'unsigned char',
'short', 'unsigned short',
'int', 'unsigned int',
'long', 'unsigned long'
-</pre>
- %methods
-
- <p><code>%methods</code> is used for holding the “methods” information
-
+</pre><p>%methods
+</p>
+<p><code>%methods</code> is used for holding the “methods” information
+</p>
+<a name="MkSrc_003a_003aUtil"></a>
<h3 class="section">14.3 MkSrc::Util</h3>
<p>This module contains various useful utility functions:
- <dl>
- <dt><code>false</code><dd> Returns 0.
-
- <br><dt><code>true</code><dd> Returns 1.
-
- <br><dt><code>cmap EXPR LIST</code><dd> Apply EXPR to each item in LIST and than concatenate the result into
+</p><dl compact="compact">
+<dt><code>false</code></dt>
+<dd><p>Returns 0.
+</p>
+</dd>
+<dt><code>true</code></dt>
+<dd><p>Returns 1.
+</p>
+</dd>
+<dt><code>cmap EXPR LIST</code></dt>
+<dd><p>Apply EXPR to each item in LIST and than concatenate the result into
a string
-
- <br><dt><code>one_of STR LIST</code><dd> Returns true if LIST contains at least one of STR.
-
- <br><dt><code>to_upper STR</code><dd> Convert STR to all uppercase and substitute spaces with underscores.
-
- <br><dt><code>to_lower STR</code><dd> Convert STR to all lowercase and substitute spaces with underscores.
-
- <br><dt><code>to_mixed STR</code><dd> Convert STR to mixed case where each new word startes with a
- uppercase letter. For example "feed me" would become "FeedMe".
+</p>
+</dd>
+<dt><code>one_of STR LIST</code></dt>
+<dd><p>Returns true if LIST contains at least one of STR.
+</p>
+</dd>
+<dt><code>to_upper STR</code></dt>
+<dd><p>Convert STR to all uppercase and substitute spaces with underscores.
+</p>
+</dd>
+<dt><code>to_lower STR</code></dt>
+<dd><p>Convert STR to all lowercase and substitute spaces with underscores.
+</p>
+</dd>
+<dt><code>to_mixed STR</code></dt>
+<dd><p>Convert STR to mixed case where each new word startes with a
+ uppercase letter. For example "feed me" would become "FeedMe".
+</p></dd>
</dl>
+<a name="MkSrc_003a_003aRead"></a>
<h3 class="section">14.4 MkSrc::Read</h3>
<p><code>read</code>
- Read in <samp><span class="file">mk-src.in</span></samp> and return a data structure which has the
+ Read in <samp>mk-src.in</samp> and return a data structure which has the
following format:
-<pre class="verbatim">
- <tree>
- <tree> := <options>
- data => <tree>
+</p><pre class="verbatim"> <tree>
+ <tree> := <options>
+ data => <tree>
where each tree represents an entry in mk-src.in.
The following two options are always provided:
name: the name of the entry
type: the catagory or type name
Additional options are the same as specified in %info
</pre>
-
+<a name="MKSrc_003a_003aCreate"></a>
<h3 class="section">14.5 MKSrc::Create</h3>
- <dl>
- <dt><code>create_cc_file PARMS</code><dd> Create a source file.
- <pre class="example"> Required Parms: type, dir, name, data
- Boolean Parms: header, cxx
- Optional Parms: namespace (required if cxx), pre_ext,
- accum
- </pre>
- <br><dt><code>create_file FILENAME DATA</code><dd> Writes DATA to FILENAME but only if DATA differs from the content of
+<dl compact="compact">
+<dt><code>create_cc_file PARMS</code></dt>
+<dd><p>Create a source file.
+</p><div class="example">
+<pre class="example"> Required Parms: type, dir, name, data
+ Boolean Parms: header, cxx
+ Optional Parms: namespace (required if cxx), pre_ext,
+ accum
+</pre></div>
+
+</dd>
+<dt><code>create_file FILENAME DATA</code></dt>
+<dd><p>Writes DATA to FILENAME but only if DATA differs from the content of
the file and the string:
- <pre class="example"> Automatically generated file.
- </pre>
- <p>is present in the existing file if it already exists.
+</p><div class="example">
+<pre class="example"> Automatically generated file.
+</pre></div>
+
+<p>is present in the existing file if it already exists.
+</p></dd>
</dl>
+<a name="Code-Generation-Modes"></a>
<h3 class="section">14.6 Code Generation Modes</h3>
<p>The code generation modes are currently one of the following:
-<pre class="example"> cc: Mode used to create types suitable for C interface
- cc_cxx: Like cc but typenames don't have a leading Aspell prefix
- cxx: Mode used to create types suitable for CXX interface
- native: Mode in which types are suitable for the internal
- implementation
- native_no_err: Like Native but with out PosibErr return types
-</pre>
- <h3 class="section">14.7 MkSrc::CcHelper</h3>
+</p><div class="example">
+<pre class="example"> cc: Mode used to create types suitable for C interface
+ cc_cxx: Like cc but typenames don't have a leading Aspell prefix
+ cxx: Mode used to create types suitable for CXX interface
+ native: Mode in which types are suitable for the internal
+ implementation
+ native_no_err: Like Native but with out PosibErr return types
+</pre></div>
+
+<a name="MkSrc_003a_003aCcHelper"></a>
+<h3 class="section">14.7 MkSrc::CcHelper</h3>
<p>Helper functions used by interface generation code:
-<pre class="example"> to_c_return_type ITEM
- .
-
- c_error_cond ITEM
- .
-</pre>
- <dl>
- <dt><code>make_func NAME @TYPES PARMS ; %ACCUM</code><dd> Creates a function prototype
-
- <p>Parms can be any of:
- <pre class="example"> mode: code generation mode
- </pre>
- <br><dt><code>call_func NAME @TYPES PARMS ; %ACCUM</code><dd> Return a string to call a func. Will prefix the function with return
+</p><div class="example">
+<pre class="example"> to_c_return_type ITEM
+ .
+
+ c_error_cond ITEM
+ .
+</pre></div>
+
+<dl compact="compact">
+<dt><code>make_func NAME @TYPES PARMS ; %ACCUM</code></dt>
+<dd><p>Creates a function prototype
+</p>
+<p>Parms can be any of:
+</p><div class="example">
+<pre class="example"> mode: code generation mode
+</pre></div>
+
+</dd>
+<dt><code>call_func NAME @TYPES PARMS ; %ACCUM</code></dt>
+<dd><p>Return a string to call a func. Will prefix the function with return
if the functions returns a non-void type;
-
- <p>Parms can be any of:
- <pre class="example"> mode: code generation mode
- </pre>
- <br><dt><code>to_type_name ITEM PARMS ; %ACCUM</code><dd> Converts item into a type name.
-
- <p>Parms can be any of:
- <pre class="example"> mode: code generation mode
- use_type: include the actual type
- use_name: include the name on the type
- pos: either "return" or "other"
- </pre>
- <br><dt><code>make_desc DESC ; LEVEL</code><dd> Make a C comment out of DESC optionally indenting it LEVEL spaces.
-
- <br><dt><code>make_c_method CLASS ITEM PARMS ; %ACCUM</code><dd> Create the phototype for a C method which is really a function.
-
- <p>Parms is any of:
- <pre class="example"> mode: code generation mode
- no_aspell: if true do not include aspell in the name
- this_name: name for the parameter representing the
- current object
- </pre>
- <br><dt><code>call_c_method CLASS ITEM PARMS ; %ACCUM</code><dd> Like make_c_method but instead returns the appropriate string to
+</p>
+<p>Parms can be any of:
+</p><div class="example">
+<pre class="example"> mode: code generation mode
+</pre></div>
+
+</dd>
+<dt><code>to_type_name ITEM PARMS ; %ACCUM</code></dt>
+<dd><p>Converts item into a type name.
+</p>
+<p>Parms can be any of:
+</p><div class="example">
+<pre class="example"> mode: code generation mode
+ use_type: include the actual type
+ use_name: include the name on the type
+ pos: either "return" or "other"
+</pre></div>
+
+</dd>
+<dt><code>make_desc DESC ; LEVEL</code></dt>
+<dd><p>Make a C comment out of DESC optionally indenting it LEVEL spaces.
+</p>
+</dd>
+<dt><code>make_c_method CLASS ITEM PARMS ; %ACCUM</code></dt>
+<dd><p>Create the phototype for a C method which is really a function.
+</p>
+<p>Parms is any of:
+</p><div class="example">
+<pre class="example"> mode: code generation mode
+ no_aspell: if true do not include aspell in the name
+ this_name: name for the parameter representing the
+ current object
+</pre></div>
+
+</dd>
+<dt><code>call_c_method CLASS ITEM PARMS ; %ACCUM</code></dt>
+<dd><p>Like make_c_method but instead returns the appropriate string to
call the function. If the function returns a non-void type the
string will be prefixed with a return statement.
-
- <br><dt><code>form_c_method CLASS ITEM PARMS ; %ACCUM</code><dd> Like make_c_method except that it returns the array:
- <pre class="example"> ($func, $data, $parms, $accum)
- </pre>
- <p>which is suitable for passing into make_func. It will return an
+</p>
+</dd>
+<dt><code>form_c_method CLASS ITEM PARMS ; %ACCUM</code></dt>
+<dd><p>Like make_c_method except that it returns the array:
+</p><div class="example">
+<pre class="example"> ($func, $data, $parms, $accum)
+</pre></div>
+
+<p>which is suitable for passing into make_func. It will return an
empty array if it can not make a method from ITEM.
+</p>
+</dd>
+<dt><code>make_cxx_method ITEM PARMS ; %ACCUM</code></dt>
+<dd><p>Create the phototype for a C++ method.
+</p>
+<p>Parms is one of:
+</p><div class="example">
+<pre class="example"> mode: code generation mode
+</pre></div>
+</dd>
+</dl>
- <br><dt><code>make_cxx_method ITEM PARMS ; %ACCUM</code><dd> Create the phototype for a C++ method.
- <p>Parms is one of:
- <pre class="example"> mode: code generation mode
- </pre>
- </dl>
- </body></html>
+<hr>
+<div class="header">
+<p>
+Next: <a href="How-It-All-Works.html#How-It-All-Works" accesskey="n" rel="next">How It All Works</a>, Previous: <a href="Data-Structures.html#Data-Structures" accesskey="p" rel="prev">Data Structures</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
+
+</body>
+</html>
-<html lang="en">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the developer's manual for Aspell.
+
+Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
-<title>Part 1 - Compiled Dictionary Format - Aspell Developer's Manual</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell spell checker developer's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="How-It-All-Works.html#How-It-All-Works" title="How It All Works">
-<link rel="prev" href="How-It-All-Works.html#How-It-All-Works" title="How It All Works">
-<link rel="next" href="Part-2-_002d-Quickly-Finding-Similar-Soundslike.html#Part-2-_002d-Quickly-Finding-Similar-Soundslike" title="Part 2 - Quickly Finding Similar Soundslike">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
+<title>Aspell Developer’s Manual: Part 1 - Compiled Dictionary Format</title>
+
+<meta name="description" content="Aspell spell checker developer’s manual.">
+<meta name="keywords" content="Aspell Developer’s Manual: Part 1 - Compiled Dictionary Format">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="How-It-All-Works.html#How-It-All-Works" rel="up" title="How It All Works">
+<link href="Part-2-_002d-Quickly-Finding-Similar-Soundslike.html#Part-2-_002d-Quickly-Finding-Similar-Soundslike" rel="next" title="Part 2 - Quickly Finding Similar Soundslike">
+<link href="How-It-All-Works.html#How-It-All-Works" rel="prev" title="How It All Works">
+<style type="text/css">
<!--
-This is the developer's manual for Aspell.
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
-Copyright (C) 2002, 2003, 2004, 2006 Kevin Atkinson.
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
-<a name="Part-1---Compiled-Dictionary-Format"></a>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Part-1-_002d-Compiled-Dictionary-Format"></a>
-Next: <a rel="next" accesskey="n" href="Part-2-_002d-Quickly-Finding-Similar-Soundslike.html#Part-2-_002d-Quickly-Finding-Similar-Soundslike">Part 2 - Quickly Finding Similar Soundslike</a>,
-Previous: <a rel="previous" accesskey="p" href="How-It-All-Works.html#How-It-All-Works">How It All Works</a>,
-Up: <a rel="up" accesskey="u" href="How-It-All-Works.html#How-It-All-Works">How It All Works</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Part-2-_002d-Quickly-Finding-Similar-Soundslike.html#Part-2-_002d-Quickly-Finding-Similar-Soundslike" accesskey="n" rel="next">Part 2 - Quickly Finding Similar Soundslike</a>, Previous: <a href="How-It-All-Works.html#How-It-All-Works" accesskey="p" rel="prev">How It All Works</a>, Up: <a href="How-It-All-Works.html#How-It-All-Works" accesskey="u" rel="up">How It All Works</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Part-1-_002d-The-Compiled-Dictionary-Format"></a>
<h3 class="section">15.1 Part 1 - The Compiled Dictionary Format</h3>
<p>In this part you will see how the data is laid out in the compiled
-dictionary for Aspell 0.60. See source file <samp><span class="file">readonly_ws.cpp</span></samp>.
-
- <p>Aspell's main compiled wordlist dictionary file is made as follows:
-
- <ul>
-<li>header
-<li>jump table for editdist 1
-<li>jump table for editdist 2
-<li>data block
-<li>hash table
-</ul>
-
- <p>There is nothing particularly interesting about the header. Just a
+dictionary for Aspell 0.60. See source file <samp>readonly_ws.cpp</samp>.
+</p>
+<p>Aspell’s main compiled wordlist dictionary file is made as follows:
+</p>
+<ul>
+<li> header
+</li><li> jump table for editdist 1
+</li><li> jump table for editdist 2
+</li><li> data block
+</li><li> hash table
+</li></ul>
+
+<p>There is nothing particularly interesting about the header. Just a
bunch of meta information.
-
- <p>The jump tables are described in the next section <small class="dots">...</small>
-
- <p>Words in the data block are grouped based on the soundslike. Each
+</p>
+<p>The jump tables are described in the next section …
+</p>
+<p>Words in the data block are grouped based on the soundslike. Each
group is as follows:
-
-<pre class="example"> <8 bit: offset to next item><8 bit: soundslike size><soundslike>
- <null><words>
-</pre>
- <p class="noindent">Each word group is as follows:
-
-<pre class="example"> <8 bit: flags><8 bit: offset to next word><8 bit: word size><word><null>
- [<affix info><null>]
-</pre>
- <p>The offset for the final word in each group points to the next word in
+</p>
+<div class="example">
+<pre class="example"><8 bit: offset to next item><8 bit: soundslike size><soundslike>
+<null><words>
+</pre></div>
+
+<p>Each word group is as follows:
+</p>
+<div class="example">
+<pre class="example"><8 bit: flags><8 bit: offset to next word><8 bit: word size><word><null>
+[<affix info><null>]
+</pre></div>
+
+<p>The offset for the final word in each group points to the next word in
the following group. The offset for the final word and soundslike
group in the dictionary is 0.
-
- <p>There is some provisions for additional info to be stored with the word
-but for simplicity, it's left out here. If soundslike data is not used
+</p>
+<p>There is some provisions for additional info to be stored with the word
+but for simplicity, it’s left out here. If soundslike data is not used
then the soundslike block it not used.
-
- <p>This format makes it easy to iterate over the data without using the
+</p>
+<p>This format makes it easy to iterate over the data without using the
hash table.
-
- <p>Each soundslike group can be a maximum of about 256 bytes. If this
+</p>
+<p>Each soundslike group can be a maximum of about 256 bytes. If this
limit is reached then the soundslike group is split. Using 2 bytes for
the soundslike offset would of solved this problem however 256 bytes
is normally sufficient, thus I would of wasted some space by using an
extra byte. More importantly, Using 2 bytes means I would of had to
worry about alignment issues.
-
- <p>The soundslike groups are sorted in more or less alphabetic order.
-
- <p>The hash table is a simple open address hash table. The key is the
+</p>
+<p>The soundslike groups are sorted in more or less alphabetic order.
+</p>
+<p>The hash table is a simple open address hash table. The key is the
dictionary word in all lowercase form with all accents removed (what is
-known as the "clean" form of the word). The value stored in the table
+known as the "clean" form of the word). The value stored in the table
is a 32-bit offset to the beginning of the word. A 32-bit integer
offset is used rather than a pointer so that the compiled dictionary
can be mmaped to make loading the dictionary very fast and so that the
memory can be shared between processed, and on 64 bit platforms using
pointers would have doubled the size of the hash table.
-
- <p>Additional information for each word can be derived from each offset:
-
-<pre class="example"> word size: offset - 1
- offset to next word: offset - 2
- flags: offset - 3
-</pre>
- <p>I use helper functions for getting this information. Doing it this way
+</p>
+<p>Additional information for each word can be derived from each offset:
+</p>
+<div class="example">
+<pre class="example">word size: offset - 1
+offset to next word: offset - 2
+flags: offset - 3
+</pre></div>
+
+<p>I use helper functions for getting this information. Doing it this way
rather than having a data structure is slightly evil, but admittedly,
I have my reasons.
-
- <p>In the next section, you will see how Aspell uses the jump tables to
+</p>
+<p>In the next section, you will see how Aspell uses the jump tables to
search the list for <em>soundslike</em> with <em>edit-distance</em> of 1 or 2.
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Part-2-_002d-Quickly-Finding-Similar-Soundslike.html#Part-2-_002d-Quickly-Finding-Similar-Soundslike" accesskey="n" rel="next">Part 2 - Quickly Finding Similar Soundslike</a>, Previous: <a href="How-It-All-Works.html#How-It-All-Works" accesskey="p" rel="prev">How It All Works</a>, Up: <a href="How-It-All-Works.html#How-It-All-Works" accesskey="u" rel="up">How It All Works</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the developer's manual for Aspell.
+
+Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
-<title>Part 2 - Quickly Finding Similar Soundslike - Aspell Developer's Manual</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell spell checker developer's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="How-It-All-Works.html#How-It-All-Works" title="How It All Works">
-<link rel="prev" href="Part-1-_002d-Compiled-Dictionary-Format.html#Part-1-_002d-Compiled-Dictionary-Format" title="Part 1 - Compiled Dictionary Format">
-<link rel="next" href="Part-3.html#Part-3" title="Part 3">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
+<title>Aspell Developer’s Manual: Part 2 - Quickly Finding Similar Soundslike</title>
+
+<meta name="description" content="Aspell spell checker developer’s manual.">
+<meta name="keywords" content="Aspell Developer’s Manual: Part 2 - Quickly Finding Similar Soundslike">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="How-It-All-Works.html#How-It-All-Works" rel="up" title="How It All Works">
+<link href="Part-3.html#Part-3" rel="next" title="Part 3">
+<link href="Part-1-_002d-Compiled-Dictionary-Format.html#Part-1-_002d-Compiled-Dictionary-Format" rel="prev" title="Part 1 - Compiled Dictionary Format">
+<style type="text/css">
<!--
-This is the developer's manual for Aspell.
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
-Copyright (C) 2002, 2003, 2004, 2006 Kevin Atkinson.
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
-<a name="Part-2---Quickly-Finding-Similar-Soundslike"></a>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Part-2-_002d-Quickly-Finding-Similar-Soundslike"></a>
-Next: <a rel="next" accesskey="n" href="Part-3.html#Part-3">Part 3</a>,
-Previous: <a rel="previous" accesskey="p" href="Part-1-_002d-Compiled-Dictionary-Format.html#Part-1-_002d-Compiled-Dictionary-Format">Part 1 - Compiled Dictionary Format</a>,
-Up: <a rel="up" accesskey="u" href="How-It-All-Works.html#How-It-All-Works">How It All Works</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Part-3.html#Part-3" accesskey="n" rel="next">Part 3</a>, Previous: <a href="Part-1-_002d-Compiled-Dictionary-Format.html#Part-1-_002d-Compiled-Dictionary-Format" accesskey="p" rel="prev">Part 1 - Compiled Dictionary Format</a>, Up: <a href="How-It-All-Works.html#How-It-All-Works" accesskey="u" rel="up">How It All Works</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Part-2-_002d-Quickly-Finding-Similar-Soundslike-1"></a>
<h3 class="section">15.2 Part 2 - Quickly Finding Similar Soundslike</h3>
<p>In order for Aspell to find suggestions for a misspelled word Aspell 1)
depending on a number of factors. In this part I will focus on how Aspell
find all such soundslike efficiently and how the jump tables play a key
role.
-
- <p>This section will focus on how Aspell finds all such soundslike
+</p>
+<p>This section will focus on how Aspell finds all such soundslike
efficiently and how the jump tables play a key role.
-
- <p>The naive way to scan the list for all possible soundslike is to
+</p>
+<p>The naive way to scan the list for all possible soundslike is to
compute the edit-distance of every soundslike in the dictionary and
then keep the ones within the threshold. This is exactly what Aspell
did prior to 0.60. before a faster method was created. When a fast
unbearably slow, at least for English, but for other languages, with
large word lists and no soundslike, this can be slow due to the number
of items that need to be scanned.
-
- <p>Aspell uses a special edit distance function which gives up if the
+</p>
+<p>Aspell uses a special edit distance function which gives up if the
distance is larger than the threshold, thus making it very fast. The
basic algorithm is as follows:
-
-<pre class="example"> limit_edit_distance(A,B,limit) = ed(A,B,0)
- where ed(A,B,d) = d if A & B is empty.
- = infinity if d > limit
- = ed(A[2..],B[2..], d) if A[1] == B[1]
- = min ( ed(A[2..],B[2..], d+1),
- ed(A, B[2..], d+1),
- ed(A[2..],B, d+1) ) otherwise
-</pre>
- <p>However the algorithm used also allows for swaps and is not recursive.
-Specialized versions are provided for an edit distance of one and two.
+</p>
+<div class="example">
+<pre class="example">limit_edit_distance(A,B,limit) = ed(A,B,0)
+ where ed(A,B,d) = d if A & B is empty.
+ = infinity if d > limit
+ = ed(A[2..],B[2..], d) if A[1] == B[1]
+ = min ( ed(A[2..],B[2..], d+1),
+ ed(A, B[2..], d+1),
+ ed(A[2..],B, d+1) ) otherwise
+</pre></div>
+
+<p>However the algorithm used also allows for swaps and is not recursive.
+Specialized versions are provided for an edit distance of one and two.
The running time is asymptotically bounded above by <code>(3^l)*n</code>
where <code>l</code> is the limit and <code>n</code> is the maximum of
<code>strlen(A),strlen(B)</code>. Based on informal tests, the <code>n</code>
does not really matter and the running time is more like <code>(3^l)</code>.
-
- <p>For complete details on this algorithm see the files
-<samp><span class="file">leditdist.hpp</span></samp> and <samp><span class="file">leditdist.cpp</span></samp> in the source
-distribution under <samp><span class="file">modules/speller/default</span></samp>.
-
- <p>So, by exploiting the properties of <code>limit_edit_distance</code> it is
+</p>
+<p>For complete details on this algorithm see the files
+<samp>leditdist.hpp</samp> and <samp>leditdist.cpp</samp> in the source
+distribution under <samp>modules/speller/default</samp>.
+</p>
+<p>So, by exploiting the properties of <code>limit_edit_distance</code> it is
possible to avoid having to look at many of the soundslikes in the
dictionary. <code>Limit_edit_distance</code> is efficient because in many
cases, it does not have to look at the entire word before it can
-determine that it isn't within the given threshold, and then by having
+determine that it isn’t within the given threshold, and then by having
it return the last position looked at, <em>p</em>, it is possible to
avoid having to look at similar soundslike which are not within the
threshold. That is, if two soundslike are the same up to the position
<code>p</code>, then neither of them are within the given threshold.
-
- <p>Aspell 0.60 exploits this property by using jump tables. Each entry
+</p>
+<p>Aspell 0.60 exploits this property by using jump tables. Each entry
in the jump table contains two fields: the first <code>N</code> letters of a
soundslike, and an offset. The entries are sorted in lexicographic
order based on the raw byte value. Aspell maintains two jump tables.
-
- <p>The first table contains the first 2 letters of a soundslike and the
+</p>
+<p>The first table contains the first 2 letters of a soundslike and the
offset points into the second jump table.
-
- <p>The second table contains the first 3 letters of a soundslike where
-the offset points to the location of the soundslike in the data block.
+</p>
+<p>The second table contains the first 3 letters of a soundslike where
+the offset points to the location of the soundslike in the data block.
The soundslike in the datablock are sorted so that a linear scan can
be used to find all soundslike with the same prefix. If the
<code>limit_edit_distance</code> stops before reaching the end of a
-<em>"soundslike"</em> in one of the jump tables then it is possible to
+<em>"soundslike"</em> in one of the jump tables then it is possible to
skip all the soundslike in the data block with the same prefix.
-
- <p>Thus, the scan for all <em>soundslike</em> within a given edit distance
+</p>
+<p>Thus, the scan for all <em>soundslike</em> within a given edit distance
goes something like this:
-
- <ol type=1 start=1>
-
- <li>Compare the entry in the first jump table using
+</p>
+<ol>
+<li> Compare the entry in the first jump table using
<code>limit_edit_distance</code>. If the <code>limit_edit_distance</code> scanned
passed the end of the word, then go to the first entry in the second
jump table with the same prefix, otherwise go to the next entry in the
first jump table and repeat.
- <li>Compare the entry in the second jump table. If the
+</li><li> Compare the entry in the second jump table. If the
<code>limit_edit_distance</code> passed the end of the word, then go to the
first <em>soundslike</em> in the data block with this prefix, otherwise
if the first two letters of the next entry are the same as the current
one go to it and repeat. If the first two letters are not the same
then go to the next entry in the first jump table and repeat step 1.
- <li>Compare the <em>soundslike</em> in the data block. If the edit
+</li><li> Compare the <em>soundslike</em> in the data block. If the edit
distance is within the target distance, then add the word to the
-candidate list, otherwise don't. Let <code>N</code> be the position where
+candidate list, otherwise don’t. Let <code>N</code> be the position where
<code>limit_edit_distance</code> stopped, (starting at 0). If <code>N</code> is
less than 6, then skip over any soundslike that have the same first
<code>N + 1</code> letters. If after skipping over any similar
and repeat step 2, otherwise repeat this step with the next
<em>soundslike</em>.
- </ol>
+</li></ol>
- <p>The part of skipping over <em>soundslike</em> with the first <code>N + 1</code>
+<p>The part of skipping over <em>soundslike</em> with the first <code>N + 1</code>
letters in step 3 were added in Aspell 0.60.3. The function
responsible for most of this is found in function
<code>ReadOnlyDict::SoundslikeElements::next</code> which is found in file
-<samp><span class="file">readonly_ws.cpp</span></samp>.
-
- <p>The next part will describe how Aspell deals with <em>soundslike</em>
+<samp>readonly_ws.cpp</samp>.
+</p>
+<p>The next part will describe how Aspell deals with <em>soundslike</em>
lookup when affix compression is involved.
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Part-3.html#Part-3" accesskey="n" rel="next">Part 3</a>, Previous: <a href="Part-1-_002d-Compiled-Dictionary-Format.html#Part-1-_002d-Compiled-Dictionary-Format" accesskey="p" rel="prev">Part 1 - Compiled Dictionary Format</a>, Up: <a href="How-It-All-Works.html#How-It-All-Works" accesskey="u" rel="up">How It All Works</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the developer's manual for Aspell.
+
+Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
-<title>Part 3 - Aspell Developer's Manual</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell spell checker developer's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="How-It-All-Works.html#How-It-All-Works" title="How It All Works">
-<link rel="prev" href="Part-2-_002d-Quickly-Finding-Similar-Soundslike.html#Part-2-_002d-Quickly-Finding-Similar-Soundslike" title="Part 2 - Quickly Finding Similar Soundslike">
-<link rel="next" href="Copying.html#Copying" title="Copying">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
+<title>Aspell Developer’s Manual: Part 3</title>
+
+<meta name="description" content="Aspell spell checker developer’s manual.">
+<meta name="keywords" content="Aspell Developer’s Manual: Part 3">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="How-It-All-Works.html#How-It-All-Works" rel="up" title="How It All Works">
+<link href="Copying.html#Copying" rel="next" title="Copying">
+<link href="Part-2-_002d-Quickly-Finding-Similar-Soundslike.html#Part-2-_002d-Quickly-Finding-Similar-Soundslike" rel="prev" title="Part 2 - Quickly Finding Similar Soundslike">
+<style type="text/css">
<!--
-This is the developer's manual for Aspell.
-
-Copyright (C) 2002, 2003, 2004, 2006 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Part-3"></a>
-Next: <a rel="next" accesskey="n" href="Copying.html#Copying">Copying</a>,
-Previous: <a rel="previous" accesskey="p" href="Part-2-_002d-Quickly-Finding-Similar-Soundslike.html#Part-2-_002d-Quickly-Finding-Similar-Soundslike">Part 2 - Quickly Finding Similar Soundslike</a>,
-Up: <a rel="up" accesskey="u" href="How-It-All-Works.html#How-It-All-Works">How It All Works</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Copying.html#Copying" accesskey="n" rel="next">Copying</a>, Previous: <a href="Part-2-_002d-Quickly-Finding-Similar-Soundslike.html#Part-2-_002d-Quickly-Finding-Similar-Soundslike" accesskey="p" rel="prev">Part 2 - Quickly Finding Similar Soundslike</a>, Up: <a href="How-It-All-Works.html#How-It-All-Works" accesskey="u" rel="up">How It All Works</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Part-3-1"></a>
<h3 class="section">15.3 Part 3</h3>
<p>Not written yet.
+</p>
+
- </body></html>
+</body>
+</html>
-<meta http-equiv="refresh" content="0; url=Filter-Interface.html#Place%20Sources">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the developer's manual for Aspell.
+
+Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<!-- This file redirects to the location of a node or anchor -->
+<head>
+<title>Aspell Developer’s Manual: Place Sources</title>
+
+<meta name="description" content="Aspell spell checker developer’s manual.">
+<meta name="keywords" content="Aspell Developer’s Manual: Place Sources">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+<meta http-equiv="Refresh" content="0; url=Filter-Interface.html#Place-Sources">
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+
+<p>The node you are looking for is at <a href="Filter-Interface.html#Place-Sources">Place Sources</a>.</p>
+</body>
-<meta http-equiv="refresh" content="0; url=Filter-Interface.html#Programmer%27s%20Interface">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the developer's manual for Aspell.
+
+Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<!-- This file redirects to the location of a node or anchor -->
+<head>
+<title>Aspell Developer’s Manual: Programmer's Interface</title>
+
+<meta name="description" content="Aspell spell checker developer’s manual.">
+<meta name="keywords" content="Aspell Developer’s Manual: Programmer's Interface">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+<meta http-equiv="Refresh" content="0; url=Filter-Interface.html#Programmer_0027s-Interface">
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+
+<p>The node you are looking for is at <a href="Filter-Interface.html#Programmer_0027s-Interface">Programmer's Interface</a>.</p>
+</body>
-<meta http-equiv="refresh" content="0; url=Filter-Interface.html#Recommended%20Standard%20Aspell">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the developer's manual for Aspell.
+
+Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<!-- This file redirects to the location of a node or anchor -->
+<head>
+<title>Aspell Developer’s Manual: Recommended Standard Aspell</title>
+
+<meta name="description" content="Aspell spell checker developer’s manual.">
+<meta name="keywords" content="Aspell Developer’s Manual: Recommended Standard Aspell">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+<meta http-equiv="Refresh" content="0; url=Filter-Interface.html#Recommended-Standard-Aspell">
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+
+<p>The node you are looking for is at <a href="Filter-Interface.html#Recommended-Standard-Aspell">Recommended Standard Aspell</a>.</p>
+</body>
-<meta http-equiv="refresh" content="0; url=Filter-Interface.html#Reinstall%20Aspell">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the developer's manual for Aspell.
+
+Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<!-- This file redirects to the location of a node or anchor -->
+<head>
+<title>Aspell Developer’s Manual: Reinstall Aspell</title>
+
+<meta name="description" content="Aspell spell checker developer’s manual.">
+<meta name="keywords" content="Aspell Developer’s Manual: Reinstall Aspell">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+<meta http-equiv="Refresh" content="0; url=Filter-Interface.html#Reinstall-Aspell">
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+
+<p>The node you are looking for is at <a href="Filter-Interface.html#Reinstall-Aspell">Reinstall Aspell</a>.</p>
+</body>
-<html lang="en">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the developer's manual for Aspell.
+
+Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
-<title>Smart Pointers - Aspell Developer's Manual</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell spell checker developer's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="prev" href="Strings.html#Strings" title="Strings">
-<link rel="next" href="I_002fO.html#I_002fO" title="I/O">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
+<title>Aspell Developer’s Manual: Smart Pointers</title>
+
+<meta name="description" content="Aspell spell checker developer’s manual.">
+<meta name="keywords" content="Aspell Developer’s Manual: Smart Pointers">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="I_002fO.html#I_002fO" rel="next" title="I/O">
+<link href="Strings.html#Strings" rel="prev" title="Strings">
+<style type="text/css">
<!--
-This is the developer's manual for Aspell.
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
-Copyright (C) 2002, 2003, 2004, 2006 Kevin Atkinson.
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Smart-Pointers"></a>
-Next: <a rel="next" accesskey="n" href="I_002fO.html#I_002fO">I/O</a>,
-Previous: <a rel="previous" accesskey="p" href="Strings.html#Strings">Strings</a>,
-Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="I_002fO.html#I_002fO" accesskey="n" rel="next">I/O</a>, Previous: <a href="Strings.html#Strings" accesskey="p" rel="prev">Strings</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Smart-Pointers-1"></a>
<h2 class="chapter">8 Smart Pointers</h2>
<p>Smart pointers are used extensively in Aspell to
-simplify memory management tasks and to avoid memory leaks.
-
+simplify memory management tasks and to avoid memory leaks.
+</p>
+<a name="CopyPtr"></a>
<h3 class="section">8.1 CopyPtr</h3>
<p>The <code>CopyPtr</code> class makes a deep copy of an object whenever it is
-copied. The <code>CopyPtr</code> class is defined in <samp><span class="file">copy_ptr.hpp</span></samp>.
+copied. The <code>CopyPtr</code> class is defined in <samp>copy_ptr.hpp</samp>.
This header should be included wherever <code>CopyPtr</code> is used. The
complete definition of the object <code>CopyPtr</code> is pointing to does
not need to be defined at this point. The implementation is defined
-in <samp><span class="file">copy_ptr-t.hpp</span></samp>. The implementation header file should be
+in <samp>copy_ptr-t.hpp</samp>. The implementation header file should be
included at a point in your code where the class <code>CopyPtr</code> is
pointing to is completely defined.
-
+</p>
+<a name="ClonePtr"></a>
<h3 class="section">8.2 ClonePtr</h3>
<p><code>ClonePtr</code> is like copy pointer except the <code>clone()</code> method
-is used instead of the copy constructor to make copies of an object.
-If is defined in <samp><span class="file">clone_ptr.hpp</span></samp> and implemented in
-<samp><span class="file">clone_ptr-t.hpp</span></samp>.
-
+is used instead of the copy constructor to make copies of an object.
+If is defined in <samp>clone_ptr.hpp</samp> and implemented in
+<samp>clone_ptr-t.hpp</samp>.
+</p>
+<a name="StackPtr"></a>
<h3 class="section">8.3 StackPtr</h3>
<p>A <code>StackPtr</code> is designed to be used whenever the only pointer to
-a new object allocated with <samp><span class="command">new</span></samp> is on the stack. It is
+a new object allocated with <code>new</code> is on the stack. It is
similar to the standard C++ <code>auto_ptr</code> but the semantics are a
-bit different. It is defined in <samp><span class="file">stack_ptr.hpp</span></samp> — unlike
+bit different. It is defined in <samp>stack_ptr.hpp</samp> — unlike
<code>CopyPtr</code> or <code>ClonePtr</code> it is defined and implemented in
this header file.
-
+</p>
+<a name="GenericCopyPtr"></a>
<h3 class="section">8.4 GenericCopyPtr</h3>
<p>A generalized version of <code>CopyPtr</code> and <code>ClonePtr</code> which the
-two are based on. It is defined in <samp><span class="file">generic_copy_ptr.hpp</span></samp> and
-implemented in <samp><span class="file">generic_copy_ptr-t.hpp</span></samp>.
+two are based on. It is defined in <samp>generic_copy_ptr.hpp</samp> and
+implemented in <samp>generic_copy_ptr-t.hpp</samp>.
+</p>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the developer's manual for Aspell.
+
+Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
-<title>Source Code Layout - Aspell Developer's Manual</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell spell checker developer's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="prev" href="Error-Handling.html#Error-Handling" title="Error Handling">
-<link rel="next" href="Strings.html#Strings" title="Strings">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
+<title>Aspell Developer’s Manual: Source Code Layout</title>
+
+<meta name="description" content="Aspell spell checker developer’s manual.">
+<meta name="keywords" content="Aspell Developer’s Manual: Source Code Layout">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Strings.html#Strings" rel="next" title="Strings">
+<link href="Error-Handling.html#Error-Handling" rel="prev" title="Error Handling">
+<style type="text/css">
<!--
-This is the developer's manual for Aspell.
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
-Copyright (C) 2002, 2003, 2004, 2006 Kevin Atkinson.
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Source-Code-Layout"></a>
-Next: <a rel="next" accesskey="n" href="Strings.html#Strings">Strings</a>,
-Previous: <a rel="previous" accesskey="p" href="Error-Handling.html#Error-Handling">Error Handling</a>,
-Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Strings.html#Strings" accesskey="n" rel="next">Strings</a>, Previous: <a href="Error-Handling.html#Error-Handling" accesskey="p" rel="prev">Error Handling</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Source-Code-Layout-1"></a>
<h2 class="chapter">6 Source Code Layout</h2>
- <dl>
-<dt><samp><span class="file">common/</span></samp><dd> Common code used by all parts of Aspell.
-
- <br><dt><samp><span class="file">lib/</span></samp><dd> Library code used only by the actual Aspell library.
-
- <br><dt><samp><span class="file">data/</span></samp><dd> Data files used by Aspell.
-
- <br><dt><samp><span class="file">modules/</span></samp><dd> Aspell modules which are eventually meant to be pluggable.
-
- <dl>
- <dt><samp><span class="file">speller/</span></samp><dd>
- <dl>
- <dt><samp><span class="file">default/</span></samp><dd> Main speller Module.
- </dl>
-
- <br><dt><samp><span class="file">filter/</span></samp>
- <br><dt><samp><span class="file">tokenizer/</span></samp><dd></dl>
+<dl compact="compact">
+<dt><samp>common/</samp></dt>
+<dd><p>Common code used by all parts of Aspell.
+</p>
+</dd>
+<dt><samp>lib/</samp></dt>
+<dd><p>Library code used only by the actual Aspell library.
+</p>
+</dd>
+<dt><samp>data/</samp></dt>
+<dd><p>Data files used by Aspell.
+</p>
+</dd>
+<dt><samp>modules/</samp></dt>
+<dd><p>Aspell modules which are eventually meant to be pluggable.
+</p>
+<dl compact="compact">
+<dt><samp>speller/</samp></dt>
+<dd><dl compact="compact">
+<dt><samp>default/</samp></dt>
+<dd><p>Main speller Module.
+ </p></dd>
+</dl>
- <br><dt><samp><span class="file">auto/</span></samp><dd>Scripts and data files to automatically generate code used by Aspell.
+</dd>
+<dt><samp>filter/</samp></dt>
+<dt><samp>tokenizer/</samp></dt>
+</dl>
- <br><dt><samp><span class="file">interface/</span></samp><dd>Header files and such that external programs should use when in order
+</dd>
+<dt><samp>auto/</samp></dt>
+<dd><p>Scripts and data files to automatically generate code used by Aspell.
+</p>
+</dd>
+<dt><samp>interface/</samp></dt>
+<dd><p>Header files and such that external programs should use when in order
to use the Aspell library.
- <dl>
-<dt><samp><span class="file">cc/</span></samp><dd>The external C interface that programs should be using when they wish
-to use Aspell.
+</p><dl compact="compact">
+<dt><samp>cc/</samp></dt>
+<dd><p>The external C interface that programs should be using when they wish
+to use Aspell.
+</p></dd>
</dl>
- <br><dt><samp><span class="file">prog/</span></samp><dd>Actual programs based on the Aspell library. The main Aspell utility
+</dd>
+<dt><samp>prog/</samp></dt>
+<dd><p>Actual programs based on the Aspell library. The main Aspell utility
is included here.
+</p>
+</dd>
+<dt><samp>scripts/</samp></dt>
+<dd><p>Miscellaneous scripts used by Aspell.
+</p>
+</dd>
+<dt><samp>manual/</samp></dt>
+<dt><samp>examples/</samp></dt>
+<dd><p>Example programs demonstrating the use of the Aspell library.
+</p></dd>
+</dl>
+
- <br><dt><samp><span class="file">scripts/</span></samp><dd>Miscellaneous scripts used by Aspell.
- <br><dt><samp><span class="file">manual/</span></samp>
-<br><dt><samp><span class="file">examples/</span></samp><dd>Example programs demonstrating the use of the Aspell library.
-</dl>
- </body></html>
+</body>
+</html>
-<html lang="en">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the developer's manual for Aspell.
+
+Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
-<title>Strings - Aspell Developer's Manual</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell spell checker developer's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="prev" href="Source-Code-Layout.html#Source-Code-Layout" title="Source Code Layout">
-<link rel="next" href="Smart-Pointers.html#Smart-Pointers" title="Smart Pointers">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
+<title>Aspell Developer’s Manual: Strings</title>
+
+<meta name="description" content="Aspell spell checker developer’s manual.">
+<meta name="keywords" content="Aspell Developer’s Manual: Strings">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Smart-Pointers.html#Smart-Pointers" rel="next" title="Smart Pointers">
+<link href="Source-Code-Layout.html#Source-Code-Layout" rel="prev" title="Source Code Layout">
+<style type="text/css">
<!--
-This is the developer's manual for Aspell.
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
-Copyright (C) 2002, 2003, 2004, 2006 Kevin Atkinson.
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Strings"></a>
-Next: <a rel="next" accesskey="n" href="Smart-Pointers.html#Smart-Pointers">Smart Pointers</a>,
-Previous: <a rel="previous" accesskey="p" href="Source-Code-Layout.html#Source-Code-Layout">Source Code Layout</a>,
-Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Smart-Pointers.html#Smart-Pointers" accesskey="n" rel="next">Smart Pointers</a>, Previous: <a href="Source-Code-Layout.html#Source-Code-Layout" accesskey="p" rel="prev">Source Code Layout</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Strings-1"></a>
<h2 class="chapter">7 Strings</h2>
+<a name="String"></a>
<h3 class="section">7.1 String</h3>
<p>The <code>String</code> class provided the same functionality of the C++
string except for fewer constructors. It also inherits <code>OStream</code>
so that you can write to it with the <code><<</code> operator. It is
defined in <code>string.hpp</code>.
-
+</p>
+<a name="ParmString"></a>
<h3 class="section">7.2 ParmString</h3>
<p>ParmString is a special string class that is designed to be used as a
<code>String</code> class to be passed in. It will automatically convert to
a <code>const char *</code>. The string can also be accessed via the
<code>str</code> method. Usage example:
-<pre class="verbatim">
-void foo(ParmString s1, ParmString s2) {
+</p><pre class="verbatim">void foo(ParmString s1, ParmString s2) {
const char * str0 = s1;
unsigned int size0 = s2.size()
- if (s1 == s2 || s2 == "bar") {
+ if (s1 == s2 || s2 == "bar") {
...
}
}
...
-String s1 = "...";
+String s1 = "...";
foo(s1);
-const char * s2 = "...";
+const char * s2 = "...";
foo(s2);
</pre>
-
- <p>This class should be used when a string is being passed in as a
+<p>This class should be used when a string is being passed in as a
parameter. It is faster than using <code>const String &</code> (as that
will create an unnecessary temporary when a <code>const char *</code> is
passed in), and is less annoying than using <code>const char *</code> (as it
-doesn't require the <code>c_str()</code> method to be used when a
+doesn’t require the <code>c_str()</code> method to be used when a
<code>String</code> is passed in).
-
+</p>
+<a name="CharVector"></a>
<h3 class="section">7.3 CharVector</h3>
<p>A character vector is basically a <code>Vector<char></code> but it has a few
defined in <code>char_vector.hpp</code>. Use it when ever you need a string
which is guaranteed to be in a continuous block of memory which you
can write to.
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Smart-Pointers.html#Smart-Pointers" accesskey="n" rel="next">Smart Pointers</a>, Previous: <a href="Source-Code-Layout.html#Source-Code-Layout" accesskey="p" rel="prev">Source Code Layout</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the developer's manual for Aspell.
+
+Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
-<title>Style Guidelines - Aspell Developer's Manual</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell spell checker developer's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="prev" href="index.html#Top" title="Top">
-<link rel="next" href="How-to-Submit-a-Patch.html#How-to-Submit-a-Patch" title="How to Submit a Patch">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
+<title>Aspell Developer’s Manual: Style Guidelines</title>
+
+<meta name="description" content="Aspell spell checker developer’s manual.">
+<meta name="keywords" content="Aspell Developer’s Manual: Style Guidelines">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="How-to-Submit-a-Patch.html#How-to-Submit-a-Patch" rel="next" title="How to Submit a Patch">
+<link href="index.html#Top" rel="prev" title="Top">
+<style type="text/css">
<!--
-This is the developer's manual for Aspell.
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
-Copyright (C) 2002, 2003, 2004, 2006 Kevin Atkinson.
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Style-Guidelines"></a>
-Next: <a rel="next" accesskey="n" href="How-to-Submit-a-Patch.html#How-to-Submit-a-Patch">How to Submit a Patch</a>,
-Previous: <a rel="previous" accesskey="p" href="index.html#Top">Top</a>,
-Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="How-to-Submit-a-Patch.html#How-to-Submit-a-Patch" accesskey="n" rel="next">How to Submit a Patch</a>, Previous: <a href="index.html#Top" accesskey="p" rel="prev">Top</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Style-Guidelines-1"></a>
<h2 class="chapter">1 Style Guidelines</h2>
-<p>* Style Guidelines::
-* How to Submit a Patch::
-* C++ Standard Library::
-* Templates::
-* Error Handling::
-* Source Code Layout ::
+<p>* Style Guidelines::
+* How to Submit a Patch::
+* C++ Standard Library::
+* Templates::
+* Error Handling::
+* Source Code Layout::
* Strings::
-* Smart Pointers::
-* I/O::
-* Config Class::
-* Filter Interface::
-* Filter Modes::
-* Data Structures::
-* Mk-Src Script::
+* Smart Pointers::
+* I/O::
+* Config Class::
+* Filter Interface::
+* Filter Modes::
+* Data Structures::
+* Mk-Src Script::
* How It All Works::
* Copying::
-
- <p>As far as coding styles go I am really not that picky. The important
+</p>
+<p>As far as coding styles go I am really not that picky. The important
thing is to stay consistent. However, please whatever you do, do not
indent with more than 4 characters as I find indenting with more than
that extremely difficult to read as most of the code ends up on the
right side of the screen.
+</p>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the developer's manual for Aspell.
+
+Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
-<title>Templates - Aspell Developer's Manual</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell spell checker developer's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="prev" href="C_002b_002b-Standard-Library.html#C_002b_002b-Standard-Library" title="C++ Standard Library">
-<link rel="next" href="Error-Handling.html#Error-Handling" title="Error Handling">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
+<title>Aspell Developer’s Manual: Templates</title>
+
+<meta name="description" content="Aspell spell checker developer’s manual.">
+<meta name="keywords" content="Aspell Developer’s Manual: Templates">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Error-Handling.html#Error-Handling" rel="next" title="Error Handling">
+<link href="C_002b_002b-Standard-Library.html#C_002b_002b-Standard-Library" rel="prev" title="C++ Standard Library">
+<style type="text/css">
<!--
-This is the developer's manual for Aspell.
-
-Copyright (C) 2002, 2003, 2004, 2006 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Templates"></a>
-Next: <a rel="next" accesskey="n" href="Error-Handling.html#Error-Handling">Error Handling</a>,
-Previous: <a rel="previous" accesskey="p" href="C_002b_002b-Standard-Library.html#C_002b_002b-Standard-Library">C++ Standard Library</a>,
-Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Error-Handling.html#Error-Handling" accesskey="n" rel="next">Error Handling</a>, Previous: <a href="C_002b_002b-Standard-Library.html#C_002b_002b-Standard-Library" accesskey="p" rel="prev">C++ Standard Library</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Templates-1"></a>
<h2 class="chapter">4 Templates</h2>
<p>Templates are used in Aspell when there is a clear advantage to doing
so. Whenever you use templates please use them carefully and try very
hard not to create code bloat by generating a lot of unnecessary and
duplicate code.
+</p>
+
- </body></html>
+</body>
+</html>
-<meta http-equiv="refresh" content="0; url=Filter-Interface.html#Test%20Filter%20Installed">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the developer's manual for Aspell.
+
+Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<!-- This file redirects to the location of a node or anchor -->
+<head>
+<title>Aspell Developer’s Manual: Test Filter Installed</title>
+
+<meta name="description" content="Aspell spell checker developer’s manual.">
+<meta name="keywords" content="Aspell Developer’s Manual: Test Filter Installed">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+<meta http-equiv="Refresh" content="0; url=Filter-Interface.html#Test-Filter-Installed">
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+
+<p>The node you are looking for is at <a href="Filter-Interface.html#Test-Filter-Installed">Test Filter Installed</a>.</p>
+</body>
-<html lang="en">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the developer's manual for Aspell.
+
+Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
-<title>Aspell Developer's Manual</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell spell checker developer's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="#Top">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
+<title>Aspell Developer’s Manual: Top</title>
+
+<meta name="description" content="Aspell spell checker developer’s manual.">
+<meta name="keywords" content="Aspell Developer’s Manual: Top">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="#Top" rel="start" title="Top">
+<link href="#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="../dir/index.html" rel="up" title="(dir)">
+<link href="Style-Guidelines.html#Style-Guidelines" rel="next" title="Style Guidelines">
+<style type="text/css">
<!--
-This is the developer's manual for Aspell.
-
-Copyright (C) 2002, 2003, 2004, 2006 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<h1 class="settitle">Aspell Developer's Manual</h1>
- <div class="contents">
-<h2>Table of Contents</h2>
-<ul>
-<li><a name="toc_Top" href="index.html#Top">Notes</a>
-<li><a name="toc_Style-Guidelines" href="Style-Guidelines.html#Style-Guidelines">1 Style Guidelines</a>
-<li><a name="toc_How-to-Submit-a-Patch" href="How-to-Submit-a-Patch.html#How-to-Submit-a-Patch">2 How to Submit a Patch</a>
-<li><a name="toc_C_002b_002b-Standard-Library" href="C_002b_002b-Standard-Library.html#C_002b_002b-Standard-Library">3 C++ Standard Library</a>
-<li><a name="toc_Templates" href="Templates.html#Templates">4 Templates</a>
-<li><a name="toc_Error-Handling" href="Error-Handling.html#Error-Handling">5 Error Handling</a>
-<li><a name="toc_Source-Code-Layout" href="Source-Code-Layout.html#Source-Code-Layout">6 Source Code Layout</a>
-<li><a name="toc_Strings" href="Strings.html#Strings">7 Strings</a>
-<ul>
-<li><a href="Strings.html#Strings">7.1 String</a>
-<li><a href="Strings.html#Strings">7.2 ParmString</a>
-<li><a href="Strings.html#Strings">7.3 CharVector</a>
-</li></ul>
-<li><a name="toc_Smart-Pointers" href="Smart-Pointers.html#Smart-Pointers">8 Smart Pointers</a>
-<ul>
-<li><a href="Smart-Pointers.html#Smart-Pointers">8.1 CopyPtr</a>
-<li><a href="Smart-Pointers.html#Smart-Pointers">8.2 ClonePtr</a>
-<li><a href="Smart-Pointers.html#Smart-Pointers">8.3 StackPtr</a>
-<li><a href="Smart-Pointers.html#Smart-Pointers">8.4 GenericCopyPtr</a>
-</li></ul>
-<li><a name="toc_I_002fO" href="I_002fO.html#I_002fO">9 I/O</a>
-<ul>
-<li><a href="I_002fO.html#I_002fO">9.1 IStream/OStream</a>
-<li><a href="I_002fO.html#I_002fO">9.2 FStream</a>
-<li><a href="I_002fO.html#I_002fO">9.3 Standard Streams</a>
-</li></ul>
-<li><a name="toc_Config-Class" href="Config-Class.html#Config-Class">10 Config Class</a>
-<li><a name="toc_Filter-Interface" href="Filter-Interface.html#Filter-Interface">11 Filter Interface</a>
-<ul>
-<li><a href="Filter-Interface.html#Filter-Interface">11.1 Overview</a>
-<li><a href="Filter-Interface.html#Filter-Interface">11.2 Adding a New Filter</a>
-<li><a href="Filter-Interface.html#Filter-Interface">11.3 IndividualFilter class</a>
-<li><a href="Filter-Interface.html#Filter-Interface">11.4 Constructor Function</a>
-<li><a href="Filter-Interface.html#Filter-Interface">11.5 Filter Description File</a>
-<li><a href="Filter-Interface.html#Filter-Interface">11.6 Retrieve Options by a Filter</a>
-<li><a href="Filter-Interface.html#Filter-Interface">11.7 Compiling and Linking</a>
-<li><a href="Filter-Interface.html#Filter-Interface">11.8 Programmer's Interface</a>
-<li><a href="Filter-Interface.html#Filter-Interface">11.9 Adding a filter to Aspell standard distribution</a>
-</li></ul>
-<li><a name="toc_Filter-Modes" href="Filter-Modes.html#Filter-Modes">12 Filter Modes</a>
-<ul>
-<li><a href="Filter-Modes.html#Filter-Modes">12.1 Aspell Mode File</a>
-<ul>
-<li><a href="Filter-Modes.html#Filter-Modes">12.1.1 Version Line</a>
-<li><a href="Filter-Modes.html#Filter-Modes">12.1.2 Magic Line</a>
-<li><a href="Filter-Modes.html#Filter-Modes">12.1.3 Description Line</a>
-<li><a href="Filter-Modes.html#Filter-Modes">12.1.4 Filter and Option Lines</a>
-</li></ul>
-</li></ul>
-<li><a name="toc_Data-Structures" href="Data-Structures.html#Data-Structures">13 Data Structures</a>
-<ul>
-<li><a href="Data-Structures.html#Data-Structures">13.1 Vector</a>
-<li><a href="Data-Structures.html#Data-Structures">13.2 BasicList</a>
-<li><a href="Data-Structures.html#Data-Structures">13.3 StringMap</a>
-<li><a href="Data-Structures.html#Data-Structures">13.4 Hash Tables</a>
-<li><a href="Data-Structures.html#Data-Structures">13.5 BlockSList</a>
-</li></ul>
-<li><a name="toc_Mk_002dSrc-Script" href="Mk_002dSrc-Script.html#Mk_002dSrc-Script">14 Mk-Src Script</a>
-<ul>
-<li><a href="Mk_002dSrc-Script.html#Mk_002dSrc-Script">14.1 mk-src.in</a>
-<li><a href="Mk_002dSrc-Script.html#Mk_002dSrc-Script">14.2 MkSrc::Info</a>
-<li><a href="Mk_002dSrc-Script.html#Mk_002dSrc-Script">14.3 MkSrc::Util</a>
-<li><a href="Mk_002dSrc-Script.html#Mk_002dSrc-Script">14.4 MkSrc::Read</a>
-<li><a href="Mk_002dSrc-Script.html#Mk_002dSrc-Script">14.5 MKSrc::Create</a>
-<li><a href="Mk_002dSrc-Script.html#Mk_002dSrc-Script">14.6 Code Generation Modes</a>
-<li><a href="Mk_002dSrc-Script.html#Mk_002dSrc-Script">14.7 MkSrc::CcHelper</a>
-</li></ul>
-<li><a name="toc_How-It-All-Works" href="How-It-All-Works.html#How-It-All-Works">15 How It All Works</a>
-<ul>
-<li><a href="Part-1-_002d-Compiled-Dictionary-Format.html#Part-1-_002d-Compiled-Dictionary-Format">15.1 Part 1 - The Compiled Dictionary Format</a>
-<li><a href="Part-2-_002d-Quickly-Finding-Similar-Soundslike.html#Part-2-_002d-Quickly-Finding-Similar-Soundslike">15.2 Part 2 - Quickly Finding Similar Soundslike</a>
-<li><a href="Part-3.html#Part-3">15.3 Part 3</a>
-</li></ul>
-<li><a name="toc_Copying" href="Copying.html#Copying">Appendix A Copying</a>
-<ul>
-<li><a href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License">A.1 GNU Free Documentation License</a>
-<ul>
-<li><a href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License">A.1.1 ADDENDUM: How to use this License for your documents</a>
-</li></ul>
-</li></ul>
-</li></ul>
-</div>
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<h1 class="settitle" align="center">Aspell Developer’s Manual</h1>
-<div class="node">
-<p>
-<a name="Top"></a>
-Next: <a rel="next" accesskey="n" href="Style-Guidelines.html#Style-Guidelines">Style Guidelines</a>,
-Previous: <a rel="previous" accesskey="p" href="../index.html#dir">(dir)</a>,
-Up: <a rel="up" accesskey="u" href="../index.html#dir">(dir)</a>
-<hr>
+
+
+<a name="SEC_Contents"></a>
+<h2 class="contents-heading">Table of Contents</h2>
+
+<div class="contents">
+
+<ul class="no-bullet">
+ <li><a name="toc-Style-Guidelines-1" href="Style-Guidelines.html#Style-Guidelines">1 Style Guidelines</a></li>
+ <li><a name="toc-How-to-Submit-a-Patch-1" href="How-to-Submit-a-Patch.html#How-to-Submit-a-Patch">2 How to Submit a Patch</a></li>
+ <li><a name="toc-C_002b_002b-Standard-Library-1" href="C_002b_002b-Standard-Library.html#C_002b_002b-Standard-Library">3 C++ Standard Library</a></li>
+ <li><a name="toc-Templates-1" href="Templates.html#Templates">4 Templates</a></li>
+ <li><a name="toc-Error-Handling-1" href="Error-Handling.html#Error-Handling">5 Error Handling</a></li>
+ <li><a name="toc-Source-Code-Layout-1" href="Source-Code-Layout.html#Source-Code-Layout">6 Source Code Layout</a></li>
+ <li><a name="toc-Strings-1" href="Strings.html#Strings">7 Strings</a>
+ <ul class="no-bullet">
+ <li><a name="toc-String" href="Strings.html#String">7.1 String</a></li>
+ <li><a name="toc-ParmString" href="Strings.html#ParmString">7.2 ParmString</a></li>
+ <li><a name="toc-CharVector" href="Strings.html#CharVector">7.3 CharVector</a></li>
+ </ul></li>
+ <li><a name="toc-Smart-Pointers-1" href="Smart-Pointers.html#Smart-Pointers">8 Smart Pointers</a>
+ <ul class="no-bullet">
+ <li><a name="toc-CopyPtr" href="Smart-Pointers.html#CopyPtr">8.1 CopyPtr</a></li>
+ <li><a name="toc-ClonePtr" href="Smart-Pointers.html#ClonePtr">8.2 ClonePtr</a></li>
+ <li><a name="toc-StackPtr" href="Smart-Pointers.html#StackPtr">8.3 StackPtr</a></li>
+ <li><a name="toc-GenericCopyPtr" href="Smart-Pointers.html#GenericCopyPtr">8.4 GenericCopyPtr</a></li>
+ </ul></li>
+ <li><a name="toc-I_002fO-1" href="I_002fO.html#I_002fO">9 I/O</a>
+ <ul class="no-bullet">
+ <li><a name="toc-IStream_002fOStream" href="I_002fO.html#IStream_002fOStream">9.1 IStream/OStream</a></li>
+ <li><a name="toc-FStream" href="I_002fO.html#FStream">9.2 FStream</a></li>
+ <li><a name="toc-Standard-Streams" href="I_002fO.html#Standard-Streams">9.3 Standard Streams</a></li>
+ </ul></li>
+ <li><a name="toc-Config-Class-1" href="Config-Class.html#Config-Class">10 Config Class</a></li>
+ <li><a name="toc-Filter-Interface-1" href="Filter-Interface.html#Filter-Interface">11 Filter Interface</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Overview" href="Filter-Interface.html#Overview">11.1 Overview</a></li>
+ <li><a name="toc-Adding-a-New-Filter" href="Filter-Interface.html#Adding-a-New-Filter">11.2 Adding a New Filter</a></li>
+ <li><a name="toc-IndividualFilter-class" href="Filter-Interface.html#IndividualFilter-class">11.3 IndividualFilter class</a></li>
+ <li><a name="toc-Constructor-Function-1" href="Filter-Interface.html#Constructor-Function-1">11.4 Constructor Function</a></li>
+ <li><a name="toc-Filter-Description-File-1" href="Filter-Interface.html#Filter-Description-File-1">11.5 Filter Description File</a></li>
+ <li><a name="toc-Retrieve-Options-by-a-Filter" href="Filter-Interface.html#Retrieve-Options-by-a-Filter">11.6 Retrieve Options by a Filter</a></li>
+ <li><a name="toc-Compiling-and-Linking" href="Filter-Interface.html#Compiling-and-Linking">11.7 Compiling and Linking</a></li>
+ <li><a name="toc-Programmer_0027s-Interface-1" href="Filter-Interface.html#Programmer_0027s-Interface-1">11.8 Programmer’s Interface</a></li>
+ <li><a name="toc-Adding-a-filter-to-Aspell-standard-distribution" href="Filter-Interface.html#Adding-a-filter-to-Aspell-standard-distribution">11.9 Adding a filter to Aspell standard distribution</a></li>
+ </ul></li>
+ <li><a name="toc-Filter-Modes-1" href="Filter-Modes.html#Filter-Modes">12 Filter Modes</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Aspell-Mode-File" href="Filter-Modes.html#Aspell-Mode-File">12.1 Aspell Mode File</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Version-Line" href="Filter-Modes.html#Version-Line">12.1.1 Version Line</a></li>
+ <li><a name="toc-Magic-Line" href="Filter-Modes.html#Magic-Line">12.1.2 Magic Line</a></li>
+ <li><a name="toc-Description-Line" href="Filter-Modes.html#Description-Line">12.1.3 Description Line</a></li>
+ <li><a name="toc-Filter-and-Option-Lines" href="Filter-Modes.html#Filter-and-Option-Lines">12.1.4 Filter and Option Lines</a></li>
+ </ul></li>
+ </ul></li>
+ <li><a name="toc-Data-Structures-1" href="Data-Structures.html#Data-Structures">13 Data Structures</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Vector" href="Data-Structures.html#Vector">13.1 Vector</a></li>
+ <li><a name="toc-BasicList" href="Data-Structures.html#BasicList">13.2 BasicList</a></li>
+ <li><a name="toc-StringMap" href="Data-Structures.html#StringMap">13.3 StringMap</a></li>
+ <li><a name="toc-Hash-Tables" href="Data-Structures.html#Hash-Tables">13.4 Hash Tables</a></li>
+ <li><a name="toc-BlockSList" href="Data-Structures.html#BlockSList">13.5 BlockSList</a></li>
+ </ul></li>
+ <li><a name="toc-Mk_002dSrc-Script-1" href="Mk_002dSrc-Script.html#Mk_002dSrc-Script">14 Mk-Src Script</a>
+ <ul class="no-bullet">
+ <li><a name="toc-mk_002dsrc_002ein" href="Mk_002dSrc-Script.html#mk_002dsrc_002ein">14.1 mk-src.in</a></li>
+ <li><a name="toc-MkSrc_003a_003aInfo" href="Mk_002dSrc-Script.html#MkSrc_003a_003aInfo">14.2 MkSrc::Info</a></li>
+ <li><a name="toc-MkSrc_003a_003aUtil" href="Mk_002dSrc-Script.html#MkSrc_003a_003aUtil">14.3 MkSrc::Util</a></li>
+ <li><a name="toc-MkSrc_003a_003aRead" href="Mk_002dSrc-Script.html#MkSrc_003a_003aRead">14.4 MkSrc::Read</a></li>
+ <li><a name="toc-MKSrc_003a_003aCreate" href="Mk_002dSrc-Script.html#MKSrc_003a_003aCreate">14.5 MKSrc::Create</a></li>
+ <li><a name="toc-Code-Generation-Modes" href="Mk_002dSrc-Script.html#Code-Generation-Modes">14.6 Code Generation Modes</a></li>
+ <li><a name="toc-MkSrc_003a_003aCcHelper" href="Mk_002dSrc-Script.html#MkSrc_003a_003aCcHelper">14.7 MkSrc::CcHelper</a></li>
+ </ul></li>
+ <li><a name="toc-How-It-All-Works-1" href="How-It-All-Works.html#How-It-All-Works">15 How It All Works</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Part-1-_002d-The-Compiled-Dictionary-Format" href="Part-1-_002d-Compiled-Dictionary-Format.html#Part-1-_002d-Compiled-Dictionary-Format">15.1 Part 1 - The Compiled Dictionary Format</a></li>
+ <li><a name="toc-Part-2-_002d-Quickly-Finding-Similar-Soundslike-1" href="Part-2-_002d-Quickly-Finding-Similar-Soundslike.html#Part-2-_002d-Quickly-Finding-Similar-Soundslike">15.2 Part 2 - Quickly Finding Similar Soundslike</a></li>
+ <li><a name="toc-Part-3-1" href="Part-3.html#Part-3">15.3 Part 3</a></li>
+ </ul></li>
+ <li><a name="toc-Copying-1" href="Copying.html#Copying">Appendix A Copying</a>
+ <ul class="no-bullet">
+ <li><a name="toc-GNU-Free-Documentation-License-1" href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License">A.1 GNU Free Documentation License</a>
+ <ul class="no-bullet">
+ <li><a name="toc-ADDENDUM_003a-How-to-use-this-License-for-your-documents" href="GNU-Free-Documentation-License.html#ADDENDUM_003a-How-to-use-this-License-for-your-documents">A.1.1 ADDENDUM: How to use this License for your documents</a></li>
+ </ul></li>
+ </ul></li>
+</ul>
</div>
-<h2 class="unnumbered">Notes</h2>
+<a name="Top"></a>
+<div class="header">
+<p>
+Next: <a href="Style-Guidelines.html#Style-Guidelines" accesskey="n" rel="next">Style Guidelines</a>, Previous: <a href="../dir/index.html" accesskey="p" rel="prev">(dir)</a>, Up: <a href="../dir/index.html" accesskey="u" rel="up">(dir)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<hr>
+<a name="Notes"></a>
+<h1 class="top">Notes</h1>
<p>This manual is designed for those who wish to develop Aspell. It is
-currently very sketchy. However, it should improve over time. The
-latest version of this document can be found at
-<a href="http://savannah.gnu.org/download/aspell/manual/devel/devel.html">http://savannah.gnu.org/download/aspell/manual/devel/devel.html</a>.
-
-<ul class="menu">
-<li><a accesskey="1" href="Style-Guidelines.html#Style-Guidelines">Style Guidelines</a>
-<li><a accesskey="2" href="How-to-Submit-a-Patch.html#How-to-Submit-a-Patch">How to Submit a Patch</a>
-<li><a accesskey="3" href="C_002b_002b-Standard-Library.html#C_002b_002b-Standard-Library">C++ Standard Library</a>
-<li><a accesskey="4" href="Templates.html#Templates">Templates</a>
-<li><a accesskey="5" href="Error-Handling.html#Error-Handling">Error Handling</a>
-<li><a accesskey="6" href="Source-Code-Layout.html#Source-Code-Layout">Source Code Layout </a>
-<li><a accesskey="7" href="Strings.html#Strings">Strings</a>
-<li><a accesskey="8" href="Smart-Pointers.html#Smart-Pointers">Smart Pointers</a>
-<li><a accesskey="9" href="I_002fO.html#I_002fO">I/O</a>
-<li><a href="Config-Class.html#Config-Class">Config Class</a>
-<li><a href="Filter-Interface.html#Filter-Interface">Filter Interface</a>
-<li><a href="Filter-Modes.html#Filter-Modes">Filter Modes</a>
-<li><a href="Data-Structures.html#Data-Structures">Data Structures</a>
-<li><a href="Mk_002dSrc-Script.html#Mk_002dSrc-Script">Mk-Src Script</a>
-<li><a href="How-It-All-Works.html#How-It-All-Works">How It All Works</a>
-<li><a href="Copying.html#Copying">Copying</a>
-</ul>
+currently very sketchy. However, it should improve over time.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="Style-Guidelines.html#Style-Guidelines" accesskey="1">Style Guidelines</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="How-to-Submit-a-Patch.html#How-to-Submit-a-Patch" accesskey="2">How to Submit a Patch</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="C_002b_002b-Standard-Library.html#C_002b_002b-Standard-Library" accesskey="3">C++ Standard Library</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Templates.html#Templates" accesskey="4">Templates</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Error-Handling.html#Error-Handling" accesskey="5">Error Handling</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Source-Code-Layout.html#Source-Code-Layout" accesskey="6">Source Code Layout</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Strings.html#Strings" accesskey="7">Strings</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Smart-Pointers.html#Smart-Pointers" accesskey="8">Smart Pointers</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="I_002fO.html#I_002fO" accesskey="9">I/O</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Config-Class.html#Config-Class">Config Class</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Filter-Interface.html#Filter-Interface">Filter Interface</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Filter-Modes.html#Filter-Modes">Filter Modes</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Data-Structures.html#Data-Structures">Data Structures</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Mk_002dSrc-Script.html#Mk_002dSrc-Script">Mk-Src Script</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="How-It-All-Works.html#How-It-All-Works">How It All Works</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Copying.html#Copying">Copying</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
+<hr>
+<div class="header">
+<p>
+Next: <a href="Style-Guidelines.html#Style-Guidelines" accesskey="n" rel="next">Style Guidelines</a>, Previous: <a href="../dir/index.html" accesskey="p" rel="prev">(dir)</a>, Up: <a href="../dir/index.html" accesskey="u" rel="up">(dir)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
- </body></html>
+</body>
+</html>
-This is aspell-dev.info, produced by makeinfo version 4.8 from
+This is aspell-dev.info, produced by makeinfo version 5.2 from
aspell-dev.texi.
- This is the developer's manual for Aspell.
+This is the developer’s manual for Aspell.
- Copyright (C) 2002, 2003, 2004, 2006 Kevin Atkinson.
+ Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
-
+ Foundation; with no Invariant Sections, no Front-Cover Texts and no
+ Back-Cover Texts. A copy of the license is included in the section
+ entitled "GNU Free Documentation License".
INFO-DIR-SECTION GNU Packages
START-INFO-DIR-ENTRY
* Aspell-dev: (aspell-dev). For Aspell developers
*****
This manual is designed for those who wish to develop Aspell. It is
-currently very sketchy. However, it should improve over time. The
-latest version of this document can be found at
-`http://savannah.gnu.org/download/aspell/manual/devel/devel.html'.
+currently very sketchy. However, it should improve over time.
* Menu:
-* Style Guidelines::
-* How to Submit a Patch::
-* C++ Standard Library::
-* Templates::
-* Error Handling::
-* Source Code Layout ::
-* Strings::
-* Smart Pointers::
-* I/O::
-* Config Class::
-* Filter Interface::
-* Filter Modes::
-* Data Structures::
-* Mk-Src Script::
+* Style Guidelines::
+* How to Submit a Patch::
+* C++ Standard Library::
+* Templates::
+* Error Handling::
+* Source Code Layout::
+* Strings::
+* Smart Pointers::
+* I/O::
+* Config Class::
+* Filter Interface::
+* Filter Modes::
+* Data Structures::
+* Mk-Src Script::
* How It All Works::
* Copying::
******************
* Style Guidelines:: * How to Submit a Patch:: * C++ Standard Library::
-* Templates:: * Error Handling:: * Source Code Layout :: * Strings:: *
+* Templates:: * Error Handling:: * Source Code Layout:: * Strings:: *
Smart Pointers:: * I/O:: * Config Class:: * Filter Interface:: * Filter
Modes:: * Data Structures:: * Mk-Src Script:: * How It All Works:: *
Copying::
2 How to Submit a Patch
***********************
-Bug reports and patches should be submitted via the Sourceforge Tracker
-at `http://sourceforge.net/tracker/?group_id=245' rather than being
-posted to any of the mailing lists.
+Bug reports and patches should be submitted via GitHub Issues at
+<https://github.com/GNUAspell/aspell/issues> rather than being posted to
+any of the mailing lists.
The mailing lists are good if you need to check something out or need
help or feedback from other readers, but they are not the best place to
3 C++ Standard Library
**********************
-The C++ Standard library is not used directly except under very
-specific circumstances. The string class and the STL are used
-indirectly through wrapper classes and all I/O is done using the
-standard C library with light right helper classes to make using C I/O
-a bit more C++ like.
+The C++ Standard library is not used directly except under very specific
+circumstances. The string class and the STL are used indirectly through
+wrapper classes and all I/O is done using the standard C library with
+light right helper classes to make using C I/O a bit more C++ like.
- However the `new', `new[]', `delete' and `delete[]' operators are
+ However the ‘new’, ‘new[]’, ‘delete’ and ‘delete[]’ operators are
used to allocate memory when appropriate.
\1f
are worth. Instead an alternate method of error handling is used which
is based around the PosibErr class. PosibErr is a special Error
handling device that will make sure that an error is properly handled.
-It is defined in `posib_err.hpp'. PosibErr is expected to be used as
-the return type of the function. It will automatically be converted to
-the "normal" return type however if the normal returned type is
-accessed and there is an "unhandled" error condition it will abort. It
-will also abort if the object is destroyed with an "unhandled" error
-condition. This includes ignoring the return type of a function
-returning an error condition. An error condition is handled by simply
-checking for the presence of an error, calling ignore, or taking
-ownership of the error.
+It is defined in ‘posib_err.hpp’. PosibErr is expected to be used as
+the return type of the function. It will automatically be converted to
+the "normal" return type however if the normal returned type is accessed
+and there is an "unhandled" error condition it will abort. It will also
+abort if the object is destroyed with an "unhandled" error condition.
+This includes ignoring the return type of a function returning an error
+condition. An error condition is handled by simply checking for the
+presence of an error, calling ignore, or taking ownership of the error.
The PosibErr class is used extensively throughout Aspell. Please
refer to the Aspell source for examples of using PosibErr until better
6 Source Code Layout
********************
-`common/'
+‘common/’
Common code used by all parts of Aspell.
-`lib/'
+‘lib/’
Library code used only by the actual Aspell library.
-`data/'
+‘data/’
Data files used by Aspell.
-`modules/'
+‘modules/’
Aspell modules which are eventually meant to be pluggable.
- `speller/'
-
- `default/'
+ ‘speller/’
+ ‘default/’
Main speller Module.
- `filter/'
+ ‘filter/’
- `tokenizer/'
+ ‘tokenizer/’
-`auto/'
+‘auto/’
Scripts and data files to automatically generate code used by
Aspell.
-`interface/'
+‘interface/’
Header files and such that external programs should use when in
order to use the Aspell library.
- `cc/'
+
+ ‘cc/’
The external C interface that programs should be using when
they wish to use Aspell.
-`prog/'
- Actual programs based on the Aspell library. The main Aspell
+‘prog/’
+ Actual programs based on the Aspell library. The main Aspell
utility is included here.
-`scripts/'
+‘scripts/’
Miscellaneous scripts used by Aspell.
-`manual/'
+‘manual/’
-`examples/'
+‘examples/’
Example programs demonstrating the use of the Aspell library.
\1f
7.1 String
==========
-The `String' class provided the same functionality of the C++ string
-except for fewer constructors. It also inherits `OStream' so that you
-can write to it with the `<<' operator. It is defined in `string.hpp'.
+The ‘String’ class provided the same functionality of the C++ string
+except for fewer constructors. It also inherits ‘OStream’ so that you
+can write to it with the ‘<<’ operator. It is defined in ‘string.hpp’.
7.2 ParmString
==============
ParmString is a special string class that is designed to be used as a
parameter for a function that is expecting a string. It is defined in
-`parm_string.hpp'. It will allow either a `const char *' or `String'
-class to be passed in. It will automatically convert to a `const char
-*'. The string can also be accessed via the `str' method. Usage
+‘parm_string.hpp’. It will allow either a ‘const char *’ or ‘String’
+class to be passed in. It will automatically convert to a ‘const char
+*’. The string can also be accessed via the ‘str’ method. Usage
example:
-
void foo(ParmString s1, ParmString s2) {
const char * str0 = s1;
unsigned int size0 = s2.size()
foo(s2);
This class should be used when a string is being passed in as a
-parameter. It is faster than using `const String &' (as that will
-create an unnecessary temporary when a `const char *' is passed in),
-and is less annoying than using `const char *' (as it doesn't require
-the `c_str()' method to be used when a `String' is passed in).
+parameter. It is faster than using ‘const String &’ (as that will
+create an unnecessary temporary when a ‘const char *’ is passed in), and
+is less annoying than using ‘const char *’ (as it doesn’t require the
+‘c_str()’ method to be used when a ‘String’ is passed in).
7.3 CharVector
==============
-A character vector is basically a `Vector<char>' but it has a few
-additional methods for dealing with strings which `Vector' does not
-provide. It, like `String', is also inherits `OStream' so that you can
-write to it with the `<<' operator. It is defined in
-`char_vector.hpp'. Use it when ever you need a string which is
-guaranteed to be in a continuous block of memory which you can write to.
+A character vector is basically a ‘Vector<char>’ but it has a few
+additional methods for dealing with strings which ‘Vector’ does not
+provide. It, like ‘String’, is also inherits ‘OStream’ so that you can
+write to it with the ‘<<’ operator. It is defined in ‘char_vector.hpp’.
+Use it when ever you need a string which is guaranteed to be in a
+continuous block of memory which you can write to.
\1f
File: aspell-dev.info, Node: Smart Pointers, Next: I/O, Prev: Strings, Up: Top
8.1 CopyPtr
===========
-The `CopyPtr' class makes a deep copy of an object whenever it is
-copied. The `CopyPtr' class is defined in `copy_ptr.hpp'. This header
-should be included wherever `CopyPtr' is used. The complete definition
-of the object `CopyPtr' is pointing to does not need to be defined at
-this point. The implementation is defined in `copy_ptr-t.hpp'. The
+The ‘CopyPtr’ class makes a deep copy of an object whenever it is
+copied. The ‘CopyPtr’ class is defined in ‘copy_ptr.hpp’. This header
+should be included wherever ‘CopyPtr’ is used. The complete definition
+of the object ‘CopyPtr’ is pointing to does not need to be defined at
+this point. The implementation is defined in ‘copy_ptr-t.hpp’. The
implementation header file should be included at a point in your code
-where the class `CopyPtr' is pointing to is completely defined.
+where the class ‘CopyPtr’ is pointing to is completely defined.
8.2 ClonePtr
============
-`ClonePtr' is like copy pointer except the `clone()' method is used
+‘ClonePtr’ is like copy pointer except the ‘clone()’ method is used
instead of the copy constructor to make copies of an object. If is
-defined in `clone_ptr.hpp' and implemented in `clone_ptr-t.hpp'.
+defined in ‘clone_ptr.hpp’ and implemented in ‘clone_ptr-t.hpp’.
8.3 StackPtr
============
-A `StackPtr' is designed to be used whenever the only pointer to a new
-object allocated with `new' is on the stack. It is similar to the
-standard C++ `auto_ptr' but the semantics are a bit different. It is
-defined in `stack_ptr.hpp' -- unlike `CopyPtr' or `ClonePtr' it is
+A ‘StackPtr’ is designed to be used whenever the only pointer to a new
+object allocated with ‘new’ is on the stack. It is similar to the
+standard C++ ‘auto_ptr’ but the semantics are a bit different. It is
+defined in ‘stack_ptr.hpp’ — unlike ‘CopyPtr’ or ‘ClonePtr’ it is
defined and implemented in this header file.
8.4 GenericCopyPtr
==================
-A generalized version of `CopyPtr' and `ClonePtr' which the two are
-based on. It is defined in `generic_copy_ptr.hpp' and implemented in
-`generic_copy_ptr-t.hpp'.
+A generalized version of ‘CopyPtr’ and ‘ClonePtr’ which the two are
+based on. It is defined in ‘generic_copy_ptr.hpp’ and implemented in
+‘generic_copy_ptr-t.hpp’.
\1f
File: aspell-dev.info, Node: I/O, Next: Config Class, Prev: Smart Pointers, Up: Top
Aspell does not use C++ I/O classes and functions in any way since they
do not provide a way to get at the underlying file number and can often
be slower than the highly tuned C I/O functions found in the standard C
-library. However, some lightweight wrapper classes are provided so
-that standard C I/O can be used in a more C++ like way.
+library. However, some lightweight wrapper classes are provided so that
+standard C I/O can be used in a more C++ like way.
9.1 IStream/OStream
===================
These two base classes mimic some of the functionally of the C++
functionally of the corresponding classes. They are defined in
-`istream.hpp' and `ostream.hpp' respectively. They are however based
-on standard C I/O and are not proper C++ streams.
+‘istream.hpp’ and ‘ostream.hpp’ respectively. They are however based on
+standard C I/O and are not proper C++ streams.
9.2 FStream
===========
-Defined in `fstream.hpp'.
+Defined in ‘fstream.hpp’.
9.3 Standard Streams
====================
-`CIN'/`COUT'/`CERR'. Defined in `iostream.hpp'.
+‘CIN’/‘COUT’/‘CERR’. Defined in ‘iostream.hpp’.
\1f
File: aspell-dev.info, Node: Config Class, Next: Filter Interface, Prev: I/O, Up: Top
10 Config Class
***************
-The `Config' class is used to hold configuration information. It has a
-set of keys which it will accept. Inserting or even trying to look at
-a key that it does not know will produce an error. It is defined in
-`common/config.hpp'.
+The ‘Config’ class is used to hold configuration information. It has a
+set of keys which it will accept. Inserting or even trying to look at a
+key that it does not know will produce an error. It is defined in
+‘common/config.hpp’.
\1f
File: aspell-dev.info, Node: Filter Interface, Next: Filter Modes, Prev: Config Class, Up: Top
In Aspell there are 5 types of filters:
1. _Decoders_ which take input in some standard format such as
- iso8859-1 or UTF-8 and convert it into a string of `FilterChars'.
-
- 2. _Decoding filters_ which manipulate a string of `FilterChars' by
+ iso8859-1 or UTF-8 and convert it into a string of ‘FilterChars’.
+ 2. _Decoding filters_ which manipulate a string of ‘FilterChars’ by
decoding the text is some way such as converting an SGML character
into its Unicode value.
-
- 3. _True filters_ which manipulate a string of `FilterChars' to make
- it more suitable for spell checking. These filters generally
- blank out text which should not be spell checked
-
- 4. _Encoding filters_ which manipulate a string of `FilterChars' by
+ 3. _True filters_ which manipulate a string of ‘FilterChars’ to make
+ it more suitable for spell checking. These filters generally blank
+ out text which should not be spell checked
+ 4. _Encoding filters_ which manipulate a string of ‘FilterChars’ by
encoding the text in some way such as converting certain Unicode
characters to SGML characters.
-
- 5. _Encoders_ which take a string of `FilterChars' and convert into a
+ 5. _Encoders_ which take a string of ‘FilterChars’ and convert into a
standard format such as iso8859-1 or UTF-8
Which types of filters are used depends on the situation
1. When _decoding words_ for spell checking:
- * The _decoder_ to convert from a standard format
-
- * The _decoding filter_ to perform high level decoding if
+ • The _decoder_ to convert from a standard format
+ • The _decoding filter_ to perform high level decoding if
necessary
-
- * The _encoder_ to convert into an internal format used by the
+ • The _encoder_ to convert into an internal format used by the
speller module
2. When _checking a document_
- * The _decoder_ to convert from a standard format
-
- * The _decoding filter_ to perform high level decoding if
+ • The _decoder_ to convert from a standard format
+ • The _decoding filter_ to perform high level decoding if
necessary
-
- * A _true filter_ to filter out parts of the document which
+ • A _true filter_ to filter out parts of the document which
should not be spell checked
-
- * The _encoder_ to convert into an internal format used by the
+ • The _encoder_ to convert into an internal format used by the
speller module
3. When _encoding words_ such as those returned for suggestions:
- * The _decoder_ to convert from the internal format used by the
+ • The _decoder_ to convert from the internal format used by the
speller module
-
- * The _encoding filter_ to perform high level encodings if
+ • The _encoding filter_ to perform high level encodings if
necessary
+ • The _encoder_ to convert into a standard format
- * The _encoder_ to convert into a standard format
-
- A `FilterChar' is a struct defined in `common/filter_char.hpp' which
+ A ‘FilterChar’ is a struct defined in ‘common/filter_char.hpp’ which
contains two members, a character, and a width. Its purpose is to keep
track of the width of the character in the original format. This is
important because when a misspelled word is found the exact location of
the word needs to be returned to the application so that it can
highlight it for the user. For example if the filters translated this:
-
Mr. foo said "I hate my namme".
to this
-
Mr. foo said "I hate my namme".
without keeping track of the original width of the characters the
-application will likely highlight `e my ' as the misspelling because
-the spell checker will return 25 as the offset instead of 30.
-However with keeping track of the width using `FilterChar' the spell
-checker will know that the real position is 30 since the quote is
-really 6 characters wide. In particular the text will be annotated
-something like the following:
-
+application will likely highlight ‘e my ’ as the misspelling because the
+spell checker will return 25 as the offset instead of 30. However with
+keeping track of the width using ‘FilterChar’ the spell checker will
+know that the real position is 30 since the quote is really 6 characters
+wide. In particular the text will be annotated something like the
+following:
1111111111111611111111111111161
Mr. foo said "I hate my namme".
The standard _encoder_ and _decoder_ filters are defined in
-`common/convert.cpp'. There should generally not be any need to deal
+‘common/convert.cpp’. There should generally not be any need to deal
with them so they will not be discussed here. The other three filters,
-the _encoding filter_, the _true filter_, and the _decoding filter_,
-are all defined the exact same way; they are inherited from the
-`IndividualFilter' class.
+the _encoding filter_, the _true filter_, and the _decoding filter_, are
+all defined the exact same way; they are inherited from the
+‘IndividualFilter’ class.
11.2 Adding a New Filter
========================
A new filter basically is added by placing the corresponding loadable
-object inside a directory reachable by Aspell via `filter-path' list.
+object inside a directory reachable by Aspell via ‘filter-path’ list.
Further it is necessary that the corresponding filter description file
-is located in one of the directories listed by the `option-path' list.
+is located in one of the directories listed by the ‘option-path’ list.
The name of the loadable object has to conform to the following
-convention `libfiltername-filter.so' where `filtername' stands for the
-name of the filter which is passed to Aspell by the `add-filter'
-option. The same applies to the filter description file which has to
-conform to the following naming scheme: `filtername-filter.opt'.
+convention ‘libfiltername-filter.so’ where ‘filtername’ stands for the
+name of the filter which is passed to Aspell by the ‘add-filter’ option.
+The same applies to the filter description file which has to conform to
+the following naming scheme: ‘filtername-filter.opt’.
To add a new loadable filter object create a new file.
- Basically the file should be a C++ file and end in `.cpp'. The file
-should contain a new filter class inherited from `IndividualFilter' and
-a constructor function called `new_filtertype' (see *Note Constructor
+ Basically the file should be a C++ file and end in ‘.cpp’. The file
+should contain a new filter class inherited from ‘IndividualFilter’ and
+a constructor function called ‘new_filtertype’ (see *note Constructor
Function::) returning a new filter object. Further it is necessary to
manually generate the filter description file. Finally the resulting
object has to be turned into a loadable filter object using libtool.
Alternatively a new filter may extend the functionality of an
-existing filter. In this case the new filter has to be derived form the
-corresponding valid filter class instead of the `IndividualFilter'
+existing filter. In this case the new filter has to be derived form the
+corresponding valid filter class instead of the ‘IndividualFilter’
class.
11.3 IndividualFilter class
===========================
-All filters are required to inherit from the `IndividualFilter' class
-found in `indiv_filter.hpp'. See that file for more details and the
+All filters are required to inherit from the ‘IndividualFilter’ class
+found in ‘indiv_filter.hpp’. See that file for more details and the
other filter modules for examples of how it is used.
11.4 Constructor Function
=========================
After the class is created a function must be created which will return
-a new filter allocated with `new'. The function must have the
-following prototype:
+a new filter allocated with ‘new’. The function must have the following
+prototype:
C_EXPORT IndividualFilter * new_aspell_FILTERNAME_FILTERTYPE
Filters are defined in groups where each group contains an _encoding
-filter_, a _true filter_, and a _decoding filter_ (see *Note Filter
+filter_, a _true filter_, and a _decoding filter_ (see *note Filter
Overview::). Only one of them is required to be defined, however they
all need a separate constructor function.
11.5 Filter Description File
============================
-This file contains the description of a filter which is loaded by
-Aspell immediately when the `add-filter' option is invoked. If this
-file is missing Aspell will complain about it. It consists of lines
-containing comments which must be started by a `#' character and lines
-containing key value pairs describing the filter. Each file at least
-has to contain the following two lines in the given order.
+This file contains the description of a filter which is loaded by Aspell
+immediately when the ‘add-filter’ option is invoked. If this file is
+missing Aspell will complain about it. It consists of lines containing
+comments which must be started by a ‘#’ character and lines containing
+key value pairs describing the filter. Each file at least has to
+contain the following two lines in the given order.
ASPELL >=0.60
DESCRIPTION this is short filter description
The first non blank, non comment line has to contain the keyword
-`ASPELL' followed by the version of Aspell which the filter is usable
+‘ASPELL’ followed by the version of Aspell which the filter is usable
with. To denote multiple Aspell versions the version number may be
-prefixed by ``<'', ``<='', ``='', ``>='' or ``>'. If the range prefix
-is omitted ``='' is assumed. The `DESCRIPTION' of the filter should be
-under 50, begin in lower case, and note include any trailing
-punctuation characters. The keyword `DESCRIPTION' may be abbreviated
-by `DESC'.
+prefixed by ‘‘<’’, ‘‘<=’’, ‘‘=’’, ‘‘>=’’ or ‘‘>’. If the range prefix
+is omitted ‘‘=’’ is assumed. The ‘DESCRIPTION’ of the filter should be
+under 50, begin in lower case, and note include any trailing punctuation
+characters. The keyword ‘DESCRIPTION’ may be abbreviated by ‘DESC’.
- For each filter feature (see *Note Filter Overview::) provided by the
+ For each filter feature (see *note Filter Overview::) provided by the
corresponding loadable object, the option file has to contain the
following line:
- STATIC `filtertype'
- `filtertype' stands for one of `decoder', `filter' or `encoder'
+ STATIC filtertype
+ ‘filtertype’ stands for one of ‘decoder’, ‘filter’ or ‘encoder’
denoting the entire filter type. This line allows to statically (see
-*Note Link Filters Static::) link the filter into Aspell if requested
-by the user or by the system Aspell is built for.
+*note Link Filters Static::) link the filter into Aspell if requested by
+the user or by the system Aspell is built for.
OPTION newoption
DESCRIPTION this is a short description of newoption
DEFAULT false
ENDOPTION
- An option is added by a line containing the keyword `OPTION'
-followed by the name of the option. If this name is not prefixed by
-the name of the filter Aspell will implicitly do that. For the
-`DESCRIPTION' of a filter option the same holds as for the filter
-description. The `TYPE' of the option may be one of `bool', `int',
-`string' or `list'. If the `TYPE' is omitted `bool' is assumed. The
-default value(s) for an option is specified via `DEFAULT' (short `DEF')
-followed by the desired `TYPE' dependent default value. The table
-*Note Filter Default Values:: shows the possible values for each `TYPE'.
+ An option is added by a line containing the keyword ‘OPTION’ followed
+by the name of the option. If this name is not prefixed by the name of
+the filter Aspell will implicitly do that. For the ‘DESCRIPTION’ of a
+filter option the same holds as for the filter description. The ‘TYPE’
+of the option may be one of ‘bool’, ‘int’, ‘string’ or ‘list’. If the
+‘TYPE’ is omitted ‘bool’ is assumed. The default value(s) for an option
+is specified via ‘DEFAULT’ (short ‘DEF’) followed by the desired ‘TYPE’
+dependent default value. The table *note Filter Default Values:: shows
+the possible values for each ‘TYPE’.
Type Default Available
bool true true false
string any printable string
list any comma separated list of strings
- Table 1. Shows the default values Aspell assumes if option
-`description' lacks a `DEFAULT' or `DEF' line.
+ Table 1. Shows the default values Aspell assumes if option
+‘description’ lacks a ‘DEFAULT’ or ‘DEF’ line.
- The `ENDOPTION' line may be omitted as it is assumed implicitly if a
-line containing `OPTION', `STATIC'.
+ The ‘ENDOPTION’ line may be omitted as it is assumed implicitly if a
+line containing ‘OPTION’, ‘STATIC’.
*Note* The keywords in a filter description file are case
insensitive. The above examples use the all uppercase for better
distinguishing them from values and comments. Further a filter
description may contain blank lines to enhance their readability.
- *Note* An option of `list' type may contain multiple consecutive
- lines for default values starting with `DEFAULT' or `DEF', to
+ *Note* An option of ‘list’ type may contain multiple consecutive
+ lines for default values starting with ‘DEFAULT’ or ‘DEF’, to
specify numerous default values.
11.6 Retrieve Options by a Filter
config->retrieve_bool("filter-filtername-newoption");
- The prefix `filter-' allows user to relate option uniquely to the
-specific filter when `filtername-newoption' ambiguous an existing
-option of Aspell. The `filtername' stands for the name of the filter
-the option belongs to and `-newoption' is the name of the option as
-specified in the corresponding `.opt' file (see *Note Filter
-Description File::
+ The prefix ‘filter-’ allows user to relate option uniquely to the
+specific filter when ‘filtername-newoption’ ambiguous an existing option
+of Aspell. The ‘filtername’ stands for the name of the filter the
+option belongs to and ‘-newoption’ is the name of the option as
+specified in the corresponding ‘.opt’ file (see *note Filter Description
+File::
11.7 Compiling and Linking
==========================
See a good book on Unix programming on how to turn the filter source
into a loadable object.
-11.8 Programmer's Interface
+11.8 Programmer’s Interface
===========================
-A more convenient way recommended, if filter is added to Aspell
-standard distribution to build a new filter is provided by Aspell's
-programmers interface for filter. It is provided by the
-`loadable-filter-API.hpp' file. Including this file gives access to a
-collection of macros hiding nasty details about runtime construction of
-a filter and about filter debugging. Table *Note Interface Macros::
-shows the macros provided by the interface. For details upon the
-entire macros see `loadable-filter-API.hpp'. An example on how to use
-these macros can be found at `examples/loadable/ccpp-context.hpp' and
-`examples/loadable/ccpp-context.cpp'.
+A more convenient way recommended, if filter is added to Aspell standard
+distribution to build a new filter is provided by Aspell’s programmers
+interface for filter. It is provided by the ‘loadable-filter-API.hpp’
+file. Including this file gives access to a collection of macros hiding
+nasty details about runtime construction of a filter and about filter
+debugging. Table *note Interface Macros:: shows the macros provided by
+the interface. For details upon the entire macros see
+‘loadable-filter-API.hpp’. An example on how to use these macros can be
+found at ‘examples/loadable/ccpp-context.hpp’ and
+‘examples/loadable/ccpp-context.cpp’.
Macro Type Description Notes
ACTIVATE_ENCODER M makes the entire do not call inside
new_<filtertype>
function;
ACTIVATE_DECODER M makes the entire _as above_
- decoding filter
- callable by Aspell
-ACTIVATE_FILTER M makes the entire filter _as above_
- callable by Aspell
+ decoding filter
+ callable by Aspell
+ACTIVATE_FILTER M makes the entire _as above_
+ filter callable by
+ Aspell
FDEBUGOPEN D Initialises the macros These macros are only
for debugging a filter active if the
- and opens the debug `FILTER_PROGRESS_CONTROL'
+ and opens the debug ‘FILTER_PROGRESS_CONTROL’
file stream macro is defined and
- denotes the name of the
- file debug messages
- should be sent to.
+ denotes the name of
+ the file debug
+ messages should be
+ sent to.
- If debugging should
- go to Aspell standard
- debugging output (right
- now stderr) use empty
- string constant as
- filename
-FDEBUGNOTOPEN D Same as "FDEBUGOPEN" but _as above_
- only if debug file
- stream was not opened
- yet
+ If debugging should go
+ to Aspell standard
+ debugging output
+ (right now stderr) use
+ empty string constant
+ as filename
+FDEBUGNOTOPEN D Same as “FDEBUGOPEN” _as above_
+ but only if debug file
+ stream was not opened
+ yet
FDEBUGCLOSE D closes the debugging _as above_
- device opened by
- "FDEBUGOPEN" and
- reverts it to "stderr";
-FDEBUG D prints the filename and _as above_
- the line number it
- occurs
+ device opened by
+ “FDEBUGOPEN” and
+ reverts it to
+ “stderr”;
+FDEBUG D prints the filename _as above_
+ and the line number it
+ occurs
FDEBUGPRINTF D special printf for _as above_
- debugging
+ debugging
- Table 2. Shows the macros provided by `loadable-filter-API.hpp' (*M*
+ Table 2. Shows the macros provided by ‘loadable-filter-API.hpp’ (*M*
mandatory, *D* debugging)
11.9 Adding a filter to Aspell standard distribution
====================================================
-Any filter which one day should be added to Aspell has to be built
-using the developer interface, described in *Note Programmer's
-Interface::. To add the filter the following steps have to be
-performed:
+Any filter which one day should be added to Aspell has to be built using
+the developer interface, described in *note Programmer's Interface::.
+To add the filter the following steps have to be performed:
1. Decide whether the filter should be kept loadable if possible, or
always be statically linked to Aspell.
- 2. Place the filter sources inside the entire directory of Aspell
- source tree. Right now use `$top_srcdir/modules/filter'.
+ 2. Place the filter sources inside the entire directory of Aspell
+ source tree. Right now use ‘$top_srcdir/modules/filter’.
- 3. Modify the `Makefile.am' file on the topmost directory of the
- Aspell distribution. Follow the instructions given by the
- `#Filter Modules' section.
+ 3. Modify the ‘Makefile.am’ file on the topmost directory of the
+ Aspell distribution. Follow the instructions given by the ‘#Filter
+ Modules’ section.
- 4. Run `autoconf', `automake', ...
+ 4. Run ‘autoconf’, ‘automake’, …
5. Reconfigure sources.
- 6. Clear away any remains of a previous build and rebuild sources.
+ 6. Clear away any remains of a previous build and rebuild sources.
- 7. Reinstall Aspell.
+ 7. Reinstall Aspell.
- 8. Test if filter has been added properly otherwise return to steps
- 2-7
+ 8. Test if filter has been added properly otherwise return to steps
+ 2–7
- 9. Reconfigure sources with `enable-static' flag and repeat steps 2-7
+ 9. Reconfigure sources with ‘enable-static’ flag and repeat steps 2–7
until your filter builds and runs properly in case of static
linkage.
- 10. Add your source files to cvs, and commit all your changes. Or in
- case you are not allowed to commit to cvs submit a patch (see
- *Note How to Submit a Patch::) containing your changes.
-
+ 10. Add your source files to cvs, and commit all your changes. Or in
+ case you are not allowed to commit to cvs submit a patch (see *note
+ How to Submit a Patch::) containing your changes.
\1f
File: aspell-dev.info, Node: Filter Modes, Next: Data Structures, Prev: Filter Interface, Up: Top
***************
Filter modes are the preferred way to specify combinations of filters
-which are used regularly and thus abbreviate Aspell's command line
+which are used regularly and thus abbreviate Aspell’s command line
arguments.
A new filter mode is specified by a file named like the filter new
-mode and prefixed by `.amf' (Aspell Mode File). If such a file is
+mode and prefixed by ‘.amf’ (Aspell Mode File). If such a file is
accessible by the path set via filter-path option Aspell will try to
load the contained mode specification.
12.1 Aspell Mode File
=====================
-The first key in the made file has be the `mode' key. It is checked
-against the mode name part of the .amf file. If the `mode' key is
+The first key in the made file has be the ‘mode’ key. It is checked
+against the mode name part of the .amf file. If the ‘mode’ key is
missing mode file will be rejected.
- The same holds for the `aspell' key which specifies the version(s)
-of Aspell which is(are) required by the filter.
+ The same holds for the ‘aspell’ key which specifies the version(s) of
+Aspell which is(are) required by the filter.
- If these two keys are followed by at least one `magic' key Aspell
+ If these two keys are followed by at least one ‘magic’ key Aspell
will be able to select the entire mode from extension and if required
from contents of the file to spell implicitly.
- The last key of the required keys is the `des[c[ription]]' key. It
+ The last key of the required keys is the ‘des[c[ription]]’ key. It
gives a short description of the filter mode which will displayed when
-type `aspell help'.
+type ‘aspell help’.
- The rest of the file consists of the keys `filter' and `option' to
+ The rest of the file consists of the keys ‘filter’ and ‘option’ to
load filters are set various options.
12.1.1 Version Line
-------------------
-Each version line must start with `aspell' and be followed by a
-version, optionally prefixed by a relational operator. The relation
-operator can be one of `<', `<=', `=', `>=' or '>' for allowing Aspell
-version with version number being lower, lower or equal, equal to,
-greater or equal or greater than required version number, respectfully.
-If the relation operator is omitted `=' is assumed.
+Each version line must start with ‘aspell’ and be followed by a version,
+optionally prefixed by a relational operator. The relation operator can
+be one of ‘<’, ‘<=’, ‘=’, ‘>=’ or ’>’ for allowing Aspell version with
+version number being lower, lower or equal, equal to, greater or equal
+or greater than required version number, respectfully. If the relation
+operator is omitted ‘=’ is assumed.
12.1.2 Magic Line
-----------------
The magic line contains a description which requirements files have to
fulfill in order to implicitly activate the entire mode at least one
such line is required. Each magic line has the following format:
- MAGIC /<magic key>/<fileextention>[/<fileextention>]
+ MAGIC /<magic key>/<fileextension>[/<fileextension>]
- The magic key consist of three `:' separated fields. The first two
+ The magic key consist of three ‘:’ separated fields. The first two
are byte counts the last is a regular expression. The first byte count
indicates the first byte the regular expression will be applied to the
second byte count indicates the number of bytes to test against the
regular expression.
If mode selection should only occurred on basis of the listed file
-extensions the magic key should consist of the "<noregex>" special
+extensions the magic key should consist of the “<noregex>” special
string.
- At least one <fileextention> is required per MAGIC line.
-<fileextention> may not be empty and should not contain a leading `.'
-as this is assumed implicitly.
+ At least one <fileextension> is required per MAGIC line.
+<fileextension> may not be empty and should not contain a leading ‘.’ as
+this is assumed implicitly.
- Multiple MAGIC lines are allowed. Modes may be extended limited by
-additional <label>.amf files located in -filter-path Thus file
-extensions may be prefixed by `+' or `-' to indicate that the entire
+ Multiple MAGIC lines are allowed. Modes may be extended limited by
+additional <label>.amf files located in –filter-path Thus file
+extensions may be prefixed by ‘+’ or ‘-’ to indicate that the entire
extension has to be added ore removed from this <magic key> if neither
-is specified than a `+' is assumed implicitly.
+is specified than a ‘+’ is assumed implicitly.
12.1.3 Description Line
-----------------------
-The required description line will be printed when typing `aspell
-help'. Keep it as short as possible. Possible abbreviations are `des'
-and `desc'.
+The required description line will be printed when typing ‘aspell help’.
+Keep it as short as possible. Possible abbreviations are ‘des’ and
+‘desc’.
12.1.4 Filter and Option Lines
------------------------------
-The `filter' and `option' keys load filters and set filter options.
+The ‘filter’ and ‘option’ keys load filters and set filter options.
- The value of the `filter' key is equal to the value of Aspell's
-`[add|rem]-filter' option.
+ The value of the ‘filter’ key is equal to the value of Aspell’s
+‘[add|rem]-filter’ option.
- Each `option' line has the following format:
+ Each ‘option’ line has the following format:
OPTION <option> [<value>]
- The format of the <option> and <value> is the same format as found
-in the Aspell configuration file.
+ The format of the <option> and <value> is the same format as found in
+the Aspell configuration file.
\1f
File: aspell-dev.info, Node: Data Structures, Next: Mk-Src Script, Prev: Filter Modes, Up: Top
13.1 Vector
===========
-The `vector' class is defined in `vector.hpp' and works the same way as
-the standard STL `vector' does except that it doesn't have as many
+The ‘vector’ class is defined in ‘vector.hpp’ and works the same way as
+the standard STL ‘vector’ does except that it doesn’t have as many
constructors.
13.2 BasicList
==============
-`BasicList' is a simple list structure which can either be implemented
-as a singly or doubly linked list. It is defined in `basic_list.hpp'.
+‘BasicList’ is a simple list structure which can either be implemented
+as a singly or doubly linked list. It is defined in ‘basic_list.hpp’.
13.3 StringMap
==============
-`StringMap' is a associative array for strings. You should try to use
+‘StringMap’ is a associative array for strings. You should try to use
this when ever possible to avoid code bloat. It is defined in
-`string_map.hpp'.
+‘string_map.hpp’.
13.4 Hash Tables
================
-Several hash tables are provided when `StringMap' is not appropriate.
-These hash tables provide a `hash_set', `hash_multiset', `hash_map' and
-`hash_multimap' which are very similar to SGI's STL implementation with
-a few exceptions. It is defined in `hash.hpp'.
+Several hash tables are provided when ‘StringMap’ is not appropriate.
+These hash tables provide a ‘hash_set’, ‘hash_multiset’, ‘hash_map’ and
+‘hash_multimap’ which are very similar to SGI’s STL implementation with
+a few exceptions. It is defined in ‘hash.hpp’.
13.5 BlockSList
===============
-`BlockSList' provided a pool of nodes which can be used for singly
-linked lists. It is defined in `block_slist.hpp'.
+‘BlockSList’ provided a pool of nodes which can be used for singly
+linked lists. It is defined in ‘block_slist.hpp’.
\1f
File: aspell-dev.info, Node: Mk-Src Script, Next: How It All Works, Prev: Data Structures, Up: Top
****************
A good deal of interface code is automatically generated by the
-`mk-src.pl' Perl script. I am doing it this way to avoid having to
+‘mk-src.pl’ Perl script. I am doing it this way to avoid having to
write a lot of relative code for the C++ interface. This should also
make adding interface for other languages a lot less tedious and will
allow the interface to automatically take advantage of new Aspell
-functionality as it is made available. The `mk-src.pl' script uses
-`mk-src.in' as its input.
+functionality as it is made available. The ‘mk-src.pl’ script uses
+‘mk-src.in’ as its input.
14.1 mk-src.in
==============
NOTE: This section may not always be up to date since it is manually
converted from the pod source.
- The format of `mk-src.in' is as follows:
-
+ The format of ‘mk-src.in’ is as follows:
The following characters are literals: { } / '\ ' \n = >
14.2 MkSrc::Info
================
-`%info'
+‘%info’
The info array contains information on how to process the info in
-`mk-src.pl'. It has the following layout
-
+‘mk-src.pl’. It has the following layout
<catagory> => options => []
groups => [] # if undef than anything is accepted
creates_type => "" # the object will create a new type
# as specified
proc => <impl type> => sub {}
- where <impl type> is one of:
-
+ where <impl type> is one of:
cc: for "aspell.h" header file
cxx: for C++ interface implemented on top of cc interface
native: for creation of header files used internally by aspell
the definations use the native hedaer files
native_impl: for implementations of stuff declared in the native
header files
- each proc sub should take the following argv
-
+ each proc sub should take the following argv
$data: a subtree of $master_data
$accum:
- <options> is one of:
-
+ <options> is one of:
desc: description of the object
prefix:
posib err: the method may return an error condition
cxx impl: use this as the cxx impl instead of the default
returns alt type: the constructor returns some type other than
the object from which it is a member of
- no native: do not attemt to create a native implementation
+ no native: do not attempt to create a native implementation
treat as object: treat as a object rather than a pointer
- The `%info' structure is initialized as follows:
-
+ The ‘%info’ structure is initialized as follows:
our %info =
(
root => {
options => [],
groups => undef},
);
- In addition to the categories listed above a "methods" category by
-be specified in under the class category. A "methods" category is
-created for each methods group under the name "<methods name>
-methods". When groups is undefined a type name may be specified in
-place of a category.
-
- `%types'
+ In addition to the categories listed above a “methods” category by be
+specified in under the class category. A “methods” category is created
+for each methods group under the name “<methods name> methods”. When
+groups is undefined a type name may be specified in place of a category.
- types contains a master list of all types. This includes basic types
-and ones created in `mk-src.in'. The basic types include:
+ ‘%types’
+ types contains a master list of all types. This includes basic types
+and ones created in ‘mk-src.in’. The basic types include:
'void', 'bool', 'pointer', 'double',
'string', 'encoded string', 'string obj',
'char', 'unsigned char',
'long', 'unsigned long'
%methods
- `%methods' is used for holding the "methods" information
+ ‘%methods’ is used for holding the “methods” information
14.3 MkSrc::Util
================
This module contains various useful utility functions:
-`false'
+‘false’
Returns 0.
-`true'
+‘true’
Returns 1.
-`cmap EXPR LIST'
+‘cmap EXPR LIST’
Apply EXPR to each item in LIST and than concatenate the result
- into a string
+ into a string
-`one_of STR LIST'
+‘one_of STR LIST’
Returns true if LIST contains at least one of STR.
-`to_upper STR'
+‘to_upper STR’
Convert STR to all uppercase and substitute spaces with
underscores.
-`to_lower STR'
+‘to_lower STR’
Convert STR to all lowercase and substitute spaces with
underscores.
-`to_mixed STR'
+‘to_mixed STR’
Convert STR to mixed case where each new word startes with a
- uppercase letter. For example "feed me" would become "FeedMe".
+ uppercase letter. For example "feed me" would become "FeedMe".
14.4 MkSrc::Read
================
-`read' Read in `mk-src.in' and return a data structure which
-has the following format:
-
+‘read’ Read in ‘mk-src.in’ and return a data structure which has the
+following format:
<tree>
<tree> := <options>
data => <tree>
14.5 MKSrc::Create
==================
-`create_cc_file PARMS'
+‘create_cc_file PARMS’
Create a source file.
Required Parms: type, dir, name, data
Boolean Parms: header, cxx
Optional Parms: namespace (required if cxx), pre_ext,
accum
-`create_file FILENAME DATA'
+‘create_file FILENAME DATA’
Writes DATA to FILENAME but only if DATA differs from the content
- of the file and the string:
+ of the file and the string:
Automatically generated file.
is present in the existing file if it already exists.
c_error_cond ITEM
.
-`make_func NAME @TYPES PARMS ; %ACCUM'
+‘make_func NAME @TYPES PARMS ; %ACCUM’
Creates a function prototype
Parms can be any of:
mode: code generation mode
-`call_func NAME @TYPES PARMS ; %ACCUM'
- Return a string to call a func. Will prefix the function with
- return if the functions returns a non-void type;
+‘call_func NAME @TYPES PARMS ; %ACCUM’
+ Return a string to call a func. Will prefix the function with
+ return if the functions returns a non-void type;
Parms can be any of:
mode: code generation mode
-`to_type_name ITEM PARMS ; %ACCUM'
+‘to_type_name ITEM PARMS ; %ACCUM’
Converts item into a type name.
Parms can be any of:
use_name: include the name on the type
pos: either "return" or "other"
-`make_desc DESC ; LEVEL'
+‘make_desc DESC ; LEVEL’
Make a C comment out of DESC optionally indenting it LEVEL spaces.
-`make_c_method CLASS ITEM PARMS ; %ACCUM'
+‘make_c_method CLASS ITEM PARMS ; %ACCUM’
Create the phototype for a C method which is really a function.
Parms is any of:
this_name: name for the parameter representing the
current object
-`call_c_method CLASS ITEM PARMS ; %ACCUM'
+‘call_c_method CLASS ITEM PARMS ; %ACCUM’
Like make_c_method but instead returns the appropriate string to
- call the function. If the function returns a non-void type
- the string will be prefixed with a return statement.
+ call the function. If the function returns a non-void type the
+ string will be prefixed with a return statement.
-`form_c_method CLASS ITEM PARMS ; %ACCUM'
+‘form_c_method CLASS ITEM PARMS ; %ACCUM’
Like make_c_method except that it returns the array:
($func, $data, $parms, $accum)
- which is suitable for passing into make_func. It will return an
- empty array if it can not make a method from ITEM.
+ which is suitable for passing into make_func. It will return an
+ empty array if it can not make a method from ITEM.
-`make_cxx_method ITEM PARMS ; %ACCUM'
+‘make_cxx_method ITEM PARMS ; %ACCUM’
Create the phototype for a C++ method.
Parms is one of:
*******************
The details of how Aspell really works is a mystery to most users who
-want to participate in developing and improving Aspell, so it is best
-to fully explain Aspell's core algorithms and data structures to you.
+want to participate in developing and improving Aspell, so it is best to
+fully explain Aspell’s core algorithms and data structures to you.
In explaining these, it is hoped to bring prospective developers up
to speed more quickly and also help you understand the amount of thought
============================================
In this part you will see how the data is laid out in the compiled
-dictionary for Aspell 0.60. See source file `readonly_ws.cpp'.
-
- Aspell's main compiled wordlist dictionary file is made as follows:
-
- * header
-
- * jump table for editdist 1
-
- * jump table for editdist 2
+dictionary for Aspell 0.60. See source file ‘readonly_ws.cpp’.
- * data block
+ Aspell’s main compiled wordlist dictionary file is made as follows:
- * hash table
+ • header
+ • jump table for editdist 1
+ • jump table for editdist 2
+ • data block
+ • hash table
There is nothing particularly interesting about the header. Just a
bunch of meta information.
- The jump tables are described in the next section ...
+ The jump tables are described in the next section …
Words in the data block are grouped based on the soundslike. Each
group is as follows:
group in the dictionary is 0.
There is some provisions for additional info to be stored with the
-word but for simplicity, it's left out here. If soundslike data is not
+word but for simplicity, it’s left out here. If soundslike data is not
used then the soundslike block it not used.
This format makes it easy to iterate over the data without using the
hash table.
Each soundslike group can be a maximum of about 256 bytes. If this
-limit is reached then the soundslike group is split. Using 2 bytes for
+limit is reached then the soundslike group is split. Using 2 bytes for
the soundslike offset would of solved this problem however 256 bytes is
-normally sufficient, thus I would of wasted some space by using an
-extra byte. More importantly, Using 2 bytes means I would of had to
-worry about alignment issues.
+normally sufficient, thus I would of wasted some space by using an extra
+byte. More importantly, Using 2 bytes means I would of had to worry
+about alignment issues.
The soundslike groups are sorted in more or less alphabetic order.
dictionary word in all lowercase form with all accents removed (what is
known as the "clean" form of the word). The value stored in the table
is a 32-bit offset to the beginning of the word. A 32-bit integer
-offset is used rather than a pointer so that the compiled dictionary
-can be mmaped to make loading the dictionary very fast and so that the
+offset is used rather than a pointer so that the compiled dictionary can
+be mmaped to make loading the dictionary very fast and so that the
memory can be shared between processed, and on 64 bit platforms using
pointers would have doubled the size of the hash table.
In order for Aspell to find suggestions for a misspelled word Aspell 1)
creates a list of candidate words, 2) scores them, and 3) returns the
-most likely candidates. One of the ways Aspell finds candidate words
-is to look for all words with a soundslike which is of a small edit
-distance from the soundslike of the original word. The edit distance
-is the total number of deletions, insertions, exchanges, or adjacent
-swaps needed to make one string equivalent to the other. The exact
-distance chosen is either 1 or 2 depending on a number of factors. In
-this part I will focus on how Aspell find all such soundslike
-efficiently and how the jump tables play a key role.
+most likely candidates. One of the ways Aspell finds candidate words is
+to look for all words with a soundslike which is of a small edit
+distance from the soundslike of the original word. The edit distance is
+the total number of deletions, insertions, exchanges, or adjacent swaps
+needed to make one string equivalent to the other. The exact distance
+chosen is either 1 or 2 depending on a number of factors. In this part
+I will focus on how Aspell find all such soundslike efficiently and how
+the jump tables play a key role.
This section will focus on how Aspell finds all such soundslike
efficiently and how the jump tables play a key role.
The naive way to scan the list for all possible soundslike is to
-compute the edit-distance of every soundslike in the dictionary and
-then keep the ones within the threshold. This is exactly what Aspell
-did prior to 0.60. before a faster method was created. When a fast
-enough edit distance function is used this method turns out not to be
+compute the edit-distance of every soundslike in the dictionary and then
+keep the ones within the threshold. This is exactly what Aspell did
+prior to 0.60. before a faster method was created. When a fast enough
+edit distance function is used this method turns out not to be
unbearably slow, at least for English, but for other languages, with
large word lists and no soundslike, this can be slow due to the number
of items that need to be scanned.
However the algorithm used also allows for swaps and is not
recursive. Specialized versions are provided for an edit distance of
one and two. The running time is asymptotically bounded above by
-`(3^l)*n' where `l' is the limit and `n' is the maximum of
-`strlen(A),strlen(B)'. Based on informal tests, the `n' does not
-really matter and the running time is more like `(3^l)'.
+‘(3^l)*n’ where ‘l’ is the limit and ‘n’ is the maximum of
+‘strlen(A),strlen(B)’. Based on informal tests, the ‘n’ does not really
+matter and the running time is more like ‘(3^l)’.
- For complete details on this algorithm see the files `leditdist.hpp'
-and `leditdist.cpp' in the source distribution under
-`modules/speller/default'.
+ For complete details on this algorithm see the files ‘leditdist.hpp’
+and ‘leditdist.cpp’ in the source distribution under
+‘modules/speller/default’.
- So, by exploiting the properties of `limit_edit_distance' it is
+ So, by exploiting the properties of ‘limit_edit_distance’ it is
possible to avoid having to look at many of the soundslikes in the
-dictionary. `Limit_edit_distance' is efficient because in many cases,
-it does not have to look at the entire word before it can determine
-that it isn't within the given threshold, and then by having it return
-the last position looked at, _p_, it is possible to avoid having to
-look at similar soundslike which are not within the threshold. That
-is, if two soundslike are the same up to the position `p', then neither
-of them are within the given threshold.
+dictionary. ‘Limit_edit_distance’ is efficient because in many cases,
+it does not have to look at the entire word before it can determine that
+it isn’t within the given threshold, and then by having it return the
+last position looked at, _p_, it is possible to avoid having to look at
+similar soundslike which are not within the threshold. That is, if two
+soundslike are the same up to the position ‘p’, then neither of them are
+within the given threshold.
Aspell 0.60 exploits this property by using jump tables. Each entry
-in the jump table contains two fields: the first `N' letters of a
+in the jump table contains two fields: the first ‘N’ letters of a
soundslike, and an offset. The entries are sorted in lexicographic
order based on the raw byte value. Aspell maintains two jump tables.
the offset points to the location of the soundslike in the data block.
The soundslike in the datablock are sorted so that a linear scan can be
used to find all soundslike with the same prefix. If the
-`limit_edit_distance' stops before reaching the end of a _"soundslike"_
-in one of the jump tables then it is possible to skip all the
-soundslike in the data block with the same prefix.
+‘limit_edit_distance’ stops before reaching the end of a _"soundslike"_
+in one of the jump tables then it is possible to skip all the soundslike
+in the data block with the same prefix.
- Thus, the scan for all _soundslike_ within a given edit distance
-goes something like this:
+ Thus, the scan for all _soundslike_ within a given edit distance goes
+something like this:
1. Compare the entry in the first jump table using
- `limit_edit_distance'. If the `limit_edit_distance' scanned
- passed the end of the word, then go to the first entry in the
- second jump table with the same prefix, otherwise go to the next
- entry in the first jump table and repeat.
+ ‘limit_edit_distance’. If the ‘limit_edit_distance’ scanned passed
+ the end of the word, then go to the first entry in the second jump
+ table with the same prefix, otherwise go to the next entry in the
+ first jump table and repeat.
2. Compare the entry in the second jump table. If the
- `limit_edit_distance' passed the end of the word, then go to the
- first _soundslike_ in the data block with this prefix, otherwise
- if the first two letters of the next entry are the same as the
- current one go to it and repeat. If the first two letters are not
- the same then go to the next entry in the first jump table and
- repeat step 1.
+ ‘limit_edit_distance’ passed the end of the word, then go to the
+ first _soundslike_ in the data block with this prefix, otherwise if
+ the first two letters of the next entry are the same as the current
+ one go to it and repeat. If the first two letters are not the same
+ then go to the next entry in the first jump table and repeat step
+ 1.
3. Compare the _soundslike_ in the data block. If the edit distance
is within the target distance, then add the word to the candidate
- list, otherwise don't. Let `N' be the position where
- `limit_edit_distance' stopped, (starting at 0). If `N' is less
- than 6, then skip over any soundslike that have the same first `N
- + 1' letters. If after skipping over any similar _soundslike_ the
+ list, otherwise don’t. Let ‘N’ be the position where
+ ‘limit_edit_distance’ stopped, (starting at 0). If ‘N’ is less
+ than 6, then skip over any soundslike that have the same first ‘N +
+ 1’ letters. If after skipping over any similar _soundslike_ the
next _soundslike_ does not have the same first three letters, then
go to the next entry in the second jump table and repeat step 2,
otherwise repeat this step with the next _soundslike_.
+ The part of skipping over _soundslike_ with the first ‘N + 1’ letters
+in step 3 were added in Aspell 0.60.3. The function responsible for
+most of this is found in function
+‘ReadOnlyDict::SoundslikeElements::next’ which is found in file
+‘readonly_ws.cpp’.
- The part of skipping over _soundslike_ with the first `N + 1'
-letters in step 3 were added in Aspell 0.60.3. The function
-responsible for most of this is found in function
-`ReadOnlyDict::SoundslikeElements::next' which is found in file
-`readonly_ws.cpp'.
-
- The next part will describe how Aspell deals with _soundslike_
-lookup when affix compression is involved.
+ The next part will describe how Aspell deals with _soundslike_ lookup
+when affix compression is involved.
\1f
File: aspell-dev.info, Node: Part 3, Next: Copying, Prev: Part 2 - Quickly Finding Similar Soundslike, Up: How It All Works
Appendix A Copying
******************
-Copyright (C) 2002, 2003, 2004, 2006 Kevin Atkinson.
+Copyright © 2002, 2003, 2004, 2006 Kevin Atkinson.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1 or
Version 1.2, November 2002
- Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
+ Copyright © 2000,2001,2002 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
Everyone is permitted to copy and distribute verbatim copies
author and publisher a way to get credit for their work, while not
being considered responsible for modifications made by others.
- This License is a kind of "copyleft", which means that derivative
+ This License is a kind of “copyleft”, which means that derivative
works of the document must themselves be free in the same sense.
It complements the GNU General Public License, which is a copyleft
license designed for free software.
free program should come with manuals providing the same freedoms
that the software does. But this License is not limited to
software manuals; it can be used for any textual work, regardless
- of subject matter or whether it is published as a printed book.
- We recommend this License principally for works whose purpose is
+ of subject matter or whether it is published as a printed book. We
+ recommend this License principally for works whose purpose is
instruction or reference.
1. APPLICABILITY AND DEFINITIONS
This License applies to any manual or other work, in any medium,
- that contains a notice placed by the copyright holder saying it
- can be distributed under the terms of this License. Such a notice
+ that contains a notice placed by the copyright holder saying it can
+ be distributed under the terms of this License. Such a notice
grants a world-wide, royalty-free license, unlimited in duration,
to use that work under the conditions stated herein. The
- "Document", below, refers to any such manual or work. Any member
- of the public is a licensee, and is addressed as "you". You
- accept the license if you copy, modify or distribute the work in a
- way requiring permission under copyright law.
+ “Document”, below, refers to any such manual or work. Any member
+ of the public is a licensee, and is addressed as “you”. You accept
+ the license if you copy, modify or distribute the work in a way
+ requiring permission under copyright law.
- A "Modified Version" of the Document means any work containing the
+ A “Modified Version” of the Document means any work containing the
Document or a portion of it, either copied verbatim, or with
modifications and/or translated into another language.
- A "Secondary Section" is a named appendix or a front-matter section
+ A “Secondary Section” is a named appendix or a front-matter section
of the Document that deals exclusively with the relationship of the
- publishers or authors of the Document to the Document's overall
+ publishers or authors of the Document to the Document’s overall
subject (or to related matters) and contains nothing that could
fall directly within that overall subject. (Thus, if the Document
is in part a textbook of mathematics, a Secondary Section may not
of legal, commercial, philosophical, ethical or political position
regarding them.
- The "Invariant Sections" are certain Secondary Sections whose
- titles are designated, as being those of Invariant Sections, in
- the notice that says that the Document is released under this
- License. If a section does not fit the above definition of
- Secondary then it is not allowed to be designated as Invariant.
- The Document may contain zero Invariant Sections. If the Document
- does not identify any Invariant Sections then there are none.
+ The “Invariant Sections” are certain Secondary Sections whose
+ titles are designated, as being those of Invariant Sections, in the
+ notice that says that the Document is released under this License.
+ If a section does not fit the above definition of Secondary then it
+ is not allowed to be designated as Invariant. The Document may
+ contain zero Invariant Sections. If the Document does not identify
+ any Invariant Sections then there are none.
- The "Cover Texts" are certain short passages of text that are
+ The “Cover Texts” are certain short passages of text that are
listed, as Front-Cover Texts or Back-Cover Texts, in the notice
that says that the Document is released under this License. A
Front-Cover Text may be at most 5 words, and a Back-Cover Text may
be at most 25 words.
- A "Transparent" copy of the Document means a machine-readable copy,
+ A “Transparent” copy of the Document means a machine-readable copy,
represented in a format whose specification is available to the
general public, that is suitable for revising the document
- straightforwardly with generic text editors or (for images
- composed of pixels) generic paint programs or (for drawings) some
- widely available drawing editor, and that is suitable for input to
- text formatters or for automatic translation to a variety of
- formats suitable for input to text formatters. A copy made in an
- otherwise Transparent file format whose markup, or absence of
- markup, has been arranged to thwart or discourage subsequent
- modification by readers is not Transparent. An image format is
- not Transparent if used for any substantial amount of text. A
- copy that is not "Transparent" is called "Opaque".
+ straightforwardly with generic text editors or (for images composed
+ of pixels) generic paint programs or (for drawings) some widely
+ available drawing editor, and that is suitable for input to text
+ formatters or for automatic translation to a variety of formats
+ suitable for input to text formatters. A copy made in an otherwise
+ Transparent file format whose markup, or absence of markup, has
+ been arranged to thwart or discourage subsequent modification by
+ readers is not Transparent. An image format is not Transparent if
+ used for any substantial amount of text. A copy that is not
+ “Transparent” is called “Opaque”.
Examples of suitable formats for Transparent copies include plain
ASCII without markup, Texinfo input format, LaTeX input format,
- SGML or XML using a publicly available DTD, and
- standard-conforming simple HTML, PostScript or PDF designed for
- human modification. Examples of transparent image formats include
- PNG, XCF and JPG. Opaque formats include proprietary formats that
- can be read and edited only by proprietary word processors, SGML or
- XML for which the DTD and/or processing tools are not generally
- available, and the machine-generated HTML, PostScript or PDF
- produced by some word processors for output purposes only.
-
- The "Title Page" means, for a printed book, the title page itself,
+ SGML or XML using a publicly available DTD, and standard-conforming
+ simple HTML, PostScript or PDF designed for human modification.
+ Examples of transparent image formats include PNG, XCF and JPG.
+ Opaque formats include proprietary formats that can be read and
+ edited only by proprietary word processors, SGML or XML for which
+ the DTD and/or processing tools are not generally available, and
+ the machine-generated HTML, PostScript or PDF produced by some word
+ processors for output purposes only.
+
+ The “Title Page” means, for a printed book, the title page itself,
plus such following pages as are needed to hold, legibly, the
material this License requires to appear in the title page. For
- works in formats which do not have any title page as such, "Title
- Page" means the text near the most prominent appearance of the
- work's title, preceding the beginning of the body of the text.
+ works in formats which do not have any title page as such, “Title
+ Page” means the text near the most prominent appearance of the
+ work’s title, preceding the beginning of the body of the text.
- A section "Entitled XYZ" means a named subunit of the Document
+ A section “Entitled XYZ” means a named subunit of the Document
whose title either is precisely XYZ or contains XYZ in parentheses
following text that translates XYZ in another language. (Here XYZ
stands for a specific section name mentioned below, such as
- "Acknowledgements", "Dedications", "Endorsements", or "History".)
- To "Preserve the Title" of such a section when you modify the
- Document means that it remains a section "Entitled XYZ" according
+ “Acknowledgements”, “Dedications”, “Endorsements”, or “History”.)
+ To “Preserve the Title” of such a section when you modify the
+ Document means that it remains a section “Entitled XYZ” according
to this definition.
The Document may include Warranty Disclaimers next to the notice
may not use technical measures to obstruct or control the reading
or further copying of the copies you make or distribute. However,
you may accept compensation in exchange for copies. If you
- distribute a large enough number of copies you must also follow
- the conditions in section 3.
+ distribute a large enough number of copies you must also follow the
+ conditions in section 3.
You may also lend copies, under the same conditions stated above,
and you may publicly display copies.
If you publish printed copies (or copies in media that commonly
have printed covers) of the Document, numbering more than 100, and
- the Document's license notice requires Cover Texts, you must
+ the Document’s license notice requires Cover Texts, you must
enclose the copies in covers that carry, clearly and legibly, all
these Cover Texts: Front-Cover Texts on the front cover, and
Back-Cover Texts on the back cover. Both covers must also clearly
and legibly identify you as the publisher of these copies. The
- front cover must present the full title with all words of the
- title equally prominent and visible. You may add other material
- on the covers in addition. Copying with changes limited to the
- covers, as long as they preserve the title of the Document and
- satisfy these conditions, can be treated as verbatim copying in
- other respects.
+ front cover must present the full title with all words of the title
+ equally prominent and visible. You may add other material on the
+ covers in addition. Copying with changes limited to the covers, as
+ long as they preserve the title of the Document and satisfy these
+ conditions, can be treated as verbatim copying in other respects.
If the required texts for either cover are too voluminous to fit
legibly, you should put the first ones listed (as many as fit
adjacent pages.
If you publish or distribute Opaque copies of the Document
- numbering more than 100, you must either include a
- machine-readable Transparent copy along with each Opaque copy, or
- state in or with each Opaque copy a computer-network location from
- which the general network-using public has access to download
- using public-standard network protocols a complete Transparent
- copy of the Document, free of added material. If you use the
- latter option, you must take reasonably prudent steps, when you
- begin distribution of Opaque copies in quantity, to ensure that
- this Transparent copy will remain thus accessible at the stated
- location until at least one year after the last time you
- distribute an Opaque copy (directly or through your agents or
- retailers) of that edition to the public.
+ numbering more than 100, you must either include a machine-readable
+ Transparent copy along with each Opaque copy, or state in or with
+ each Opaque copy a computer-network location from which the general
+ network-using public has access to download using public-standard
+ network protocols a complete Transparent copy of the Document, free
+ of added material. If you use the latter option, you must take
+ reasonably prudent steps, when you begin distribution of Opaque
+ copies in quantity, to ensure that this Transparent copy will
+ remain thus accessible at the stated location until at least one
+ year after the last time you distribute an Opaque copy (directly or
+ through your agents or retailers) of that edition to the public.
It is requested, but not required, that you contact the authors of
- the Document well before redistributing any large number of
- copies, to give them a chance to provide you with an updated
- version of the Document.
+ the Document well before redistributing any large number of copies,
+ to give them a chance to provide you with an updated version of the
+ Document.
4. MODIFICATIONS
You may copy and distribute a Modified Version of the Document
under the conditions of sections 2 and 3 above, provided that you
- release the Modified Version under precisely this License, with
- the Modified Version filling the role of the Document, thus
- licensing distribution and modification of the Modified Version to
- whoever possesses a copy of it. In addition, you must do these
- things in the Modified Version:
+ release the Modified Version under precisely this License, with the
+ Modified Version filling the role of the Document, thus licensing
+ distribution and modification of the Modified Version to whoever
+ possesses a copy of it. In addition, you must do these things in
+ the Modified Version:
A. Use in the Title Page (and on the covers, if any) a title
- distinct from that of the Document, and from those of
- previous versions (which should, if there were any, be listed
- in the History section of the Document). You may use the
- same title as a previous version if the original publisher of
- that version gives permission.
+ distinct from that of the Document, and from those of previous
+ versions (which should, if there were any, be listed in the
+ History section of the Document). You may use the same title
+ as a previous version if the original publisher of that
+ version gives permission.
B. List on the Title Page, as authors, one or more persons or
entities responsible for authorship of the modifications in
the Addendum below.
G. Preserve in that license notice the full lists of Invariant
- Sections and required Cover Texts given in the Document's
+ Sections and required Cover Texts given in the Document’s
license notice.
H. Include an unaltered copy of this License.
- I. Preserve the section Entitled "History", Preserve its Title,
+ I. Preserve the section Entitled “History”, Preserve its Title,
and add to it an item stating at least the title, year, new
- authors, and publisher of the Modified Version as given on
- the Title Page. If there is no section Entitled "History" in
- the Document, create one stating the title, year, authors,
- and publisher of the Document as given on its Title Page,
- then add an item describing the Modified Version as stated in
- the previous sentence.
+ authors, and publisher of the Modified Version as given on the
+ Title Page. If there is no section Entitled “History” in the
+ Document, create one stating the title, year, authors, and
+ publisher of the Document as given on its Title Page, then add
+ an item describing the Modified Version as stated in the
+ previous sentence.
J. Preserve the network location, if any, given in the Document
for public access to a Transparent copy of the Document, and
likewise the network locations given in the Document for
- previous versions it was based on. These may be placed in
- the "History" section. You may omit a network location for a
- work that was published at least four years before the
- Document itself, or if the original publisher of the version
- it refers to gives permission.
-
- K. For any section Entitled "Acknowledgements" or "Dedications",
- Preserve the Title of the section, and preserve in the
- section all the substance and tone of each of the contributor
+ previous versions it was based on. These may be placed in the
+ “History” section. You may omit a network location for a work
+ that was published at least four years before the Document
+ itself, or if the original publisher of the version it refers
+ to gives permission.
+
+ K. For any section Entitled “Acknowledgements” or “Dedications”,
+ Preserve the Title of the section, and preserve in the section
+ all the substance and tone of each of the contributor
acknowledgements and/or dedications given therein.
- L. Preserve all the Invariant Sections of the Document,
- unaltered in their text and in their titles. Section numbers
- or the equivalent are not considered part of the section
- titles.
+ L. Preserve all the Invariant Sections of the Document, unaltered
+ in their text and in their titles. Section numbers or the
+ equivalent are not considered part of the section titles.
- M. Delete any section Entitled "Endorsements". Such a section
+ M. Delete any section Entitled “Endorsements”. Such a section
may not be included in the Modified Version.
N. Do not retitle any existing section to be Entitled
- "Endorsements" or to conflict in title with any Invariant
+ “Endorsements” or to conflict in title with any Invariant
Section.
O. Preserve any Warranty Disclaimers.
If the Modified Version includes new front-matter sections or
appendices that qualify as Secondary Sections and contain no
- material copied from the Document, you may at your option
- designate some or all of these sections as invariant. To do this,
- add their titles to the list of Invariant Sections in the Modified
- Version's license notice. These titles must be distinct from any
- other section titles.
+ material copied from the Document, you may at your option designate
+ some or all of these sections as invariant. To do this, add their
+ titles to the list of Invariant Sections in the Modified Version’s
+ license notice. These titles must be distinct from any other
+ section titles.
- You may add a section Entitled "Endorsements", provided it contains
+ You may add a section Entitled “Endorsements”, provided it contains
nothing but endorsements of your Modified Version by various
- parties--for example, statements of peer review or that the text
- has been approved by an organization as the authoritative
- definition of a standard.
+ parties—for example, statements of peer review or that the text has
+ been approved by an organization as the authoritative definition of
+ a standard.
You may add a passage of up to five words as a Front-Cover Text,
- and a passage of up to 25 words as a Back-Cover Text, to the end
- of the list of Cover Texts in the Modified Version. Only one
- passage of Front-Cover Text and one of Back-Cover Text may be
- added by (or through arrangements made by) any one entity. If the
- Document already includes a cover text for the same cover,
- previously added by you or by arrangement made by the same entity
- you are acting on behalf of, you may not add another; but you may
- replace the old one, on explicit permission from the previous
- publisher that added the old one.
+ and a passage of up to 25 words as a Back-Cover Text, to the end of
+ the list of Cover Texts in the Modified Version. Only one passage
+ of Front-Cover Text and one of Back-Cover Text may be added by (or
+ through arrangements made by) any one entity. If the Document
+ already includes a cover text for the same cover, previously added
+ by you or by arrangement made by the same entity you are acting on
+ behalf of, you may not add another; but you may replace the old
+ one, on explicit permission from the previous publisher that added
+ the old one.
The author(s) and publisher(s) of the Document do not by this
License give permission to use their names for publicity for or to
You may combine the Document with other documents released under
this License, under the terms defined in section 4 above for
- modified versions, provided that you include in the combination
- all of the Invariant Sections of all of the original documents,
+ modified versions, provided that you include in the combination all
+ of the Invariant Sections of all of the original documents,
unmodified, and list them all as Invariant Sections of your
combined work in its license notice, and that you preserve all
their Warranty Disclaimers.
combined work.
In the combination, you must combine any sections Entitled
- "History" in the various original documents, forming one section
- Entitled "History"; likewise combine any sections Entitled
- "Acknowledgements", and any sections Entitled "Dedications". You
- must delete all sections Entitled "Endorsements."
+ “History” in the various original documents, forming one section
+ Entitled “History”; likewise combine any sections Entitled
+ “Acknowledgements”, and any sections Entitled “Dedications”. You
+ must delete all sections Entitled “Endorsements.”
6. COLLECTIONS OF DOCUMENTS
documents released under this License, and replace the individual
copies of this License in the various documents with a single copy
that is included in the collection, provided that you follow the
- rules of this License for verbatim copying of each of the
- documents in all other respects.
+ rules of this License for verbatim copying of each of the documents
+ in all other respects.
You may extract a single document from such a collection, and
distribute it individually under this License, provided you insert
- a copy of this License into the extracted document, and follow
- this License in all other respects regarding verbatim copying of
- that document.
+ a copy of this License into the extracted document, and follow this
+ License in all other respects regarding verbatim copying of that
+ document.
7. AGGREGATION WITH INDEPENDENT WORKS
A compilation of the Document or its derivatives with other
- separate and independent documents or works, in or on a volume of
- a storage or distribution medium, is called an "aggregate" if the
+ separate and independent documents or works, in or on a volume of a
+ storage or distribution medium, is called an “aggregate” if the
copyright resulting from the compilation is not used to limit the
- legal rights of the compilation's users beyond what the individual
+ legal rights of the compilation’s users beyond what the individual
works permit. When the Document is included in an aggregate, this
License does not apply to the other works in the aggregate which
are not themselves derivative works of the Document.
If the Cover Text requirement of section 3 is applicable to these
copies of the Document, then if the Document is less than one half
- of the entire aggregate, the Document's Cover Texts may be placed
+ of the entire aggregate, the Document’s Cover Texts may be placed
on covers that bracket the Document within the aggregate, or the
electronic equivalent of covers if the Document is in electronic
form. Otherwise they must appear on printed covers that bracket
this License or a notice or disclaimer, the original version will
prevail.
- If a section in the Document is Entitled "Acknowledgements",
- "Dedications", or "History", the requirement (section 4) to
+ If a section in the Document is Entitled “Acknowledgements”,
+ “Dedications”, or “History”, the requirement (section 4) to
Preserve its Title (section 1) will typically require changing the
actual title.
attempt to copy, modify, sublicense or distribute the Document is
void, and will automatically terminate your rights under this
License. However, parties who have received copies, or rights,
- from you under this License will not have their licenses
- terminated so long as such parties remain in full compliance.
+ from you under this License will not have their licenses terminated
+ so long as such parties remain in full compliance.
- 10. FUTURE REVISIONS OF THIS LICENSE
+ 10. FUTURE REVISIONS OF THIS LICENSE
The Free Software Foundation may publish new, revised versions of
the GNU Free Documentation License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns. See
- `http://www.gnu.org/copyleft/'.
+ <http://www.gnu.org/copyleft/>.
Each version of the License is given a distinguishing version
number. If the Document specifies that a particular numbered
- version of this License "or any later version" applies to it, you
+ version of this License “or any later version” applies to it, you
have the option of following the terms and conditions either of
that specified version or of any later version that has been
- published (not as a draft) by the Free Software Foundation. If
- the Document does not specify a version number of this License,
- you may choose any version ever published (not as a draft) by the
- Free Software Foundation.
+ published (not as a draft) by the Free Software Foundation. If the
+ Document does not specify a version number of this License, you may
+ choose any version ever published (not as a draft) by the Free
+ Software Foundation.
A.1.1 ADDENDUM: How to use this License for your documents
----------------------------------------------------------
Free Documentation License''.
If you have Invariant Sections, Front-Cover Texts and Back-Cover
-Texts, replace the "with...Texts." line with this:
+Texts, replace the “with...Texts.” line with this:
with the Invariant Sections being LIST THEIR TITLES, with
the Front-Cover Texts being LIST, and with the Back-Cover Texts
situation.
If your document contains nontrivial examples of program code, we
-recommend releasing these examples in parallel under your choice of
-free software license, such as the GNU General Public License, to
-permit their use in free software.
-
+recommend releasing these examples in parallel under your choice of free
+software license, such as the GNU General Public License, to permit
+their use in free software.
-\1f
-Local Variables:
-coding: iso-8859-1
-End:
\1f
Tag Table:
-Node: Top\7f712
-Node: Style Guidelines\7f1370
-Node: How to Submit a Patch\7f2114
-Node: C++ Standard Library\7f2785
-Node: Templates\7f3341
-Node: Error Handling\7f3698
-Node: Source Code Layout\7f4854
-Node: Strings\7f5921
-Node: Smart Pointers\7f7653
-Node: I/O\7f9174
-Node: Config Class\7f10055
-Node: Filter Interface\7f10415
-Ref: Filter Overview\7f10587
-Ref: Constructor Function\7f15524
-Ref: Filter Description File\7f16060
-Ref: Filter Default Values\7f18209
-Ref: Programmer's Interface\7f19871
-Ref: Recommended Standard Aspell\7f19871
-Ref: Interface Macros\7f22914
-Ref: Link Filters Static\7f23022
-Ref: Place Sources\7f23348
-Ref: Build Sources\7f23710
-Ref: Reinstall Aspell\7f23781
-Ref: Test Filter Installed\7f23806
-Node: Filter Modes\7f24236
-Node: Data Structures\7f27848
-Node: Mk-Src Script\7f29209
-Node: How It All Works\7f38538
-Node: Part 1 - Compiled Dictionary Format\7f39333
-Node: Part 2 - Quickly Finding Similar Soundslike\7f42293
-Node: Part 3\7f48269
-Node: Copying\7f48443
-Node: GNU Free Documentation License\7f49019
+Node: Top\7f709
+Node: Style Guidelines\7f1443
+Node: How to Submit a Patch\7f2186
+Node: C++ Standard Library\7f2845
+Node: Templates\7f3417
+Node: Error Handling\7f3774
+Node: Source Code Layout\7f4935
+Node: Strings\7f6068
+Node: Smart Pointers\7f7880
+Node: I/O\7f9486
+Node: Config Class\7f10395
+Node: Filter Interface\7f10763
+Ref: Filter Overview\7f10935
+Ref: Constructor Function\7f15964
+Ref: Filter Description File\7f16504
+Ref: Filter Default Values\7f18789
+Ref: Programmer's Interface\7f20510
+Ref: Recommended Standard Aspell\7f20510
+Ref: Interface Macros\7f23581
+Ref: Link Filters Static\7f23690
+Ref: Place Sources\7f24015
+Ref: Build Sources\7f24396
+Ref: Reinstall Aspell\7f24466
+Ref: Test Filter Installed\7f24490
+Node: Filter Modes\7f24927
+Node: Data Structures\7f28669
+Node: Mk-Src Script\7f30094
+Node: How It All Works\7f39473
+Node: Part 1 - Compiled Dictionary Format\7f40270
+Node: Part 2 - Quickly Finding Similar Soundslike\7f43245
+Node: Part 3\7f49321
+Node: Copying\7f49495
+Node: GNU Free Documentation License\7f50070
\1f
End Tag Table
+
+\1f
+Local Variables:
+coding: utf-8
+End:
@settitle Aspell Developer's Manual
@setchapternewpage off
@syncodeindex pg cp
-@documentencoding ISO-8859-1
+@documentencoding UTF-8
@documentdescription
Aspell spell checker developer's manual.
@end documentdescription
@node Top, Style Guidelines, (dir), (dir)
@top Notes
This manual is designed for those who wish to develop Aspell. It is
-currently very sketchy. However, it should improve over time. The
-latest version of this document can be found at
-@uref{http://savannah.gnu.org/download/aspell/manual/devel/devel.html}.
+currently very sketchy. However, it should improve over time.
@menu
* Style Guidelines::
* C++ Standard Library::
* Templates::
* Error Handling::
-* Source Code Layout ::
+* Source Code Layout::
* Strings::
* Smart Pointers::
* I/O::
* C++ Standard Library::
* Templates::
* Error Handling::
-* Source Code Layout ::
+* Source Code Layout::
* Strings::
* Smart Pointers::
* I/O::
@node How to Submit a Patch, C++ Standard Library, Style Guidelines, Top
@chapter How to Submit a Patch
-Bug reports and patches should be submitted via the Sourceforge Tracker
-at @uref{http://sourceforge.net/@/tracker/?group_id=245} rather than
+Bug reports and patches should be submitted via GitHub Issues
+at @uref{https://github.com/GNUAspell/aspell/issues} rather than
being posted to any of the mailing lists.
The mailing lists are good if you need to check something out or need
refer to the Aspell source for examples of using PosibErr until better
documentation is written.
-@node Source Code Layout , Strings, Error Handling, Top
+@node Source Code Layout, Strings, Error Handling, Top
@chapter Source Code Layout
@table @file
@end table
-@node Strings, Smart Pointers, Source Code Layout , Top
+@node Strings, Smart Pointers, Source Code Layout, Top
@chapter Strings
@section String
at least one such line is required. Each magic line has the following
format:
@example
-MAGIC /<magic key>/<fileextention>[/<fileextention>]
+MAGIC /<magic key>/<fileextension>[/<fileextension>]
@end example
The magic key consist of three `:' separated fields.
extensions the magic key should consist of the ``<noregex>'' special
string.
-At least one <fileextention> is required per MAGIC line.
-<fileextention> may not be empty and should not contain a leading `.'
+At least one <fileextension> is required per MAGIC line.
+<fileextension> may not be empty and should not contain a leading `.'
as this is assumed implicitly.
Multiple MAGIC lines are allowed. Modes may be extended limited by additional
used by the library.
.PP
The Aspell library contains an interface allowing other programs direct
-access to it's functions and therefore reducing the complex task of
+access to its functions and therefore reducing the complex task of
spell checking to simple library calls. The default library does not
contain dictionary word lists. To add language dictionaries, please
check your distro first for modified dictionaries, otherwise look here
Support for Aspell can be found on the Aspell mailing lists.
Instructions for joining the various mailing lists (and an archive of
them) can be found off the Aspell home page at <http://aspell.net>.
-Bug reports should be submitted via the Sourceforge Tracker rather
-than being posted to the mailing lists.
+Bug reports should be submitted via GitHub Issues rather than being
+posted to the mailing lists.
.SH AUTHOR
This manual page was written by Brian Nelson <pyro@debian.org> based
on the Aspell User's Manual, Copyright \(co 2002 Kevin Atkinson.
-<html lang="en">
-<head>
-<title>AWLI files - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Working-With-Dictionaries.html#Working-With-Dictionaries" title="Working With Dictionaries">
-<link rel="prev" href="Dictionary-Naming.html#Dictionary-Naming" title="Dictionary Naming">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: AWLI files</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: AWLI files">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Working-With-Dictionaries.html#Working-With-Dictionaries" rel="up" title="Working With Dictionaries">
+<link href="Writing-programs-to-use-Aspell.html#Writing-programs-to-use-Aspell" rel="next" title="Writing programs to use Aspell">
+<link href="Dictionary-Naming.html#Dictionary-Naming" rel="prev" title="Dictionary Naming">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="AWLI-files"></a>
-Previous: <a rel="previous" accesskey="p" href="Dictionary-Naming.html#Dictionary-Naming">Dictionary Naming</a>,
-Up: <a rel="up" accesskey="u" href="Working-With-Dictionaries.html#Working-With-Dictionaries">Working With Dictionaries</a>
-<hr>
+<div class="header">
+<p>
+Previous: <a href="Dictionary-Naming.html#Dictionary-Naming" accesskey="p" rel="prev">Dictionary Naming</a>, Up: <a href="Working-With-Dictionaries.html#Working-With-Dictionaries" accesskey="u" rel="up">Working With Dictionaries</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="AWLI-files-1"></a>
<h3 class="section">5.10 AWLI files</h3>
<p>In order for Aspell to find dictionaries that are located in odd
places or not named according to <a href="Dictionary-Naming.html#Dictionary-Naming">Dictionary Naming</a>, an AWLI file
needs to be created for the dictionary and located in some place where
Aspell can find it.
+</p>
+<p>Each AWLI file has a name in the following format:
+</p>
+<div class="example">
+<pre class="example"><var>language</var>[<var>region</var>][-<var>variety</var>][-<var>size</var>]-<var>module</var>.awli
+</pre></div>
- <p>Each AWLI file has a name in the following format:
-
-<pre class="example"> <var>language</var>[<var>region</var>][-<var>variety</var>][-<var>size</var>]-<var>module</var>.awli
-</pre>
- <p class="noindent">where the names have the same meaning as in <a href="Dictionary-Naming.html#Dictionary-Naming">Dictionary Naming</a>,
+<p>where the names have the same meaning as in <a href="Dictionary-Naming.html#Dictionary-Naming">Dictionary Naming</a>,
and <var>module</var> is the speller module to use, which should be set
to <var>default</var> for now since there is only one speller module.
-
- <p>Each <samp><span class="file">awli</span></samp> file for an Aspell word list should then contain
+</p>
+<p>Each <samp>awli</samp> file for an Aspell word list should then contain
exactly one line which contains the full path of the main word list.
+</p>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Adding Support For Other Languages - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="prev" href="Writing-programs-to-use-Aspell.html#Writing-programs-to-use-Aspell" title="Writing programs to use Aspell">
-<link rel="next" href="Implementation-Notes.html#Implementation-Notes" title="Implementation Notes">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Adding Support For Other Languages</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Adding Support For Other Languages">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="The-Language-Data-File.html#The-Language-Data-File" rel="next" title="The Language Data File">
+<link href="Notes-on-Storing-Replacement-Pairs.html#Notes-on-Storing-Replacement-Pairs" rel="prev" title="Notes on Storing Replacement Pairs">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Adding-Support-For-Other-Languages"></a>
-Next: <a rel="next" accesskey="n" href="Implementation-Notes.html#Implementation-Notes">Implementation Notes</a>,
-Previous: <a rel="previous" accesskey="p" href="Writing-programs-to-use-Aspell.html#Writing-programs-to-use-Aspell">Writing programs to use Aspell</a>,
-Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Implementation-Notes.html#Implementation-Notes" accesskey="n" rel="next">Implementation Notes</a>, Previous: <a href="Writing-programs-to-use-Aspell.html#Writing-programs-to-use-Aspell" accesskey="p" rel="prev">Writing programs to use Aspell</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Adding-Support-For-Other-Languages-1"></a>
<h2 class="chapter">7 Adding Support For Other Languages</h2>
<p>Before you consider adding support for Aspell, first make sure that
off the Aspell home page at <a href="http://aspell.net">http://aspell.net</a>. If your
language is not listed above feel free to send mail to aspell-dict at
gnu org for help in getting started.
-
- <p>Adding a language to Aspell is fairly straightforward. You basically
+</p>
+<p>Adding a language to Aspell is fairly straightforward. You basically
need to create the language data file, and compile a new word list.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="The-Language-Data-File.html#The-Language-Data-File" accesskey="1">The Language Data File</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Compiling-the-Word-List.html#Compiling-the-Word-List" accesskey="2">Compiling the Word List</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Phonetic-Code.html#Phonetic-Code" accesskey="3">Phonetic Code</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="The-Simple-Soundslike.html#The-Simple-Soundslike" accesskey="4">The Simple Soundslike</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Replacement-Tables.html#Replacement-Tables" accesskey="5">Replacement Tables</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Affix-Compression.html#Affix-Compression" accesskey="6">Affix Compression</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Controlling-the-Behavior-of-Run_002dtogether-Words.html#Controlling-the-Behavior-of-Run_002dtogether-Words" accesskey="7">Controlling the Behavior of Run-together Words</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Creating-A-New-Character-Set.html#Creating-A-New-Character-Set" accesskey="8">Creating A New Character Set</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Creating-An-Official-Dictionary-Package.html#Creating-An-Official-Dictionary-Package" accesskey="9">Creating An Official Dictionary Package</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+</table>
+
-<ul class="menu">
-<li><a accesskey="1" href="The-Language-Data-File.html#The-Language-Data-File">The Language Data File</a>
-<li><a accesskey="2" href="Compiling-the-Word-List.html#Compiling-the-Word-List">Compiling the Word List</a>
-<li><a accesskey="3" href="Phonetic-Code.html#Phonetic-Code">Phonetic Code</a>
-<li><a accesskey="4" href="The-Simple-Soundslike.html#The-Simple-Soundslike">The Simple Soundslike</a>
-<li><a accesskey="5" href="Replacement-Tables.html#Replacement-Tables">Replacement Tables</a>
-<li><a accesskey="6" href="Affix-Compression.html#Affix-Compression">Affix Compression</a>
-<li><a accesskey="7" href="Controlling-the-Behavior-of-Run_002dtogether-Words.html#Controlling-the-Behavior-of-Run_002dtogether-Words">Controlling the Behavior of Run-together Words</a>
-<li><a accesskey="8" href="Creating-A-New-Character-Set.html#Creating-A-New-Character-Set">Creating A New Character Set</a>
-<li><a accesskey="9" href="Creating-An-Official-Dictionary-Package.html#Creating-An-Official-Dictionary-Package">Creating An Official Dictionary Package</a>
-</ul>
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Affix Compression - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" title="Adding Support For Other Languages">
-<link rel="prev" href="Replacement-Tables.html#Replacement-Tables" title="Replacement Tables">
-<link rel="next" href="Controlling-the-Behavior-of-Run_002dtogether-Words.html#Controlling-the-Behavior-of-Run_002dtogether-Words" title="Controlling the Behavior of Run-together Words">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Affix Compression</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Affix Compression">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" rel="up" title="Adding Support For Other Languages">
+<link href="Controlling-the-Behavior-of-Run_002dtogether-Words.html#Controlling-the-Behavior-of-Run_002dtogether-Words" rel="next" title="Controlling the Behavior of Run-together Words">
+<link href="Replacement-Tables.html#Replacement-Tables" rel="prev" title="Replacement Tables">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Affix-Compression"></a>
-Next: <a rel="next" accesskey="n" href="Controlling-the-Behavior-of-Run_002dtogether-Words.html#Controlling-the-Behavior-of-Run_002dtogether-Words">Controlling the Behavior of Run-together Words</a>,
-Previous: <a rel="previous" accesskey="p" href="Replacement-Tables.html#Replacement-Tables">Replacement Tables</a>,
-Up: <a rel="up" accesskey="u" href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages">Adding Support For Other Languages</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Controlling-the-Behavior-of-Run_002dtogether-Words.html#Controlling-the-Behavior-of-Run_002dtogether-Words" accesskey="n" rel="next">Controlling the Behavior of Run-together Words</a>, Previous: <a href="Replacement-Tables.html#Replacement-Tables" accesskey="p" rel="prev">Replacement Tables</a>, Up: <a href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" accesskey="u" rel="up">Adding Support For Other Languages</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Affix-Compression-1"></a>
<h3 class="section">7.6 Affix Compression</h3>
-<p>Aspell, as of version 0.60, now has support for affix compression.
+<p>Aspell, as of version 0.60, now has support for affix compression.
The codebase comes from MySpell found in OpenOffice.
-
- <p>To add support for affix compression add the following lines to the
+</p>
+<p>To add support for affix compression add the following lines to the
language data file.
-
-<pre class="example"> affix <var>lang</var>
- affix-compress true
-</pre>
- <p>The line `<samp><span class="samp">affix </span><var>lang</var></samp>' adds support for recognizing affix
-information, and the line `<samp><span class="samp">affix-compress true</span></samp>' enables affix
+</p>
+<div class="example">
+<pre class="example">affix <var>lang</var>
+affix-compress true
+</pre></div>
+
+<p>The line ‘<samp>affix <var>lang</var></samp>’ adds support for recognizing affix
+information, and the line ‘<samp>affix-compress true</samp>’ enables affix
compression.
-
- <p>The affix file is expected to be named <samp><var>lang</var><span class="file">_affix.dat</span></samp>. It is
+</p>
+<p>The affix file is expected to be named <samp><var>lang</var>_affix.dat</samp>. It is
the exact same format as those used by MySpell. More information can
be found in the myspell/ directory of the distribution or at
<a href="http://lingucomponent.openoffice.org/dictionary.html">http://lingucomponent.openoffice.org/dictionary.html</a>.
-
- <p>Affix compression can also be used with soundslike lookup. Aspell
+</p>
+<p>Affix compression can also be used with soundslike lookup. Aspell
does this by only storing the soundslike for the root word. When a
word is misspelled it will search for a soundslike close to all
possible roots of the misspelled word.
-
- <p>When no soundslike information, or the simple soundslike, is used it
-may be beneficial to specify the option <samp><span class="option">partially-expand</span></samp>
+</p>
+<p>When no soundslike information, or the simple soundslike, is used it
+may be beneficial to specify the option <samp>partially-expand</samp>
which will partially expand a word with affix information so that the
affix flags do not affect the first 3 letters of the word. This will
allow Aspell to get more accurate results when scanning the list for near
-misses since the full word can be used and not just the root.
+misses since the full word can be used and not just the root.
Specifying this option, however, will also effectively expand any
prefixes. Thus this option should not be used for prefix heavy
languages such as Hebrew.
-
- <p>An existing word list, without affix info, can be affix compressed
-using using <samp><span class="command">aspell munch-list</span></samp>.
-
+</p>
+<p>An existing word list, without affix info, can be affix compressed
+using using <code>aspell munch-list</code>.
+</p>
+<a name="Format-of-the-Affix-File"></a>
<h4 class="subsection">7.6.1 Format of the Affix File</h4>
-<!-- (as written in affix.readme) -->
-<p>An affix is either a prefix or a suffix attached to root words to make
-other words. For example supply -> supplied by dropping the "y" and
-adding an "ied" (the suffix).
- <p>Here is an example of how to define one specific suffix borrowed
+<p>An affix is either a prefix or a suffix attached to root words to make
+other words. For example supply -> supplied by dropping the "y" and
+adding an "ied" (the suffix).
+</p>
+<p>Here is an example of how to define one specific suffix borrowed
from the English affix file.
-
-<pre class="example"> SFX D Y 4
- SFX D 0 d e
- SFX D y ied [^aeiou]y
- SFX D 0 ed [^ey]
- SFX D 0 ed [aeiou]y
-</pre>
- <p>This file is space delimited and case sensitive. So this information
+</p>
+<div class="example">
+<pre class="example">SFX D Y 4
+SFX D 0 d e
+SFX D y ied [^aeiou]y
+SFX D 0 ed [^ey]
+SFX D 0 ed [aeiou]y
+</pre></div>
+
+<p>This file is space delimited and case sensitive. So this information
can be interpreted as follows:
-
- <p>The first line has 4 fields:
-
- <p><table summary=""><tr align="left"><td valign="top" width="5%">1 </td><td valign="top" width="15%"><tt>SFX</tt> </td><td valign="top" width="80%">indicates this is a suffix
-<br></td></tr><tr align="left"><td valign="top" width="5%">2 </td><td valign="top" width="15%"><tt>D</tt> </td><td valign="top" width="80%">is the name of the character which represents this suffix
-<br></td></tr><tr align="left"><td valign="top" width="5%">3 </td><td valign="top" width="15%"><tt>Y</tt> </td><td valign="top" width="80%">indicates it can be combined with prefixes (cross product)
-<br></td></tr><tr align="left"><td valign="top" width="5%">4 </td><td valign="top" width="15%"><tt>4</tt> </td><td valign="top" width="80%">indicates that sequence of 4 affix entries are needed to
-properly store the affix information
- <br></td></tr></table>
-
- <p>The remaining lines describe the unique information for the 4 affix
+</p>
+<p>The first line has 4 fields:
+</p>
+<table>
+<tr><td width="5%">1</td><td width="15%"><tt>SFX</tt></td><td width="80%">indicates this is a suffix</td></tr>
+<tr><td width="5%">2</td><td width="15%"><tt>D</tt></td><td width="80%">is the name of the character which represents this suffix</td></tr>
+<tr><td width="5%">3</td><td width="15%"><tt>Y</tt></td><td width="80%">indicates it can be combined with prefixes (cross product)</td></tr>
+<tr><td width="5%">4</td><td width="15%"><tt>4</tt></td><td width="80%">indicates that sequence of 4 affix entries are needed to
+properly store the affix information</td></tr>
+</table>
+
+<p>The remaining lines describe the unique information for the 4 affix
entries that make up this affix. Each line can be interpreted
as follows: (note fields 1 and 2 are used as a check against line 1 info)
-
- <p><table summary=""><tr align="left"><td valign="top" width="5%">1 </td><td valign="top" width="15%"><tt>SFX</tt> </td><td valign="top" width="80%">indicates this is a suffix
-<br></td></tr><tr align="left"><td valign="top" width="5%">2 </td><td valign="top" width="15%"><tt>D</tt> </td><td valign="top" width="80%">is the name of the character which represents this affix
-<br></td></tr><tr align="left"><td valign="top" width="5%">3 </td><td valign="top" width="15%"><tt>y</tt> </td><td valign="top" width="80%">the string of chars to strip off before adding affix (a 0
-here indicates the NULL string)
-<br></td></tr><tr align="left"><td valign="top" width="5%">4 </td><td valign="top" width="15%"><tt>ied</tt> </td><td valign="top" width="80%">the string of affix characters to add (a 0 here
-indicates the NULL string)
-<br></td></tr><tr align="left"><td valign="top" width="5%">5 </td><td valign="top" width="15%"><tt>[^aeiou]y</tt> </td><td valign="top" width="80%">the conditions which must be met before the affix
-can be applied
- <br></td></tr></table>
-
- <p>Field 5 is interesting. Since this is a suffix, field 5 tells us that
+</p>
+<table>
+<tr><td width="5%">1</td><td width="15%"><tt>SFX</tt></td><td width="80%">indicates this is a suffix</td></tr>
+<tr><td width="5%">2</td><td width="15%"><tt>D</tt></td><td width="80%">is the name of the character which represents this affix</td></tr>
+<tr><td width="5%">3</td><td width="15%"><tt>y</tt></td><td width="80%">the string of chars to strip off before adding affix (a 0
+here indicates the NULL string)</td></tr>
+<tr><td width="5%">4</td><td width="15%"><tt>ied</tt></td><td width="80%">the string of affix characters to add (a 0 here
+indicates the NULL string)</td></tr>
+<tr><td width="5%">5</td><td width="15%"><tt>[^aeiou]y</tt></td><td width="80%">the conditions which must be met before the affix
+can be applied</td></tr>
+</table>
+
+<p>Field 5 is interesting. Since this is a suffix, field 5 tells us that
there are 2 conditions that must be met. The first condition is that
the next to the last character in the word must <em>not</em> be any of the
-following "a", "e", "i", "o" or "u". The second condition is that
-the last character of the word must end in "y".
-
+following "a", "e", "i", "o" or "u". The second condition is that
+the last character of the word must end in "y".
+</p>
+<a name="When-Compared-With-Ispell"></a>
<h4 class="subsection">7.6.2 When Compared With Ispell</h4>
<p>Now for comparison purposes, here is the same information from the
-Ispell <samp><span class="file">english.aff</span></samp> compression file which was used as the basis
+Ispell <samp>english.aff</samp> compression file which was used as the basis
for the OOo one.
-
-<pre class="example"> flag *D:
- E > D # As in create > created
- [^AEIOU]Y > -Y,IED # As in imply > implied
- [^EY] > ED # As in cross > crossed
- [AEIOU]Y > ED # As in convey > conveyed
-</pre>
- <p>The Ispell information has exactly the same information but in a
+</p>
+<div class="example">
+<pre class="example">flag *D:
+ E > D # As in create > created
+ [^AEIOU]Y > -Y,IED # As in imply > implied
+ [^EY] > ED # As in cross > crossed
+ [AEIOU]Y > ED # As in convey > conveyed
+</pre></div>
+
+<p>The Ispell information has exactly the same information but in a
slightly different (case-insensitive) format:
-
- <p>Here are the ways to see the mapping from Ispell .aff format to our
+</p>
+<p>Here are the ways to see the mapping from Ispell .aff format to our
OOo format.
-
- <ol type=1 start=1>
-<li>The Ispell english.aff has flag D under the "suffix" section so
+</p>
+<ol>
+<li> The Ispell english.aff has flag D under the "suffix" section so
you know it is a suffix.
- <li>The D is the character assigned to this suffix
+</li><li> The D is the character assigned to this suffix
- <li>`<samp><span class="samp">*</span></samp>' indicates that it can be combined with prefixes
+</li><li> ‘<samp>*</samp>’ indicates that it can be combined with prefixes
- <li>Each line following the : describes the affix entries needed
+</li><li> Each line following the : describes the affix entries needed
to define this suffix
- <ul>
-<li>The first field is the conditions that must be met.
-<li>The second field is after the > if a "-" occurs is the string to strip
-off (can be blank).
-<li>The third field is the string to add (the affix)
-</ul>
- </ol>
-
- <p>In addition all chars in Ispell aff files are in uppercase.
-
+<ul>
+<li> The first field is the conditions that must be met.
+</li><li> The second field is after the > if a "-" occurs is the string to strip
+off (can be blank).
+</li><li> The third field is the string to add (the affix)
+</li></ul>
+</li></ol>
+
+<p>In addition all chars in Ispell aff files are in uppercase.
+</p>
+<a name="Specifying-Affix-Flags"></a>
<h4 class="subsection">7.6.3 Specifying Affix Flags</h4>
<p>Affix flags are specified in the word list by specifying them after
-the `<samp><span class="samp">/</span></samp>' character:
-
-<pre class="example"> <var>word</var>/<var>flags</var>
-</pre>
- <p>For example:
+the ‘<samp>/</samp>’ character:
+</p>
+<div class="example">
+<pre class="example"><var>word</var>/<var>flags</var>
+</pre></div>
+
+<p>For example:
+</p>
+<div class="example">
+<pre class="example">create/DG
+</pre></div>
+
+<p>will associate the ‘<samp>D</samp>’ and ‘<samp>G</samp>’ flag with the word create.
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Controlling-the-Behavior-of-Run_002dtogether-Words.html#Controlling-the-Behavior-of-Run_002dtogether-Words" accesskey="n" rel="next">Controlling the Behavior of Run-together Words</a>, Previous: <a href="Replacement-Tables.html#Replacement-Tables" accesskey="p" rel="prev">Replacement Tables</a>, Up: <a href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" accesskey="u" rel="up">Adding Support For Other Languages</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
-<pre class="example"> create/DG
-</pre>
- <p class="noindent">will associate the `<samp><span class="samp">D</span></samp>' and `<samp><span class="samp">G</span></samp>' flag with the word create.
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Aspell Suggestion Strategy - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Implementation-Notes.html#Implementation-Notes" title="Implementation Notes">
-<link rel="next" href="Notes-on-8_002dbit-Characters.html#Notes-on-8_002dbit-Characters" title="Notes on 8-bit Characters">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Aspell Suggestion Strategy</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Aspell Suggestion Strategy">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Implementation-Notes.html#Implementation-Notes" rel="up" title="Implementation Notes">
+<link href="Notes-on-8_002dbit-Characters.html#Notes-on-8_002dbit-Characters" rel="next" title="Notes on 8-bit Characters">
+<link href="Implementation-Notes.html#Implementation-Notes" rel="prev" title="Implementation Notes">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Aspell-Suggestion-Strategy"></a>
-Next: <a rel="next" accesskey="n" href="Notes-on-8_002dbit-Characters.html#Notes-on-8_002dbit-Characters">Notes on 8-bit Characters</a>,
-Up: <a rel="up" accesskey="u" href="Implementation-Notes.html#Implementation-Notes">Implementation Notes</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Notes-on-8_002dbit-Characters.html#Notes-on-8_002dbit-Characters" accesskey="n" rel="next">Notes on 8-bit Characters</a>, Up: <a href="Implementation-Notes.html#Implementation-Notes" accesskey="u" rel="up">Implementation Notes</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Aspell-Suggestion-Strategy-1"></a>
<h3 class="appendixsec">A.1 Aspell Suggestion Strategy</h3>
<p>The magic behind my spell checker comes from merging Lawrence Philips
-excellent metaphone algorithm and Ispell's near miss strategy which is
+excellent metaphone algorithm and Ispell’s near miss strategy which is
inserting a space or hyphen, interchanging two adjacent letters,
changing one letter, deleting a letter, or adding a letter.
-
- <p>The process goes something like this.
-
- <ol type=1 start=1>
-<li>Convert the misspelled word to its soundslike equivalent (its
+</p>
+<p>The process goes something like this.
+</p>
+<ol>
+<li> Convert the misspelled word to its soundslike equivalent (its
metaphone for English words).
- <li>Find all words that have a soundslike within one or two edit distances
-from the original word's soundslike. The edit distance is the total
+</li><li> Find all words that have a soundslike within one or two edit distances
+from the original word’s soundslike. The edit distance is the total
number of deletions, insertions, exchanges, or adjacent swaps needed
to make one string equivalent to the other. When set to only look for
soundslikes within one edit distance it tries all possible soundslike
quick because it will give up if the two soundslikes are more than two
edit distances apart.
- <li>Find misspelled words that have a correctly spelled replacement by the
+</li><li> Find misspelled words that have a correctly spelled replacement by the
same criteria of step number 2 and 3. That is the misspelled word in
the word pair (such as “teh -> the”) would appear in the suggestions
list as if it was a correct spelling.
- <li>Score the result list and return the words with the lowest score. The
+</li><li> Score the result list and return the words with the lowest score. The
score is roughly the weighed average of the weighed edit distance of
the word to the misspelled word and the soundslike equivalent of the
two words. The weighted edit distance is like the edit distance
except that the various edits have weights attached to them.
- <li>Replace the misspelled words that have correctly spelled replacements
+</li><li> Replace the misspelled words that have correctly spelled replacements
with their replacements and remove any duplicates that might arise
because of this.
- </ol>
+</li></ol>
- <p>Please note that the soundslike equivalent is a rough approximation of
-how the words sounds. It is not the phoneme of the word by any means.
+<p>Please note that the soundslike equivalent is a rough approximation of
+how the words sounds. It is not the phoneme of the word by any means.
For more details about exactly how each step is performed please see
-the file <samp><span class="file">suggest.cc</span></samp>. For more information on the metaphone
-algorithm please see the data file <samp><span class="file">english_phonet.dat</span></samp>.
+the file <samp>suggest.cc</samp>. For more information on the metaphone
+algorithm please see the data file <samp>english_phonet.dat</samp>.
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Notes-on-8_002dbit-Characters.html#Notes-on-8_002dbit-Characters" accesskey="n" rel="next">Notes on 8-bit Characters</a>, Up: <a href="Implementation-Notes.html#Implementation-Notes" accesskey="u" rel="up">Implementation Notes</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Authors - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="prev" href="ChangeLog.html#ChangeLog" title="ChangeLog">
-<link rel="next" href="Copying.html#Copying" title="Copying">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Authors</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Authors">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Copying.html#Copying" rel="next" title="Copying">
+<link href="ChangeLog.html#ChangeLog" rel="prev" title="ChangeLog">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Authors"></a>
-Next: <a rel="next" accesskey="n" href="Copying.html#Copying">Copying</a>,
-Previous: <a rel="previous" accesskey="p" href="ChangeLog.html#ChangeLog">ChangeLog</a>,
-Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Copying.html#Copying" accesskey="n" rel="next">Copying</a>, Previous: <a href="ChangeLog.html#ChangeLog" accesskey="p" rel="prev">ChangeLog</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Authors-1"></a>
<h2 class="appendix">Appendix G Authors</h2>
<p>The following people or companies have contributed a non-trival amount of
code to Aspell and thus own the Copyright to part of Aspell.
-
- <dl>
-<dt>Jose Da Silva<dd>Bug fixes and enhancements to <samp><span class="command">word-list-compress</span></samp>.
-
- <br><dt>Sergey Poznyakoff<dd>Wrote the Nroff filter.
-
- <br><dt>Tom Snyder<dd>Enhanced the SGML filter to also support skipping sgml tags such as
-"script" blocks.
-
- <br><dt>Kevin B. Hendricks (and Contributers)<dd>Wrote MySpell which is a simple spell checker library that supports
+</p>
+<dl compact="compact">
+<dt>Jose Da Silva</dt>
+<dd><p>Bug fixes and enhancements to <code>word-list-compress</code>.
+</p>
+</dd>
+<dt>Sergey Poznyakoff</dt>
+<dd><p>Wrote the Nroff filter.
+</p>
+</dd>
+<dt>Tom Snyder</dt>
+<dd><p>Enhanced the SGML filter to also support skipping sgml tags such as
+"script" blocks.
+</p>
+</dd>
+<dt>Kevin B. Hendricks (and Contributers)</dt>
+<dd><p>Wrote MySpell which is a simple spell checker library that supports
affix compression. Aspell affix compression code is based on his code.
-
- <br><dt>Christoph Hintermüller<dd>Added support for loadable filters.
-
- <br><dt>Melvin Hadasht<dd>Wrote a locale independent version of strtol and strtod.
-Wrote the original loadable filter support however his code has been
-completely rewritten by Christoph Hintermüller and Kevin Atkinson.
-
- <br><dt>Björn Jacke<dd>Wrote the generic soundslike algorithm which gets all of its data from a
+</p>
+</dd>
+<dt>Christoph Hintermüller</dt>
+<dd><p>Added support for loadable filters.
+</p>
+</dd>
+<dt>Melvin Hadasht</dt>
+<dd><p>Wrote a locale independent version of strtol and strtod.
+Wrote the original loadable filter support however his code has been
+completely rewritten by Christoph Hintermüller and Kevin Atkinson.
+</p>
+</dd>
+<dt>Björn Jacke</dt>
+<dd><p>Wrote the generic soundslike algorithm which gets all of its data from a
file, thus eliminating almost all need for language specific code from
Aspell.
-
- <br><dt>Silicon Graphics Computer Systems, Inc.<dt>Hewlett-Packard Company<dd>Parts of the SGI STL code were used in various places throughout the
+</p>
+</dd>
+<dt>Silicon Graphics Computer Systems, Inc.</dt>
+<dt>Hewlett-Packard Company</dt>
+<dd><p>Parts of the SGI STL code were used in various places throughout the
Aspell source.
+</p>
+</dd>
+</dl>
- </dl>
-
- <p>In addition the authors of some of translated messages did not release
+<p>In addition the authors of some of translated messages did not release
their work into the Public Domain, and thus own the copyright to the
-translated text. See the files <samp><span class="file">*.po</span></samp> in the <samp><span class="file">po</span></samp> directory
+translated text. See the files <samp>*.po</samp> in the <samp>po</samp> directory
for more details.
-
- <p>The folowing people also contributed to the development of Aspell but do
+</p>
+<p>The folowing people also contributed to the development of Aspell but do
not own the Copyright to part of Aspell.
-
- <dl>
-<dt>Sergey Poznyakoff<dd>Added gettext support.
-
- <br><dt>Chris Martin<dd>Converted the manual to texinfo.
-
- <br><dt>Lawrence Philips<dd>Wrote the original metaphone algorithm; however, he released his work
+</p>
+<dl compact="compact">
+<dt>Sergey Poznyakoff</dt>
+<dd><p>Added gettext support.
+</p>
+</dd>
+<dt>Chris Martin</dt>
+<dd><p>Converted the manual to texinfo.
+</p>
+</dd>
+<dt>Lawrence Philips</dt>
+<dd><p>Wrote the original metaphone algorithm; however, he released his work
into the Public Domain.
-
- <br><dt>Michael Kuhn<dd>Converted the metaphone algorithm into C code and made some enhancements
+</p>
+</dd>
+<dt>Michael Kuhn</dt>
+<dd><p>Converted the metaphone algorithm into C code and made some enhancements
to the original algorithm. He also released his work into the Public
Domain.
-
- <br><dt>Geoff Kuenning (and contributers)<dd>The authors of Ispell. Many of the ideas used in Aspell, especially with
+</p>
+</dd>
+<dt>Geoff Kuenning (and contributers)</dt>
+<dd><p>The authors of Ispell. Many of the ideas used in Aspell, especially with
the affix code, were taken from Ispell. However none of the original
Ispell code is used in Aspell.
+</p>
+</dd>
+</dl>
+
+<hr>
+<div class="header">
+<p>
+Next: <a href="Copying.html#Copying" accesskey="n" rel="next">Copying</a>, Previous: <a href="ChangeLog.html#ChangeLog" accesskey="p" rel="prev">ChangeLog</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
- </dl>
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Basic Usage - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="prev" href="Support.html#Support" title="Support">
-<link rel="next" href="Customizing-Aspell.html#Customizing-Aspell" title="Customizing Aspell">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Basic Usage</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Basic Usage">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Spellchecking-Individual-Files.html#Spellchecking-Individual-Files" rel="next" title="Spellchecking Individual Files">
+<link href="Support.html#Support" rel="prev" title="Support">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Basic-Usage"></a>
-Next: <a rel="next" accesskey="n" href="Customizing-Aspell.html#Customizing-Aspell">Customizing Aspell</a>,
-Previous: <a rel="previous" accesskey="p" href="Support.html#Support">Support</a>,
-Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Customizing-Aspell.html#Customizing-Aspell" accesskey="n" rel="next">Customizing Aspell</a>, Previous: <a href="Support.html#Support" accesskey="p" rel="prev">Support</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Basic-Usage-1"></a>
<h2 class="chapter">3 Basic Usage</h2>
<p>For a quick reference on the Aspell utility use the command
-<samp><span class="command">aspell --help</span></samp>.
+<code>aspell --help</code>.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="Spellchecking-Individual-Files.html#Spellchecking-Individual-Files" accesskey="1">Spellchecking Individual Files</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Using-Aspell-as-a-Replacement-for-Ispell.html#Using-Aspell-as-a-Replacement-for-Ispell" accesskey="2">Using Aspell as a Replacement for Ispell</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Using-Aspell-with-other-Applications.html#Using-Aspell-with-other-Applications" accesskey="3">Using Aspell with other Applications</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+</table>
+
-<ul class="menu">
-<li><a accesskey="1" href="Spellchecking-Individual-Files.html#Spellchecking-Individual-Files">Spellchecking Individual Files</a>
-<li><a accesskey="2" href="Using-Aspell-as-a-Replacement-for-Ispell.html#Using-Aspell-as-a-Replacement-for-Ispell">Using Aspell as a Replacement for Ispell</a>
-<li><a accesskey="3" href="Using-Aspell-with-other-Applications.html#Using-Aspell-with-other-Applications">Using Aspell with other Applications</a>
-</ul>
- </body></html>
+</body>
+</html>
-<meta http-equiv="refresh" content="0; url=Upgrading-from-Aspell-0_002e50.html#Binary%20Compatibility">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
+
+GNU Aspell is a spell checker designed to eventually replace Ispell.
+It can either be used as a library or as an independent spell checker.
+
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<!-- This file redirects to the location of a node or anchor -->
+<head>
+<title>GNU Aspell 0.60.7: Binary Compatibility</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Binary Compatibility">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+<meta http-equiv="Refresh" content="0; url=Upgrading-from-Aspell-0_002e50.html#Binary-Compatibility">
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+
+<p>The node you are looking for is at <a href="Upgrading-from-Aspell-0_002e50.html#Binary-Compatibility">Binary Compatibility</a>.</p>
+</body>
-<html lang="en">
-<head>
-<title>ChangeLog - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="prev" href="Installing.html#Installing" title="Installing">
-<link rel="next" href="Authors.html#Authors" title="Authors">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: ChangeLog</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: ChangeLog">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Authors.html#Authors" rel="next" title="Authors">
+<link href="WIN32-Notes.html#WIN32-Notes" rel="prev" title="WIN32 Notes">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="ChangeLog"></a>
-Next: <a rel="next" accesskey="n" href="Authors.html#Authors">Authors</a>,
-Previous: <a rel="previous" accesskey="p" href="Installing.html#Installing">Installing</a>,
-Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Authors.html#Authors" accesskey="n" rel="next">Authors</a>, Previous: <a href="Installing.html#Installing" accesskey="p" rel="prev">Installing</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="ChangeLog-1"></a>
<h2 class="appendix">Appendix F ChangeLog</h2>
+<a name="Changes-from-0_002e60_002e6_002e1-to-0_002e60_002e7-_0028July-29_002c-2019_0029"></a>
+<h3 class="heading">Changes from 0.60.6.1 to 0.60.7 (July 29, 2019)</h3>
+<ul>
+<li> Add partial support for recognizing the Unicode apostrophe (’) in
+words. In particular Aspell will accept the Unicode apostrophe when
+the language uses an ISO Latin charset that doesn’t already have a
+Unicode apostrophe. For now, Aspell will still use the ASCII version
+in suggestions.
+</li><li> Detect when a dictionary compiled on a 32-bit machine is used on a
+64-bit one (and vise versa), as due to an oversight, compiled
+dictionaries depend on more than the endianness. Also added a compile
+time option to remove this dependency, but at the cost of breaking
+compatibility with already compiled dictionaries on 64-bit systems.
+</li><li> Fix a bug which caused Aspell to crash when passing in a null string
+to almost any of the C API functions. This should not happen if the
+size is also zero as the pointer should never be derefrenced.
+</li><li> Fix a bug that caused Aspell to crash with a SEGFAULT when built with
+mingw-w64.
+</li><li> In addition to outputting a warning when building with NDEBUG defined,
+also include NDEBUG in the version string.
+</li><li> Various compile fixes for newer version of Gcc and Clang.
+</li><li> Fix VPATH builds.
+</li><li> Use utf-8 encoding for manual instead of iso-8859-1.
+</li><li> Other minor updates and bug fixes.
+</li></ul>
+
+<a name="Changes-from-0_002e60_002e6-to-0_002e60_002e6_002e1-_0028July-4_002c-2011_0029"></a>
<h3 class="heading">Changes from 0.60.6 to 0.60.6.1 (July 4, 2011)</h3>
-
- <ul>
-<li>Update to Automake 1.10.3.
-<li>Fix a bug which caused a race condition (leading to a likely crash)
-when two threads try to update the dictionary cache at the same time.
-<li>Make it very clear that compiling Aspell with NDEBUG is a bad idea
+<ul>
+<li> Update to Automake 1.10.3
+</li><li> Fix a bug which caused a race condition (leading to a likely crash)
+when two threads try to update the dictionary cache at the same time.
+</li><li> Make it very clear that compiling Aspell with NDEBUG is a bad idea
(see <a href="http://aspell.net/ndebug.html">http://aspell.net/ndebug.html</a>) by outputting a
-warning when building with NDEBUG defined.
-<li>Numerous other minor updates and bug fixes.
-</ul>
+warning when building with NDEBUG defined.
+</li><li> Numerous other minor updates and bug fixes.
+</li></ul>
+<a name="Changes-from-0_002e60_002e5-to-0_002e60_002e6-_0028April-16_002c-2007_0029"></a>
<h3 class="heading">Changes from 0.60.5 to 0.60.6 (April 16, 2007)</h3>
-
- <ul>
-<li>Compile fixes for Gcc 4.3.
-<li>Updated to Libtool 2.2.2 and Automake 1.10.1
-<li>Minor tweak to suggestion code which improved suggestion results in
-certain cases.
-<li>Always line buffer stdout and stderr in the Aspell utility when there is
-the potential for it to be used interactively through a pipe.
-<li>Removed debug output in <samp><span class="command">aspell munch-list</span></samp>.
-<li>Other minor updates and bug fixes.
-</ul>
-
+<ul>
+<li> Compile fixes for Gcc 4.3.
+</li><li> Updated to Libtool 2.2.2 and Automake 1.10.1
+</li><li> Minor tweak to suggestion code which improved suggestion results in
+certain cases.
+</li><li> Always line buffer stdout and stderr in the Aspell utility when there is
+the potential for it to be used interactively through a pipe.
+</li><li> Removed debug output in <code>aspell munch-list</code>.
+</li><li> Other minor updates and bug fixes.
+</li></ul>
+
+<a name="Changes-from-0_002e60_002e4-to-0_002e60_002e5-_0028December-18_002c-2006_0029"></a>
<h3 class="heading">Changes from 0.60.4 to 0.60.5 (December 18, 2006)</h3>
-
- <ul>
-<li>Compile fix for Gcc 4.1
-<li>Updated to Gettext 0.16.1, Libtool 1.5.22, Automake 1.10, Autoconf 2.61
-<li>Documentation improvements, including an updated <samp><span class="command">man</span></samp> page.
-<li>Complain if more than one file is specified when checking files using
-the <samp><span class="command">aspell check</span></samp> command, rather than ignoring the other files.
-<li>Large number of bug fixes.
-</ul>
-
+<ul>
+<li> Compile fix for Gcc 4.1
+</li><li> Updated to Gettext 0.16.1, Libtool 1.5.22, Automake 1.10, Autoconf 2.61
+</li><li> Documentation improvements, including an updated <code>man</code> page.
+</li><li> Complain if more than one file is specified when checking files using
+the <code>aspell check</code> command, rather than ignoring the other files.
+</li><li> Large number of bug fixes.
+</li></ul>
+
+<a name="Changes-from-0_002e60_002e3-to-0_002e60_002e4-_0028October-19_002c-2005_0029"></a>
<h3 class="heading">Changes from 0.60.3 to 0.60.4 (October 19, 2005)</h3>
-
- <ul>
-<li>Fixed a bug that caused Aspell to crash when checking certain Russian
-words, this bug likely affected other languages as well.
-<li>Updated to Gettext 0.14.5 which is required for AMD64, also updated to
-to Libtool 1.5.20.
-<li>Fixed an alignment bug which caused mmap to always fail when reading
-in dictionaries.
-<li>Added note about how <samp><span class="command">make clean</span></samp> will remove the HTML manuals.
-<li>Added manual page for prezip-bin and enhanced word-list-compress manual
-page thanks to the work of Jose Da Silva.
-<li>Other minor updates and bug fixes.
-</ul>
-
+<ul>
+<li> Fixed a bug that caused Aspell to crash when checking certain Russian
+words, this bug likely affected other languages as well.
+</li><li> Updated to Gettext 0.14.5 which is required for AMD64, also updated to
+to Libtool 1.5.20.
+</li><li> Fixed an alignment bug which caused mmap to always fail when reading
+in dictionaries.
+</li><li> Added note about how <code>make clean</code> will remove the HTML manuals.
+</li><li> Added manual page for prezip-bin and enhanced word-list-compress manual
+page thanks to the work of Jose Da Silva.
+</li><li> Other minor updates and bug fixes.
+</li></ul>
+
+<a name="Changes-from-0_002e60_002e2-to-0_002e60_002e3-_0028June-28_002c-2005_0029"></a>
<h3 class="heading">Changes from 0.60.2 to 0.60.3 (June 28, 2005)</h3>
- <ul>
-<li>Fixed bugs involving several of the C API functions.
-<li>Fixed bug where `<samp><span class="samp">ultra</span></samp>' or `<samp><span class="samp">fast</span></samp>' mode would not return any
-suggestions when soundslike lookup was not used.
-<li>Made a minor, yet significant, optimization to the suggestion code.
-This sped things up by an order of magnitude in some cases.
-<li>Avoid using the slow ngram scan except when the <samp><span class="option">sug-mode</span></samp> is
-`<samp><span class="samp">slow</span></samp>' or `<samp><span class="samp">bad-speller</span></samp>'.
-<li>Fixed a bug in curses mode which caused word-wrap to not work
-correctly in some cases.
-<li>Fixed a bug in pipe mode with a missing newline.
-<li>Fixed the <samp><span class="command">spell</span></samp> compatibility script.
-<li>Several other minor bugs fixed.
-<li>Made note about the change in behavior of the <samp><span class="option">-l</span></samp> command line
-switch.
-<li>Other manual update/fixes.
-<li>Updated to Libtool 1.5.18, Automake 1.9.6, and Makeinfo 4.8.
-</ul>
-
+<ul>
+<li> Fixed bugs involving several of the C API functions.
+</li><li> Fixed bug where ‘<samp>ultra</samp>’ or ‘<samp>fast</samp>’ mode would not return any
+suggestions when soundslike lookup was not used.
+</li><li> Made a minor, yet significant, optimization to the suggestion code.
+This sped things up by an order of magnitude in some cases.
+</li><li> Avoid using the slow ngram scan except when the <samp>sug-mode</samp> is
+‘<samp>slow</samp>’ or ‘<samp>bad-speller</samp>’.
+</li><li> Fixed a bug in curses mode which caused word-wrap to not work
+correctly in some cases.
+</li><li> Fixed a bug in pipe mode with a missing newline.
+</li><li> Fixed the <code>spell</code> compatibility script.
+</li><li> Several other minor bugs fixed.
+</li><li> Made note about the change in behavior of the <samp>-l</samp> command line
+switch.
+</li><li> Other manual update/fixes.
+</li><li> Updated to Libtool 1.5.18, Automake 1.9.6, and Makeinfo 4.8.
+</li></ul>
+
+<a name="Changes-from-0_002e60_002e1-to-0_002e60_002e2-_0028December-18_002c-2004_0029"></a>
<h3 class="heading">Changes from 0.60.1 to 0.60.2 (December 18, 2004)</h3>
- <ul>
-<li>Added the <samp><span class="command">munch-list</span></samp> command to the Aspell utility. The
-<samp><span class="command">munch</span></samp> program in the <samp><span class="file">myspell/</span></samp> directory will
-disappear in Aspell 0.61. The <samp><span class="command">munchlist</span></samp> script will also
+<ul>
+<li> Added the <code>munch-list</code> command to the Aspell utility. The
+<code>munch</code> program in the <samp>myspell/</samp> directory will
+disappear in Aspell 0.61. The <code>munchlist</code> script will also
likely disappear or be replaced when Aspell 0.61 is released since it
-doesn't work correctly anyway.
-<li>Several important bug fixes some of which rendered some non-English
-languages unusable.
-<li>Other minor changes.
-</ul>
+doesn’t work correctly anyway.
+</li><li> Several important bug fixes some of which rendered some non-English
+languages unusable.
+</li><li> Other minor changes.
+</li></ul>
+<a name="Changes-from-0_002e60_002e1-to-0_002e60_002e1_002e1-_0028November-20_002c-2004_0029"></a>
<h3 class="heading">Changes from 0.60.1 to 0.60.1.1 (November 20, 2004)</h3>
- <ul>
-<li>Fix bug involving checking of capitalized word when affix compression
-is used.
-<li>Compile fixes.
-<li>Added an option to disable using the “wide” curses version in case it
-causes compile problems.
-<li>Minor manual updates
-<li>Avoided including some unnecessary files in the distribution.
-</ul>
-
+<ul>
+<li> Fix bug involving checking of capitalized word when affix compression
+is used.
+</li><li> Compile fixes.
+</li><li> Added an option to disable using the “wide” curses version in case it
+causes compile problems.
+</li><li> Minor manual updates
+</li><li> Avoided including some unnecessary files in the distribution.
+</li></ul>
+
+<a name="Changes-from-0_002e60-to-0_002e60_002e1-_0028November-7_002c-2004_0029"></a>
<h3 class="heading">Changes from 0.60 to 0.60.1 (November 7, 2004)</h3>
- <ul>
-<li>Lots of compile fixes for various platforms.
-<li>Miscellaneous bug fixes.
-<li>Added Nroff filter thanks to Sergey Poznyakoff.
-<li>The default filter mode when in pipe mode is now nroff for compatibility with
-Ispell.
-<li>Added Texinfo filter.
-<li>Added a section detailing the differences between Ispell and Aspell.
-<li>Updated the section on thread safety.
-<li>Other miscellaneous manual changes such as updating the To Do and Authors
-section.
-</ul>
-
+<ul>
+<li> Lots of compile fixes for various platforms.
+</li><li> Miscellaneous bug fixes.
+</li><li> Added Nroff filter thanks to Sergey Poznyakoff.
+</li><li> The default filter mode when in pipe mode is now nroff for compatibility with
+Ispell.
+</li><li> Added Texinfo filter.
+</li><li> Added a section detailing the differences between Ispell and Aspell.
+</li><li> Updated the section on thread safety.
+</li><li> Other miscellaneous manual changes such as updating the To Do and Authors
+section.
+</li></ul>
+
+<a name="Changes-from-0_002e50_002e5-to-0_002e60-_0028August-27_002c-2004_0029"></a>
<h3 class="heading">Changes from 0.50.5 to 0.60 (August 27, 2004)</h3>
- <ul>
-<li>Added support for Affix Compression. Affix compression stores the root
+<ul>
+<li> Added support for Affix Compression. Affix compression stores the root
word and then a list of prefixes and suffixes that the word can take,
and thus saves a lot of space. The codebase comes from MySpell found in
OpenOffice. It uses the same affix file that OpenOffice (and Mozilla)
use. Affix compression will even work with soundslike lookup to a
-limited extent.
-<li>Added support for accepting all input and printing all output in UTF-8
+limited extent.
+</li><li> Added support for accepting all input and printing all output in UTF-8
or some other encoding different from the one Aspell uses. This
includes support for Unicode normalization. Aspell can now support any
language with no more than 210 distinct characters, including different
capitalizations and accents, <em>even if</em> there is not an existing
-8-bit encoding that supports the language.
-<li>Added support for loadable filters and customizable filter modes thanks
-to Christoph Hintermüller.
-<li>Enhanced SGML filter to also support skipping sgml tags such as "script"
-blocks thanks to Tom Snyder.
-<li>Added gettext support thanks to Sergey Poznyakoff
-<li>Reworked the compiled dictionary format. Compiled dictionaries now take
+8-bit encoding that supports the language.
+</li><li> Added support for loadable filters and customizable filter modes thanks
+to Christoph Hintermüller.
+</li><li> Enhanced SGML filter to also support skipping sgml tags such as "script"
+blocks thanks to Tom Snyder.
+</li><li> Added gettext support thanks to Sergey Poznyakoff
+</li><li> Reworked the compiled dictionary format. Compiled dictionaries now take
up less space (less than 80% for the English language) and
creating them is significantly faster (over 4 times for the
-English language).
-<li>Reworked suggestion code. It is significantly faster when dealing with
+English language).
+</li><li> Reworked suggestion code. It is significantly faster when dealing with
short words (up to 10 times). Also added support for MySpell
Replacement Tables and n-gram lookup. In addition, added basic support
-for compound words.
-<li>Manual has has been converted to texinfo format thanks to the work of
-Chris Martin.
-<li>Reworked the build system so that a single Makefile is used for most
-of the code.
-<li>All data, by default, is now included in
-<samp><var>libdir</var><span class="file">/aspell-0.60</span></samp>. Also added a built time option to
+for compound words.
+</li><li> Manual has has been converted to texinfo format thanks to the work of
+Chris Martin.
+</li><li> Reworked the build system so that a single Makefile is used for most
+of the code.
+</li><li> All data, by default, is now included in
+<samp><var>libdir</var>/aspell-0.60</samp>. Also added a built time option to
increment the major version number of the shared library. This should
allow both Aspell version 0.50 and 0.60 to coexist. The major version
number is <em>not</em> incremented by default as Aspell 0.60 is binary
-compatible with Aspell 0.50. See <a href="Binary-Compatibility.html#Binary-Compatibility">Binary Compatibility</a>.
-<li>The code to handle dictionaries has been rewritten. Because of this
-support for the dictionary option <samp><span class="option">strip-accents</span></samp> has been
-removed. In addition the <samp><span class="option">ignore-accents</span></samp> option is currently
-unimplemented.
-<li>Lots of other minor changes due to massive overhaul of the source code.
+compatible with Aspell 0.50. See <a href="Upgrading-from-Aspell-0_002e50.html#Binary-Compatibility">Binary Compatibility</a>.
+</li><li> The code to handle dictionaries has been rewritten. Because of this
+support for the dictionary option <samp>strip-accents</samp> has been
+removed. In addition the <samp>ignore-accents</samp> option is currently
+unimplemented.
+</li><li> Lots of other minor changes due to massive overhaul of the source code.
-</ul>
+</li></ul>
+<a name="Changes-from-0_002e50_002e4_002e1-to-0_002e50_002e5-_0028Feb-10_002c-2004_0029"></a>
<h3 class="heading">Changes from 0.50.4.1 to 0.50.5 (Feb 10, 2004)</h3>
- <ul>
-<li>Reworked url filter which fixed several bugs and now accepts
-"bla.bla/kdkdl" as a url.
-<li>Fixed bug in which the url filter was coming before all other filters
+<ul>
+<li> Reworked url filter which fixed several bugs and now accepts
+"bla.bla/kdkdl" as a url.
+</li><li> Fixed bug in which the url filter was coming before all other filters
when it was supposed to come after. This solved a number of problems
-where the url filter was interfering with other filters.
-<li>Small bug fix in SGML filter.
-<li>Added code page charsets, ie cp125?.dat.
-<li>Added natural (split) keyboard data file as "split.kbd"
-<li>Compile fixes for the upcoming Gcc 3.4
-<li>Removed Solaris link hack as it was causing more problems than it
-fixes.
-<li>Compile fixes for Sun WorkShop 6 compiler, but there may still be some
-problems, especially with linking.
-<li>Included patch to help compile with Microsoft Visual C++ 6.
-<li>Minor manual fixes.
-<li>Updated the TODO section to reflect the current progress with the next
-major version of Aspell (0.51).
-<li>Updated to Autoconf 2.59, Automake 1.82, and Libtool 1.5.2.
-</ul>
-
+where the url filter was interfering with other filters.
+</li><li> Small bug fix in SGML filter.
+</li><li> Added code page charsets, ie cp125?.dat.
+</li><li> Added natural (split) keyboard data file as "split.kbd"
+</li><li> Compile fixes for the upcoming Gcc 3.4
+</li><li> Removed Solaris link hack as it was causing more problems than it
+fixes.
+</li><li> Compile fixes for Sun WorkShop 6 compiler, but there may still be some
+problems, especially with linking.
+</li><li> Included patch to help compile with Microsoft Visual C++ 6.
+</li><li> Minor manual fixes.
+</li><li> Updated the TODO section to reflect the current progress with the next
+major version of Aspell (0.51).
+</li><li> Updated to Autoconf 2.59, Automake 1.82, and Libtool 1.5.2.
+</li></ul>
+
+<a name="Changes-from-0_002e50_002e4-to-0_002e50_002e4_002e1-_0028Oct-11_002c-2003_0029"></a>
<h3 class="heading">Changes from 0.50.4 to 0.50.4.1 (Oct 11, 2003)</h3>
- <ul>
-<li>Fixed major bug in pipe mode which caused the last character to be
-chopped off words before they were stored.
-<li>Minor formating fixes in the manual.
-</ul>
+<ul>
+<li> Fixed major bug in pipe mode which caused the last character to be
+chopped off words before they were stored.
+</li><li> Minor formating fixes in the manual.
+</li></ul>
+<a name="Changes-from-0_002e50_002e3-to-0_002e50_002e4-_0028Sep-26_002c-2003_0029"></a>
<h3 class="heading">Changes from 0.50.3 to 0.50.4 (Sep 26, 2003)</h3>
- <ul>
-<li>Minor changes in URL filter to avoid treating the double quote
+<ul>
+<li> Minor changes in URL filter to avoid treating the double quote
character as part of the URL, and to avoid treating words ending in
more than one period as a URL.
- <li>Document fixes in Aspell API
+</li><li> Document fixes in Aspell API
- <li>Small compile fixes, including one for GCC 3.3
+</li><li> Small compile fixes, including one for GCC 3.3
- <li>Updated Win32 section since a port now exists thanks to Thorsten
+</li><li> Updated Win32 section since a port now exists thanks to Thorsten
Maerz.
- <li>Complain instead of doing nothing or aborting for unimplemented
+</li><li> Complain instead of doing nothing or aborting for unimplemented
functions in Aspell utility.
- <li>Portability bug fixes.
+</li><li> Portability bug fixes.
- <li>Upgraded to Autoconf 2.57, Automake 1.7.7, Libtool 1.5 (no longer use
-CVS version of libtool).
-</ul>
+</li><li> Upgraded to Autoconf 2.57, Automake 1.7.7, Libtool 1.5 (no longer use
+CVS version of libtool).
+</li></ul>
+<a name="Changes-from-0_002e50_002e2-to-0_002e50_002e3-_0028Nov-23_002c-2002_0029"></a>
<h3 class="heading">Changes from 0.50.2 to 0.50.3 (Nov 23, 2002)</h3>
- <ul>
-<li>Hopefully fixed the Ispell alignment error problem when Aspell is used
+<ul>
+<li> Hopefully fixed the Ispell alignment error problem when Aspell is used
with ispell.el.
- <li>Fixed a problem with personal dictionaries on NFS mounted home
+</li><li> Fixed a problem with personal dictionaries on NFS mounted home
directories.
- <li>Compiled libaspell-common directory into libaspell for now to avoid
+</li><li> Compiled libaspell-common directory into libaspell for now to avoid
forcing applications to relink whenever a new Aspell version is out
-which was due to the use of the libtool '-release' flag.
+which was due to the use of the libtool ’-release’ flag.
- <li>Fixed Makefiles so that Aspell can be built outside the source tree
+</li><li> Fixed Makefiles so that Aspell can be built outside the source tree
(i.e. with VPATH).
- <li>Updated the section on compiling with Win32.
+</li><li> Updated the section on compiling with Win32.
- <li>Updated to Autoconf 2.56.
-</ul>
+</li><li> Updated to Autoconf 2.56.
+</li></ul>
+<a name="Changes-from-0_002e50_002e1-to-0_002e50_002e2-_0028Sep-28_002c-2002_0029"></a>
<h3 class="heading">Changes from 0.50.1 to 0.50.2 (Sep 28, 2002)</h3>
- <ul>
-<li>Fixed a number of bugs in Ispell compatibility mode
+<ul>
+<li> Fixed a number of bugs in Ispell compatibility mode
- <li>Fixed a number of bugs with the handling of replacement pairs
+</li><li> Fixed a number of bugs with the handling of replacement pairs
- <li>Other miscellaneous bug fixes
+</li><li> Other miscellaneous bug fixes
- <li>Additional Win32 portability fixes
+</li><li> Additional Win32 portability fixes
- <li>Added the Ukrainian KOI8-U charset.
-</ul>
+</li><li> Added the Ukrainian KOI8-U charset.
+</li></ul>
+<a name="Changes-from-0_002e50-to-0_002e50_002e1-_0028Aug-28_002c-2002_0029"></a>
<h3 class="heading">Changes from 0.50 to 0.50.1 (Aug 28, 2002)</h3>
- <ul>
-<li>A rather large number of portability fixes for non GNU/Linux platforms.
+<ul>
+<li> A rather large number of portability fixes for non GNU/Linux platforms.
- <li>Fixed pkglibdir and pkgdatadir in configure.
+</li><li> Fixed pkglibdir and pkgdatadir in configure.
- <li>Reintroduced some configure options from Aspell .33.7 included
+</li><li> Reintroduced some configure options from Aspell .33.7 included
dict-dir, data-dir, curses, curses-include, win32-relocatable.
- <li>Fixed Aspell so it will now compile with -O3 when using gcc.
+</li><li> Fixed Aspell so it will now compile with -O3 when using gcc.
- <li>Updated note on Win32 support.
+</li><li> Updated note on Win32 support.
- <li>Other minor manual improvements.
+</li><li> Other minor manual improvements.
- <li>Portability fixes in dictionary files
+</li><li> Portability fixes in dictionary files
- <li>Official dictionary package for the Slovak language.
-</ul>
+</li><li> Official dictionary package for the Slovak language.
+</li></ul>
+<a name="Changes-from-_002e33_002e7_002e1-to-0_002e50-_0028Aug-23_002c-2002_0029"></a>
<h3 class="heading">Changes from .33.7.1 to 0.50 (Aug 23, 2002)</h3>
- <ul>
-<li>A complete overhaul of the source code which included merging Pspell
+<ul>
+<li> A complete overhaul of the source code which included merging Pspell
into Aspell.
- <li>Changed the way dictionaries and languages are handled.
+</li><li> Changed the way dictionaries and languages are handled.
- <li>Added Dvorak keymap.
+</li><li> Added Dvorak keymap.
- <li>Added the ability to list the available dictionaries
+</li><li> Added the ability to list the available dictionaries
- <li>Improved the spell checking interface a bit.
+</li><li> Improved the spell checking interface a bit.
- <li>Added support for using the Ispell keymapping when checking files.
+</li><li> Added support for using the Ispell keymapping when checking files.
- <li>Complete rewrite of the filter interface.
+</li><li> Complete rewrite of the filter interface.
It should now be fairly easy to add new filters to Aspell.
- <li>Added some preliminary developer documentation.
+</li><li> Added some preliminary developer documentation.
- <li>Lots of other changes due to the massive overhaul of the source code.
-</ul>
+</li><li> Lots of other changes due to the massive overhaul of the source code.
+</li></ul>
+<a name="Changes-from-_002e33_002e7-to-_002e33_002e7_002e1-_0028Aug-20_002c-2001_0029"></a>
<h3 class="heading">Changes from .33.7 to .33.7.1 (Aug 20, 2001)</h3>
- <ul>
-<li>Minor manual fixes.
+<ul>
+<li> Minor manual fixes.
- <li>Compile fix for Gcc 3.0 and Solaris.
-</ul>
+</li><li> Compile fix for Gcc 3.0 and Solaris.
+</li></ul>
+<a name="Changes-from-_002e33_002e6_002e3-to-_002e33_002e7-_0028Aug-2_002c-2001_0029"></a>
<h3 class="heading">Changes from .33.6.3 to .33.7 (Aug 2, 2001)</h3>
- <ul>
-<li>Updates to Autoconf 2.50 and switched to the HEAD branch of libtools.
+<ul>
+<li> Updates to Autoconf 2.50 and switched to the HEAD branch of libtools.
- <li>Fixed a bug which caused Aspell to crash when typo-analysis was not
+</li><li> Fixed a bug which caused Aspell to crash when typo-analysis was not
used such as when sug-mode is <strong>fast</strong> or <strong>bad spellers</strong>.
- <li>Added support for typo-analysis even when a soundslike was not used.
+</li><li> Added support for typo-analysis even when a soundslike was not used.
- <li>Fixed a bug which causes extended charters to display incorrectly on
+</li><li> Fixed a bug which causes extended charters to display incorrectly on
some platforms
- <li>Compile fixes so that it will compile with Gcc 3.0.
+</li><li> Compile fixes so that it will compile with Gcc 3.0.
- <li>Compile fixed which should allow Aspell to compile with Egcs 1.1. I
+</li><li> Compile fixed which should allow Aspell to compile with Egcs 1.1. I
have not been able to actually test it though. Please let me know at
kevina@users.sourceforge.net if you have tried with Egcs 1.1.
- <li>Compile and configuration script fixes so that USE_FILE_INO will
+</li><li> Compile and configuration script fixes so that USE_FILE_INO will
properly be defined and Aspell will compile correctly when it is
defined.
- <li>More ANSI C++ compliance fixes.
-</ul>
+</li><li> More ANSI C++ compliance fixes.
+</li></ul>
+<a name="Changes-from-_002e33_002e6_002e2-to-_002e33_002e6_002e3-_0028June-3_002c-2001_0029"></a>
<h3 class="heading">Changes from .33.6.2 to .33.6.3 (June 3, 2001)</h3>
- <ul>
-<li>Fixed a build problem in the manual/ directory by including
-manual-text and manual-html in the distribution.
-</ul>
+<ul>
+<li> Fixed a build problem in the manual/ directory by including
+manual-text and manual-html in the distribution.
+</li></ul>
+<a name="Changes-from-_002e33_002e6_002e1-to-_002e33_002e6_002e2-_0028June-3_002c-2001_0029"></a>
<h3 class="heading">Changes from .33.6.1 to .33.6.2 (June 3, 2001)</h3>
- <ul>
-<li>Compile fix so that Aspell will work correctly when not installed in
+<ul>
+<li> Compile fix so that Aspell will work correctly when not installed in
/usr/local.
- <li>Avoided regenerating the manual unless configured with enable-maintainer-mode.
+</li><li> Avoided regenerating the manual unless configured with enable-maintainer-mode.
- <li>Added the missing documentation files in the scowl directory.
-</ul>
+</li><li> Added the missing documentation files in the scowl directory.
+</li></ul>
+<a name="Changes-from-_002e33_002e6-to-_002e33_002e6_002e1-_0028May-29_002c-2001_0029"></a>
<h3 class="heading">Changes from .33.6 to .33.6.1 (May 29, 2001)</h3>
- <ul>
-<li>Fixed a formating problem with the manual involving <.
+<ul>
+<li> Fixed a formating problem with the manual involving <.
- <li>Added a note about creating pwli files.
+</li><li> Added a note about creating pwli files.
- <li>Removed the space after between the -L and the directory name in the
+</li><li> Removed the space after between the -L and the directory name in the
pspell-module/Makefile which caused problems on some platforms.
- <li>Added the configure option AM_MAINTAINER_MODE to avoid enabling rules
+</li><li> Added the configure option AM_MAINTAINER_MODE to avoid enabling rules
which often causes generated build files to be rebuilt with the wrong
-version of Libtool by default. I don't know why I didn't think to do
-this a long time ago.
-</ul>
+version of Libtool by default. I don’t know why I didn’t think to do
+this a long time ago.
+</li></ul>
+<a name="Changes-from-_002e33_002e5-to-_002e33_002e6-_0028May-18_002c-2001_0029"></a>
<h3 class="heading">Changes from .33.5 to .33.6 (May 18, 2001)</h3>
- <ul>
-<li>Fixed a minor bug where some words would have random compound tags
+<ul>
+<li> Fixed a minor bug where some words would have random compound tags
attached to them.
- <li>Fixed a compile problem on many platforms where fileno is defined as a
+</li><li> Fixed a compile problem on many platforms where fileno is defined as a
macro.
- <li>Updated the description for a few of Aspell's options.
+</li><li> Updated the description for a few of Aspell’s options.
- <li>Removed the note of Aspell not being able to run when compiled with
+</li><li> Removed the note of Aspell not being able to run when compiled with
the upcoming Gcc 3.0 compiler as things seam to work now.
- <li>Added a note about Aspell not being able to compile with Egcs 1.1.
+</li><li> Added a note about Aspell not being able to compile with Egcs 1.1.
- <li>Added hack to deal with Libtool's interdependencies problem. See bug
-#416981 for Pspell for more info.
-</ul>
+</li><li> Added hack to deal with Libtool’s interdependencies problem. See bug
+#416981 for Pspell for more info.
+</li></ul>
+<a name="Changes-from-_002e33-to-_002e33_002e5-_0028April-5_002c-2001_0029"></a>
<h3 class="heading">Changes from .33 to .33.5 (April 5, 2001)</h3>
- <ul>
-<li><strong>dump master</strong> correctly detects which dictionary and language
-to use based on the <samp><span class="env">LANG</span></samp> environment variable.
+<ul>
+<li> <strong>dump master</strong> correctly detects which dictionary and language
+to use based on the <code>LANG</code> environment variable.
- <li>Fixed a problem on Win32 which involves path names that began with
+</li><li> Fixed a problem on Win32 which involves path names that began with
<Drive Letter>:.
- <li>Bug fixes and enhancements so that Aspell can once again run under
+</li><li> Bug fixes and enhancements so that Aspell can once again run under
MinGW. You can even use the new full screen interface if Aspell is
compiled with PDCurses.
- <li>Some major modifications to make Aspell more C++ compliant in order to
+</li><li> Some major modifications to make Aspell more C++ compliant in order to
get Aspell to compile under the upcoming Gcc 3.0 compiler. This
-included only using STL features found in the standard version of C++.
+included only using STL features found in the standard version of C++.
(Which means Aspell will no longer require using the SGI version of
the STL) This should also make compiling C++ under non-gcc compilers a
lot simpler. Please note that Aspell still has some problems with the
upcoming Gcc 3.0 compiler.
- <li>Minor changes to remove some -Wall warnings.
+</li><li> Minor changes to remove some -Wall warnings.
- <li>Added a hack so that Aspell would properly compile as a shared library
+</li><li> Added a hack so that Aspell would properly compile as a shared library
under Solaris.
- <li>Added a few important missing words to the English word list.
-</ul>
+</li><li> Added a few important missing words to the English word list.
+</li></ul>
+<a name="Changes-from-_002e32_002e6-to-_002e33-_0028January-28_002c-2001_0029"></a>
<h3 class="heading">Changes from .32.6 to .33 (January 28, 2001)</h3>
- <ul>
-<li>Added a new new curses based interface to replace the dumb terminal
+<ul>
+<li> Added a new new curses based interface to replace the dumb terminal
interface everyone has been bitching about.
- <li>Added the ability to give higher priority to words such as "the"
-instead of "teh" which are likely to be due to typos.
+</li><li> Added the ability to give higher priority to words such as "the"
+instead of "teh" which are likely to be due to typos.
- <li>Reorganized the manual so that it is hopefully easier to follow.
+</li><li> Reorganized the manual so that it is hopefully easier to follow.
- <li>Ability to automatically select the best dictionary to use based on
-the setting of the <samp><span class="env">LANG</span></samp> environment variable.
+</li><li> Ability to automatically select the best dictionary to use based on
+the setting of the <code>LANG</code> environment variable.
- <li>Expanded the medium dictionary size to include more words which
+</li><li> Expanded the medium dictionary size to include more words which
included the original words found in Ispell and eliminated the large
size for now.
- <li>Added three special variant add-on dictionaries.
+</li><li> Added three special variant add-on dictionaries.
- <li>Switched to the multi-language branch of the CVS version of libtool.
+</li><li> Switched to the multi-language branch of the CVS version of libtool.
-</ul>
+</li></ul>
+<a name="Changes-from-_002e32_002e5-to-_002e32_002e6-_0028Nov-8_002c-2000_0029"></a>
<h3 class="heading">Changes from .32.5 to .32.6 (Nov 8, 2000)</h3>
- <ul>
-<li>Fixed a bug where Aspell would crash when reading-in accented
+<ul>
+<li> Fixed a bug where Aspell would crash when reading-in accented
characters on some platforms. This fixed bug # 112435.
- <li>Fixed some other bugs so that it will run under Win32 under CygWin.
-Unfortunately it still won't run properly under Mingw.
+</li><li> Fixed some other bugs so that it will run under Win32 under CygWin.
+Unfortunately it still won’t run properly under Mingw.
- <li>Fixed the mmap test in configure so that it won't fail on some
+</li><li> Fixed the mmap test in configure so that it won’t fail on some
platforms that use munmap(char *, int) instead of munmap(void *, int).
- <li>Upgraded to the latest CVS version of libtool which fixed the problem
+</li><li> Upgraded to the latest CVS version of libtool which fixed the problem
with using GNU Make under Solaris.
- <li>Added an option to copy files instead of using symbolic links for the
-special <strong>multi</strong> dictionary files.
-</ul>
+</li><li> Added an option to copy files instead of using symbolic links for the
+special <strong>multi</strong> dictionary files.
+</li></ul>
+<a name="Changes-from-_002e32_002e1-to-_002e32_002e5-_0028August-18_002c-2000_0029"></a>
<h3 class="heading">Changes from .32.1 to .32.5 (August 18, 2000)</h3>
- <ul>
-<li>Changed my email from kevinatk at home com to kevina at users
+<ul>
+<li> Changed my email from kevinatk at home com to kevina at users
sourceforge net please make a note of the new email address.
- <li>Added an option to control if the personal replacement dictionary is
+</li><li> Added an option to control if the personal replacement dictionary is
saved when the save_all_wls method is called.
- <li>Brought back the ability to dump the master word list even in the case
+</li><li> Brought back the ability to dump the master word list even in the case
of the special <strong>multi</strong> lists.
- <li>Added a large number of hacker related words and some other slang
+</li><li> Added a large number of hacker related words and some other slang
terms to the medium size word list.
- <li>Added an <strong>ispell</strong> and <strong>spell</strong> compatibility script for
-systems which don't have Ispell installed. They are located in the
+</li><li> Added an <strong>ispell</strong> and <strong>spell</strong> compatibility script for
+systems which don’t have Ispell installed. They are located in the
scripts/ directory and are not installed by default.
- <li>Manual fixes.
+</li><li> Manual fixes.
- <li>Added a note on not using GNU Make on Solaris.
-</ul>
+</li><li> Added a note on not using GNU Make on Solaris.
+</li></ul>
+<a name="Changes-from-_002e32-to-_002e32_002e1-_0028August-5_002c-2000_0029"></a>
<h3 class="heading">Changes from .32 to .32.1 (August 5, 2000)</h3>
- <ul>
-<li>Minor compile fixes for recent gcc snapshot.
+<ul>
+<li> Minor compile fixes for recent gcc snapshot.
- <li>Fixed naming of pwli files.
+</li><li> Fixed naming of pwli files.
- <li>Fixed a bug when Aspell will crash when used with certain single
+</li><li> Fixed a bug when Aspell will crash when used with certain single
letter flags. This bug was most noticeable when used with Emacs.
- <li>Word list changes, see SCOWL Readme.
+</li><li> Word list changes, see SCOWL Readme.
- <li>Other miscellaneous changes.
-</ul>
+</li><li> Other miscellaneous changes.
+</li></ul>
+<a name="Changes-from-_002e31_002e1-to-_002e32-_0028July-23_002c-2000_0029"></a>
<h3 class="heading">Changes from .31.1 to .32 (July 23, 2000)</h3>
- <ul>
-<li>Added support for optionally doing without the soundslike data.
+<ul>
+<li> Added support for optionally doing without the soundslike data.
- <li>Greatly reduced the amount of memory used when creating word lists.
+</li><li> Greatly reduced the amount of memory used when creating word lists.
- <li>Added support for ignoring accents when coming up with suggestions.
+</li><li> Added support for ignoring accents when coming up with suggestions.
- <li>Added support for local-data-dir which is searched before data-dir.
+</li><li> Added support for local-data-dir which is searched before data-dir.
- <li>Added support for specifying which words may be used in compounds and where
+</li><li> Added support for specifying which words may be used in compounds and where
they may be used.
- <li>Added support for having more than one main word list as well as a
+</li><li> Added support for having more than one main word list as well as a
special <strong>multi</strong> word list files which will allow multiple word
lists to be treated as one.
- <li>Aspell now uses a completely new word list.
+</li><li> Aspell now uses a completely new word list.
- <li>The apostrophe (') is no longer considered part of the word when it as
-at the end of the word such as in `<samp><span class="samp">dogs'</span></samp>'.
-</ul>
+</li><li> The apostrophe (’) is no longer considered part of the word when it as
+at the end of the word such as in ‘<samp>dogs'</samp>’.
+</li></ul>
+<a name="Changes-from-_002e31-to-_002e31_002e1-_0028June-18_002c-2000_0029"></a>
<h3 class="heading">Changes from .31 to .31.1 (June 18, 2000)</h3>
- <ul>
-<li>Fixed a bug where Aspell would not create a complete dictionary file
+<ul>
+<li> Fixed a bug where Aspell would not create a complete dictionary file
on some platforms when the data is 8-bit.
- <li>Added a workaround so Aspell will work with ispell.el 3.3.
+</li><li> Added a workaround so Aspell will work with ispell.el 3.3.
- <li>Minor compile fixes so it would compile better with the very latest
+</li><li> Minor compile fixes so it would compile better with the very latest
gcc (CVS Version).
- <li>Removed note about compiling in Win32 as I was now able to get it to work.
-</ul>
+</li><li> Removed note about compiling in Win32 as I was now able to get it to work.
+</li></ul>
+<a name="Changes-from-_002e30_002e1-to-_002e31-_0028June-11_002c-2000_0029"></a>
<h3 class="heading">Changes from .30.1 to .31 (June 11, 2000)</h3>
- <ul>
-<li>Added support for spell checking run together words.
+<ul>
+<li> Added support for spell checking run together words.
- <li>Added an option to produce a list of misspelled words from standard input.
+</li><li> Added an option to produce a list of misspelled words from standard input.
- <li>More robust error reporting when reading in language data files.
+</li><li> More robust error reporting when reading in language data files.
- <li>Fixed a bug that would cause Aspell to crash if the
+</li><li> Fixed a bug that would cause Aspell to crash if the
<strong>special</strong> line was not defined in the language data file.
- <li>Updated Pspell Module.
+</li><li> Updated Pspell Module.
- <li>Minor bug fixes.
+</li><li> Minor bug fixes.
- <li>Added cross references in “The Aspell Utility Chapter” for easier
-use.
-</ul>
+</li><li> Added cross references in “The Aspell Utility Chapter” for easier
+use.
+</li></ul>
+<a name="Changes-from-_002e30-to-_002e30_002e1-_0028April-29_002c-2000_0029"></a>
<h3 class="heading">Changes from .30 to .30.1 (April 29, 2000)</h3>
- <ul>
-<li>Ported Aspell to Win32 platforms.
+<ul>
+<li> Ported Aspell to Win32 platforms.
- <li>Portability fixes which may help Aspell compile on other platforms.
+</li><li> Portability fixes which may help Aspell compile on other platforms.
- <li>Aspell will no longer fail if for some reason the mmap fails, instead
+</li><li> Aspell will no longer fail if for some reason the mmap fails, instead
it will just read the file in as normal and free the memory when done.
- <li>Minor changes in the format of the main word list as a result of the
+</li><li> Minor changes in the format of the main word list as a result of the
changes, the old format should still work in most cases.
- <li>Fixed a bug where Aspell was ignoring the extension of file names such
+</li><li> Fixed a bug where Aspell was ignoring the extension of file names such
as .html or .tex when checking files.
- <li>Fixed a bug where Aspell will go into an infinite loop when creating
+</li><li> Fixed a bug where Aspell will go into an infinite loop when creating
the main word list from a word list which has duplicates in it.
- <li>Minor changes to the manual for better clarity.
-</ul>
+</li><li> Minor changes to the manual for better clarity.
+</li></ul>
+<a name="Changes-from-_002e29_002e1-to-_002e30-_0028April-2_002c-2000_0029"></a>
<h3 class="heading">Changes from .29.1 to .30 (April 2, 2000)</h3>
- <ul>
-<li>Fixed many of the capitalization bugs found in previous versions of
+<ul>
+<li> Fixed many of the capitalization bugs found in previous versions of
Aspell.
- <li>Changed the format of the main word list yet again.
+</li><li> Changed the format of the main word list yet again.
- <li>Fixed a bug so that <code>aspell check</code> will work on the PowerPC.
+</li><li> Fixed a bug so that <code>aspell check</code> will work on the PowerPC.
- <li>Added ability to change configuration options in the middle of a session.
+</li><li> Added ability to change configuration options in the middle of a session.
- <li>Added words from /usr/dict/words found on most Linux systems as well
+</li><li> Added words from /usr/dict/words found on most Linux systems as well
as a bunch of commonly used abbreviations to the word list.
- <li>Fixed a bug where Aspell would dump core after reporting certain errors
+</li><li> Fixed a bug where Aspell would dump core after reporting certain errors
when compiled with gcc 2.95 or higher. This involved reworking the
Exception heritage to get around a bug in gcc 2.95.
- <li>Added a few more commands to the list of default commands the TeX
+</li><li> Added a few more commands to the list of default commands the TeX
filter knows about.
- <li>Aspell will now check if a word only contains valid characters before
+</li><li> Aspell will now check if a word only contains valid characters before
adding it to any dictionaries. This might mean that you have to
manually delete a few words from your personal word list.
- <li>Added option to ignore case when checking a document.
+</li><li> Added option to ignore case when checking a document.
- <li>Adjusted the parameters of the <strong>normal</strong> suggest mode to so that
+</li><li> Adjusted the parameters of the <strong>normal</strong> suggest mode to so that
significantly less far fetched results are returned in cases such as
tomatoe, which went from 100 suggestions down to 32, at the expense of
getting slightly lower results (less than 1%),
- <li>Improved the edit distance algorithm for slightly faster results.
+</li><li> Improved the edit distance algorithm for slightly faster results.
- <li>Removed the `<samp><span class="samp">$$m</span></samp>' command in pipe mode, you should now use
-`<samp><span class="samp">$$cs mode,</span><var>mode</var></samp>' to set the mode and <strong>$$cr mode</strong> to
+</li><li> Removed the ‘<samp>$$m</samp>’ command in pipe mode, you should now use
+‘<samp>$$cs mode,<var>mode</var></samp>’ to set the mode and <strong>$$cr mode</strong> to
find out the current mode.
- <li>Reworked parts of Aspell to use Pspell services to avoid duplicating code.
+</li><li> Reworked parts of Aspell to use Pspell services to avoid duplicating code.
- <li>Added a module for the newly released Pspell. It will get installed
+</li><li> Added a module for the newly released Pspell. It will get installed
with the rest of Aspell.
- <li>Miscellaneous other bug fixes.
-</ul>
+</li><li> Miscellaneous other bug fixes.
+</li></ul>
+<a name="Changes-from-_002e29-to-_002e29_002e1-_0028Feb-18_002c-2000_0029"></a>
<h3 class="heading">Changes from .29 to .29.1 (Feb 18, 2000)</h3>
- <ul>
-<li>Improved the TeX filter so that it will accept '@' at the beginning
-of a command name and ignored trailing '*'s. It also now has better
+<ul>
+<li> Improved the TeX filter so that it will accept ’@’ at the beginning
+of a command name and ignored trailing ’*’s. It also now has better
defaults for which parameters to skip.
- <li>Reworked the main dictionary so that it can be memory mapped in. This
+</li><li> Reworked the main dictionary so that it can be memory mapped in. This
decreases startup time and allows multiple Aspell processes to use the
same memory for the main word list. This also also made Aspell 64 bit
clean so that it should work on an alpha now.
- <li>Fix so that Aspell could compile on platforms that gnu is not yet
+</li><li> Fix so that Aspell could compile on platforms that gnu is not yet
available for.
- <li>Fixed issue with flock so it would compile on FreeBSD.
+</li><li> Fixed issue with flock so it would compile on FreeBSD.
- <li>Minor changes in the code to make it more C++ compliant although I am
+</li><li> Minor changes in the code to make it more C++ compliant although I am
sure there will still be problems when using some other compiler other
than gcc or egcs.
- <li>Added some comments to the header files to better document a few of
-the classes.
-</ul>
+</li><li> Added some comments to the header files to better document a few of
+the classes.
+</li></ul>
+<a name="Changes-from-_002e28_002e3-to-_002e29-_0028Feb-6_002c-2000_0029"></a>
<h3 class="heading">Changes from .28.3 to .29 (Feb 6, 2000)</h3>
- <ul>
-<li>Fixed a bug in the pipe mode with lines that start with
-`<samp><span class="samp">^$$</span></samp>'.
+<ul>
+<li> Fixed a bug in the pipe mode with lines that start with
+‘<samp>^$$</samp>’.
- <li>Added support for ignoring all words less than or equal to a specified length
+</li><li> Added support for ignoring all words less than or equal to a specified length
- <li>New soundslike code based thanks to the contribution of Björn Jacke.
+</li><li> New soundslike code based thanks to the contribution of Björn Jacke.
It now gets all of its data from a table making it easier for other
people to add soundslike code for their native language. He also
converted the metaphone algorithm to table form, eliminating the need
for the old metaphone code.
- <li>Major redesign of the suggestion code for better results.
+</li><li> Major redesign of the suggestion code for better results.
- <li>Changed the format of the personal word lists. In most cases it
+</li><li> Changed the format of the personal word lists. In most cases it
should be converted automatically.
- <li>Changed the format of the main word list.
+</li><li> Changed the format of the main word list.
- <li>Name space cleanup for more consistent naming. I now use name spaces
+</li><li> Name space cleanup for more consistent naming. I now use name spaces
which means that gcc 2.8.* and egcs 1.0.* will no longer cut it.
- <li>Used file locks when reading and saving the personal dictionaries so
+</li><li> Used file locks when reading and saving the personal dictionaries so
that it truly multiprocesses safely.
- <li>Added rudimentary filter support.
+</li><li> Added rudimentary filter support.
- <li>Reworked the configuration system once again. However, the changes to
+</li><li> Reworked the configuration system once again. However, the changes to
the end user who does not directly use my library should be minimal.
- <li>Rewrote my code that handles parsing command line parameters so that
-it no longer used popt as it was causing too many problems and didn't
+</li><li> Rewrote my code that handles parsing command line parameters so that
+it no longer used popt as it was causing too many problems and didn’t
integrate well with my new configuration system.
- <li>Fixed pipe mode so that it will properly ignore lines starting with
-'~' for better Ispell compatibility.
+</li><li> Fixed pipe mode so that it will properly ignore lines starting with
+’~’ for better Ispell compatibility.
- <li>Aspell now has a new home page at
+</li><li> Aspell now has a new home page at
<a href="http://aspell.sourceforge.net/">http://aspell.sourceforge.net/</a>. Please make note of the new
URL.
- <li>Miscellaneous manual fixes and clarifications.
-</ul>
+</li><li> Miscellaneous manual fixes and clarifications.
+</li></ul>
+<a name="Changes-from-_002e28_002e2_002e1-to-_002e28_002e3-_0028Nov-20_002c-1999_0029"></a>
<h3 class="heading">Changes from .28.2.1 to .28.3 (Nov 20, 1999)</h3>
- <ul>
-<li>Fixed a bug that caused Aspell to crash when spell checking words over
+<ul>
+<li> Fixed a bug that caused Aspell to crash when spell checking words over
60 characters long.
- <li>Reworked <strong>aspell check</strong> so that
- <ol type=1 start=1>
-<li>You no longer have to hit enter when making a choice.
+</li><li> Reworked <strong>aspell check</strong> so that
+<ol>
+<li> You no longer have to hit enter when making a choice.
- <li>It will now overwrite the original file instead of creating a new
+</li><li> It will now overwrite the original file instead of creating a new
file. An optional backup can be made by using the -b option.
- </ol>
+</li></ol>
- <li>Fixed a few bugs in data.cc.
-</ul>
+</li><li> Fixed a few bugs in data.cc.
+</li></ul>
+<a name="Changes-from-_002e28_002e2-to-_002e28_002e2_002e1-_0028Aug-25_002c-1999_0029"></a>
<h3 class="heading">Changes from .28.2 to .28.2.1 (Aug 25, 1999)</h3>
- <ul>
-<li>Fixed the version number for the shared library.
+<ul>
+<li> Fixed the version number for the shared library.
- <li>Fixed a problem with undefined references when linking to the shared library.
-</ul>
+</li><li> Fixed a problem with undefined references when linking to the shared library.
+</li></ul>
+<a name="Changes-from-_002e28_002e1-to-_002e28_002e2-_0028Aug-25_002c-1999_0029"></a>
<h3 class="heading">Changes from .28.1 to .28.2 (Aug 25, 1999)</h3>
- <ul>
-<li>Fixed a bunch of bugs in the language and configuration classes.
+<ul>
+<li> Fixed a bunch of bugs in the language and configuration classes.
- <li>Minor changes in the code so that it could compile with the new gcc
+</li><li> Minor changes in the code so that it could compile with the new gcc
2.95(.1).
- <li>Changed the output of <code>dump config</code> so that default values are
+</li><li> Changed the output of <code>dump config</code> so that default values are
given the value <code><default></code>. This means that the output can
be used to create a configuration file.
- <li>Added notes on using Aspell with VIM.
-</ul>
+</li><li> Added notes on using Aspell with VIM.
+</li></ul>
+<a name="Changes-from-_002e28-to-_002e28_002e1-_0028July-27_002c-1999_0029"></a>
<h3 class="heading">Changes from .28 to .28.1 (July 27, 1999)</h3>
- <ul>
-<li>Removed some debug output
+<ul>
+<li> Removed some debug output
- <li>Changed notes on compiling with gcc 2.8.* as I managed to get it to
+</li><li> Changed notes on compiling with gcc 2.8.* as I managed to get it to
compile on my school account
- <li>Avoided including <strong>stdexcept</strong> in <samp><span class="file">const_string.hh</span></samp> so that
-I could get Aspell to compile on my school account with gcc 2.8.1.
-</ul>
+</li><li> Avoided including <strong>stdexcept</strong> in <samp>const_string.hh</samp> so that
+I could get Aspell to compile on my school account with gcc 2.8.1.
+</li></ul>
+<a name="Changes-from-_002e27_002e2-to-_002e28-_0028July-25_002c-1999_0029"></a>
<h3 class="heading">Changes from .27.2 to .28 (July 25, 1999)</h3>
- <ul>
-Provided an iterator for the replacement classes.
+<ul>
+<li>Provided an iterator for the replacement classes.
- <li>Added support for dumping and creating and merging the personal and
+</li><li> Added support for dumping and creating and merging the personal and
replacement word lists.
- <li>Changed the Aspell utility command line a bit, it now used popt.
+</li><li> Changed the Aspell utility command line a bit, it now used popt.
- <li>Totally reworked Aspell configuration system. Now Aspell could get
+</li><li> Totally reworked Aspell configuration system. Now Aspell could get
configuration from any of 5 sources: the command line, the environment
-variable <samp><span class="env">ASPELL_CONF</span></samp>, the personal configuration file, the
+variable <code>ASPELL_CONF</code>, the personal configuration file, the
global configuration file, and finally the compiled-in defaults.
- <li>Totally reworked the language class in preparation for my new language
+</li><li> Totally reworked the language class in preparation for my new language
code. See <a href="http://aspell.sourceforge.net/international/">http://aspell.sourceforge.net/international/</a> for more
information of what I have in store.
- <li>Added some options to the configure script: –enable-dict-dir=DIR,
+</li><li> Added some options to the configure script: –enable-dict-dir=DIR,
–enable-doc-dir=DIR, –enable-debug, and –enable-opt
- <li>Removed some old header files.
+</li><li> Removed some old header files.
- <li>Reorganized the directory structure a bit
+</li><li> Reorganized the directory structure a bit
- <li>Made the text version of the manual pages slightly easier to read
+</li><li> Made the text version of the manual pages slightly easier to read
- <li>Used the `<samp><span class="samp">\url</span></samp>' command for urls for better formating of the
-printed version.
-</ul>
+</li><li> Used the ‘<samp>\url</samp>’ command for urls for better formating of the
+printed version.
+</li></ul>
+<a name="Changes-from-_002e27_002e1-to-_002e27_002e2-_0028Mar-1_002c-1999_0029"></a>
<h3 class="heading">Changes from .27.1 to .27.2 (Mar 1, 1999)</h3>
- <ul>
-<li>Fixed a major bug that caused Aspell to dump core when used without
+<ul>
+<li> Fixed a major bug that caused Aspell to dump core when used without
any arguments
- <li>Fixed another major bug that caused Aspell to do nothing when used in
+</li><li> Fixed another major bug that caused Aspell to do nothing when used in
interactive mode.
- <li>Added an option to exit in Aspell's interactive mode.
+</li><li> Added an option to exit in Aspell’s interactive mode.
- <li>Removed some old documentation files from the distribution.
+</li><li> Removed some old documentation files from the distribution.
- <li>Minor changes to the the section on using Aspell with egcs.
+</li><li> Minor changes to the the section on using Aspell with egcs.
- <li>Minor changes to remove -Wall warnings.
-</ul>
+</li><li> Minor changes to remove -Wall warnings.
+</li></ul>
+<a name="Changes-from-_002e27-to-_002e27_002e1-_0028Feb-24_002c-1999_0029"></a>
<h3 class="heading">Changes from .27 to .27.1 (Feb 24, 1999)</h3>
- <ul>
-<li>Fixed a minor compile problem.
+<ul>
+<li> Fixed a minor compile problem.
- <li>Updated the section on using Aspell with egcs to it. It was now more
-clear why the patch was necessary.
-</ul>
+</li><li> Updated the section on using Aspell with egcs to it. It was now more
+clear why the patch was necessary.
+</li></ul>
+<a name="Changes-from-_002e26_002e2-to-_002e27-_0028Feb-22_002c-1999_0029"></a>
<h3 class="heading">Changes from .26.2 to .27 (Feb 22, 1999)</h3>
- <ul>
-<li>Totally reworked the C++ library which means you may need to change
+<ul>
+<li> Totally reworked the C++ library which means you may need to change
some things in your code.
- <li>Added support for detachable and multiple personal dictionaries in the
+</li><li> Added support for detachable and multiple personal dictionaries in the
C++ class library.
- <li>The C++ class library now throws exceptions.
+</li><li> The C++ class library now throws exceptions.
- <li>Reworked Aspell ability to learn from users misspellings a bit so that
+</li><li> Reworked Aspell ability to learn from users misspellings a bit so that
it now has a memory. For more information see <a href="Notes-on-Storing-Replacement-Pairs.html#Notes-on-Storing-Replacement-Pairs">Notes on Storing Replacement Pairs</a>.
- <li>Upgraded autoconf to version 2.13 and automake to version 1.4 for
+</li><li> Upgraded autoconf to version 2.13 and automake to version 1.4 for
better portability.
- <li>Fixed the configuration so the <code>make dist</code> will work. From now on
+</li><li> Fixed the configuration so the <code>make dist</code> will work. From now on
Aspell will be distributed with <code>make dist</code>.
- <li>Added support to skip over URL's, email addresses and host names.
+</li><li> Added support to skip over URL’s, email addresses and host names.
- <li>Added support for dumping the master and personal word list. You can
+</li><li> Added support for dumping the master and personal word list. You can
now also merge a personal word list. Type aspell -help for help on
using this feature.
- <li>Reorganized the source code.
- <li>Started using proper version numbers for the shared library.
+</li><li> Reorganized the source code.
- <li>Fixed a bug that caused Aspell to crash when adding certain
+</li><li> Started using proper version numbers for the shared library.
+
+</li><li> Fixed a bug that caused Aspell to crash when adding certain
replacement pairs.
- <li>Fixed the problem with duplicate lines when exiting pipe mode for
-good.
-</ul>
+</li><li> Fixed the problem with duplicate lines when exiting pipe mode for
+good.
+</li></ul>
+<a name="Changed-from-_002e26_002e1-to-_002e26_002e2-_0028Jan-3_002c-1998_0029"></a>
<h3 class="heading">Changed from .26.1 to .26.2 (Jan 3, 1998)</h3>
- <ul>
-<li>Fixed another compile problem. Hopefully this time it will really
-compile OK on other peoples machines.
-</ul>
+<ul>
+<li> Fixed another compile problem. Hopefully this time it will really
+compile OK on other peoples machines.
+</li></ul>
+<a name="Changed-from-_002e26-to-_002e26_002e1-_0028Jan-3_002c-1998_0029"></a>
<h3 class="heading">Changed from .26 to .26.1 (Jan 3, 1998)</h3>
- <ul>
-<li>Fixed a small compile problem in <samp><span class="file">as_data.cc</span></samp>.
-</ul>
+<ul>
+<li> Fixed a small compile problem in <samp>as_data.cc</samp>.
+</li></ul>
+<a name="Changed-from-_002e25_002e1-to-_002e26-_0028Jan-3_002c-1999_0029"></a>
<h3 class="heading">Changed from .25.1 to .26 (Jan 3, 1999)</h3>
- <ul>
-<li>Fixed a bug that caused duplicate items to be displayed in the
+<ul>
+<li> Fixed a bug that caused duplicate items to be displayed in the
suggestion list for good. (If it still does it please send me email.)
- <li>Added the ability for Aspell to learn form the users misspellings.
+</li><li> Added the ability for Aspell to learn form the users misspellings.
- <li>Library Interface changes. Still more to come <small class="dots">...</small>.
+</li><li> Library Interface changes. Still more to come ….
- <li>Is now multiprocess safe. When a personal dictionary (or replacement
+</li><li> Is now multiprocess safe. When a personal dictionary (or replacement
list) is saved it will now first update the list against the dictionary
on disk in case another process modified it.
- <li>Fixed the bug that caused duplicate output when used non interactively
+</li><li> Fixed the bug that caused duplicate output when used non interactively
in pipe mode.
- <li>Dropped support for gcc 2.7.2 as the C++ compiler.
+</li><li> Dropped support for gcc 2.7.2 as the C++ compiler.
- <li>Updated the How Aspell Works (<a href="Aspell-Suggestion-Strategy.html#Aspell-Suggestion-Strategy">Aspell Suggestion Strategy</a>.)
+</li><li> Updated the How Aspell Works (<a href="Aspell-Suggestion-Strategy.html#Aspell-Suggestion-Strategy">Aspell Suggestion Strategy</a>.)
- <li>Added support for the <samp><span class="env">ASPELL_DATA_DIR</span></samp> environment variable.
-</ul>
+</li><li> Added support for the <code>ASPELL_DATA_DIR</code> environment variable.
+</li></ul>
+<a name="Changes-from-_002e25-to-_002e25_002e1-_0028Dec-10_002c-1998_0029"></a>
<h3 class="heading">Changes from .25 to .25.1 (Dec 10, 1998)</h3>
- <ul>
-<li>Fixed the version number so that Aspell reports the correct version
+<ul>
+<li> Fixed the version number so that Aspell reports the correct version
number.
- <li>Changed the note on gcc 2.7.2 compilers to make it clear that only the
+</li><li> Changed the note on gcc 2.7.2 compilers to make it clear that only the
C++ compiler cannot be gcc 2.7.2, it is OK if the C compiler is gcc
2.7.2.
- <li>Updated the TODO list and reorganized it a bit.
+</li><li> Updated the TODO list and reorganized it a bit.
- <li>Fixed the directory so that all the documentation will get installed
+</li><li> Fixed the directory so that all the documentation will get installed
in <tt>${prefix}/doc/aspell</tt> instead of half of it in
<tt>${prefix}/doc/aspell</tt> and half of it in
-<tt>${prefix}/doc/kspell</tt>.
-</ul>
+<tt>${prefix}/doc/kspell</tt>.
+</li></ul>
+<a name="Changes-from-_002e24-to-_002e25-_0028Nov-23_002c-1998_0029"></a>
<h3 class="heading">Changes from .24 to .25 (Nov 23, 1998)</h3>
- <ul>
-<li>Total rework of how the main word list is stored. Start up time
+<ul>
+<li> Total rework of how the main word list is stored. Start up time
decreased to about 1/3 of what it was in .24 and memory usage
decreased to about 2/3. (When used with the provided word list on a
Linux system).
- <p>Also the format and default locations of the main word list data files
+<p>Also the format and default locations of the main word list data files
changed in the process and the data is now machine dependent. The
personal word list format, however, stayed the same.
-
- <li>Changed the scoring method to produce slightly better results with
+</p>
+</li><li> Changed the scoring method to produce slightly better results with
words like the vs. teh. And other simpler misspellings where two
letters are swapped.
- <li>Fixed the very unpredictable behavior of the `<samp><span class="samp">*</span></samp>', `<samp><span class="samp">&</span></samp>',
-`<samp><span class="samp">@</span></samp>' commands in the pipe mode.
+</li><li> Fixed the very unpredictable behavior of the ‘<samp>*</samp>’, ‘<samp>&</samp>’,
+‘<samp>@</samp>’ commands in the pipe mode.
- <li>Added documentations for Aspell pipe mode (also known as
-<samp><span class="command">ispell -a</span></samp> compatibility mode)
+</li><li> Added documentations for Aspell pipe mode (also known as
+<code>ispell -a</code> compatibility mode)
- <li>Added a bunch of Aspell specific extensions to the pipe mode and
+</li><li> Added a bunch of Aspell specific extensions to the pipe mode and
documented them.
- <li>Documented the <code>to_soundslike</code> and <code>soundslike</code> methods for
+</li><li> Documented the <code>to_soundslike</code> and <code>soundslike</code> methods for
the <code>aspell</code> class.
- <li>Changed the scoring method to produce better results for words like
+</li><li> Changed the scoring method to produce better results for words like
<em>fone</em> vs <em>phone</em> and other words that have a spelling that
-doesn't directly relate to how the word sounds by using the phoneme
+doesn’t directly relate to how the word sounds by using the phoneme
equivalent of the word in the scoring of it.
- <li>Added the <code>to_phoneme</code> and <code>have_phoneme</code> methods to the
+</li><li> Added the <code>to_phoneme</code> and <code>have_phoneme</code> methods to the
<code>SC_Language</code> class.
- <li>Added the <code>to_phoneme</code> method to the <code>aspell</code> class.
+</li><li> Added the <code>to_phoneme</code> method to the <code>aspell</code> class.
- <li>Added the framework for being able to learn from the users
+</li><li> Added the framework for being able to learn from the users
misspelling. Right now it just keeps a log of replacements.
- <li>Redid <samp><span class="file">stl_rope-30.diff</span></samp>. For some reason the version of patch
+</li><li> Redid <samp>stl_rope-30.diff</samp>. For some reason the version of patch
on my system refused it.
- <li>Rewrite of the “<em>Using as a replacement for Ispell</em>” section
+</li><li> Rewrite of the “<em>Using as a replacement for Ispell</em>” section
and added the <code>run-with-aspell</code> utility as a replacement of the
old method of mapping Ispell to Aspell.
- <li>Fixed a bug that caused duplicate words to appear in the suggestion
-list.
-</ul>
+</li><li> Fixed a bug that caused duplicate words to appear in the suggestion
+list.
+</li></ul>
+<a name="Changes-from-_002e23-to-_002e24-_0028Nov-8_002c-1998_0029"></a>
<h3 class="heading">Changes from .23 to .24 (Nov 8, 1998)</h3>
- <ul>
-<li>Fixed my code so that it can once again compile with g++ 2.7.2.
+<ul>
+<li> Fixed my code so that it can once again compile with g++ 2.7.2.
- <li>Rewrote the How It Works chapter.
+</li><li> Rewrote the How It Works chapter.
- <li>Rewrote the Requirement section and added notes on compiling with g++
+</li><li> Rewrote the Requirement section and added notes on compiling with g++
2.7.2.
- <li>Added a To Do chapter.
+</li><li> Added a To Do chapter.
- <li>Added a Glossary and References chapter.
+</li><li> Added a Glossary and References chapter.
- <li>Other minor documentation improvements.
+</li><li> Other minor documentation improvements.
- <li>Internal code documentation improvements.
-</ul>
+</li><li> Internal code documentation improvements.
+</li></ul>
+<a name="Changes-from-_002e22_002e1-to-_002e23-_0028Oct-31_002c-1998_0029"></a>
<h3 class="heading">Changes from .22.1 to .23 (Oct 31, 1998)</h3>
- <ul>
-<li>Minor documentation fixes.
+<ul>
+<li> Minor documentation fixes.
- <li>Changed the scoring strategy for words with 3 or less letters. This
+</li><li> Changed the scoring strategy for words with 3 or less letters. This
cut the number of words returned for these roughly in half.
- <li>Expanded the word list to also include <strong>american.0</strong> and
+</li><li> Expanded the word list to also include <strong>american.0</strong> and
<strong>american.1</strong> from the Ispell distribution. It now includes
<strong>english.0</strong>, <strong>english.1</strong>, <strong>american.0</strong> and
-<strong>american.1</strong> from the directory <samp><span class="file">languages/english</span></samp>
+<strong>american.1</strong> from the directory <samp>languages/english</samp>
provided with Ispell 3.1.20.
- <li>Added a link to the location of the latest Ispell.el in the
+</li><li> Added a link to the location of the latest Ispell.el in the
documentation.
- <li>Started a C interface and added some rough documentation for it.
-</ul>
+</li><li> Started a C interface and added some rough documentation for it.
+</li></ul>
+<a name="Changes-from-_002e22-to-_002e22_002e1-_0028Oct-27_002c-1998_0029"></a>
<h3 class="heading">Changes from .22 to .22.1 (Oct 27, 1998)</h3>
- <ul>
-<li>Minor bug fixes. I was deleting arrays with delete rather than
+<ul>
+<li> Minor bug fixes. I was deleting arrays with delete rather than
delete[]. I was suprised that this had not created a problem.
- <li>Added a simple test program to test for a memory leak present on some
+</li><li> Added a simple test program to test for a memory leak present on some
systems. (Only debian slink at the moment.) See the file
-memleak-test.cc for more info.
-</ul>
+memleak-test.cc for more info.
+</li></ul>
+<a name="Changes-from-_002e21-to-_002e22-_0028Oct-26_002c-1998_0029"></a>
<h3 class="heading">Changes from .21 to .22 (Oct 26, 1998)</h3>
- <ul>
-<li>Major redesign of the scoring method. It now uses absolute distances
+<ul>
+<li> Major redesign of the scoring method. It now uses absolute distances
rather than relative scores for more consistent results. See
-<samp><span class="file">suggest.cc</span></samp> for more info.
+<samp>suggest.cc</samp> for more info.
- <li>Suggest code rewritten in several places, however the core process
+</li><li> Suggest code rewritten in several places, however the core process
stayed the same.
- <li>The <code>suggest_ultra</code> method temporarily does nothing. It should
-be working again by the next release.
-</ul>
+</li><li> The <code>suggest_ultra</code> method temporarily does nothing. It should
+be working again by the next release.
+</li></ul>
+<a name="Changes-from-_002e20-to-_002e21-_0028Oct-13_002c-1998_0029"></a>
<h3 class="heading">Changes from .20 to .21 (Oct 13, 1998)</h3>
- <ul>
-<li>Added documentation for aspell::Error
+<ul>
+<li> Added documentation for aspell::Error
- <li>
+</li><li>
Changed the library name from <code>libspell</code> to <code>libaspell</code>. It
should never have been <code>libspell</code> in the first place. Sorry for
the incompatibility.
- <li>Added <samp><span class="file">as_error.hh</span></samp> to the list of files copied to the include
+</li><li> Added <samp>as_error.hh</samp> to the list of files copied to the include
directory so that you can actually use the library outside of the
source dir.
- <li>Fixed bug that caused a segmentation fault with words where the only
+</li><li> Fixed bug that caused a segmentation fault with words where the only
suggestions was inserting a space or hyphen such as in
<strong>ledgerline</strong>.
- <li>Added the <strong>score</strong> method to <code>aspell</code>.
+</li><li> Added the <strong>score</strong> method to <code>aspell</code>.
- <li>Changed the scoring method to deal with word when the user uses "f" in
-place of "ph" a lot better.
-</ul>
+</li><li> Changed the scoring method to deal with word when the user uses "f" in
+place of "ph" a lot better.
+</li></ul>
+<a name="Changes-from-_002e11-to-_002e20-_0028Oct-10_002c-1998_0029"></a>
<h3 class="heading">Changes from .11 to .20 (Oct 10, 1998)</h3>
- <ul>
-<li><em>Name change</em>. Everything that was Kspell is now Aspell. Sorry,
-the name Kspell was already used by KDE and I didn't want to cause any
+<ul>
+<li> <em>Name change</em>. Everything that was Kspell is now Aspell. Sorry,
+the name Kspell was already used by KDE and I didn’t want to cause any
confusion.
- <li>Fixed a bug that causes a segmentation fault when the <samp><span class="env">HOME</span></samp>
-environment variable doesn't exist.
-</ul>
+</li><li> Fixed a bug that causes a segmentation fault when the <code>HOME</code>
+environment variable doesn’t exist.
+</li></ul>
+<a name="Changes-from-_002e10-to-_002e11-_0028Sep-12_002c-1998_0029"></a>
<h3 class="heading">Changes from .10 to .11 (Sep 12, 1998)</h3>
- <ul>
-<li>Overhaul of the SC_Language class
+<ul>
+<li> Overhaul of the SC_Language class
+
+</li><li> Added documentation for international support
+
+</li><li> Added documentation for the C++ library
- <li>Added documentation for international support
+</li><li> Other minor bug fixes.
+</li></ul>
- <li>Added documentation for the C++ library
+<hr>
+<div class="header">
+<p>
+Next: <a href="Authors.html#Authors" accesskey="n" rel="next">Authors</a>, Previous: <a href="Installing.html#Installing" accesskey="p" rel="prev">Installing</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
- <li>Other minor bug fixes.
-</ul>
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Compiling the Word List - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" title="Adding Support For Other Languages">
-<link rel="prev" href="The-Language-Data-File.html#The-Language-Data-File" title="The Language Data File">
-<link rel="next" href="Phonetic-Code.html#Phonetic-Code" title="Phonetic Code">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Compiling the Word List</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Compiling the Word List">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" rel="up" title="Adding Support For Other Languages">
+<link href="Phonetic-Code.html#Phonetic-Code" rel="next" title="Phonetic Code">
+<link href="The-Language-Data-File.html#The-Language-Data-File" rel="prev" title="The Language Data File">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Compiling-the-Word-List"></a>
-Next: <a rel="next" accesskey="n" href="Phonetic-Code.html#Phonetic-Code">Phonetic Code</a>,
-Previous: <a rel="previous" accesskey="p" href="The-Language-Data-File.html#The-Language-Data-File">The Language Data File</a>,
-Up: <a rel="up" accesskey="u" href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages">Adding Support For Other Languages</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Phonetic-Code.html#Phonetic-Code" accesskey="n" rel="next">Phonetic Code</a>, Previous: <a href="The-Language-Data-File.html#The-Language-Data-File" accesskey="p" rel="prev">The Language Data File</a>, Up: <a href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" accesskey="u" rel="up">Adding Support For Other Languages</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Compiling-the-Word-List-1"></a>
<h3 class="section">7.2 Compiling the Word List</h3>
<p>Once you have a working language data file installed in the right
place you are ready to compile the main word list. To find out what
to do, see <a href="Working-With-Dictionaries.html#Working-With-Dictionaries">Working With Dictionaries</a>. This section also
includes instructions for creating the AWLI file.
+</p>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Compound Words - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Language-Related-Issues.html#Language-Related-Issues" title="Language Related Issues">
-<link rel="next" href="Words-With-Symbols-in-Them.html#Words-With-Symbols-in-Them" title="Words With Symbols in Them">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Compound Words</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Compound Words">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Language-Related-Issues.html#Language-Related-Issues" rel="up" title="Language Related Issues">
+<link href="Words-With-Symbols-in-Them.html#Words-With-Symbols-in-Them" rel="next" title="Words With Symbols in Them">
+<link href="Language-Related-Issues.html#Language-Related-Issues" rel="prev" title="Language Related Issues">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Compound-Words"></a>
-Next: <a rel="next" accesskey="n" href="Words-With-Symbols-in-Them.html#Words-With-Symbols-in-Them">Words With Symbols in Them</a>,
-Up: <a rel="up" accesskey="u" href="Language-Related-Issues.html#Language-Related-Issues">Language Related Issues</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Words-With-Symbols-in-Them.html#Words-With-Symbols-in-Them" accesskey="n" rel="next">Words With Symbols in Them</a>, Up: <a href="Language-Related-Issues.html#Language-Related-Issues" accesskey="u" rel="up">Language Related Issues</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Compound-Words-1"></a>
<h3 class="appendixsec">C.1 Compound Words</h3>
<p>In some languages, such as German, it is acceptable to string two words
unconditionally stringing words together. I tried implementing more
sophisticated support for compound words in Aspell but it was too
limiting and no one used it.
-
- <p>After receiving feedback from several people it seems that acceptable
-support for compound words involved two basically independent parts.
+</p>
+<p>After receiving feedback from several people it seems that acceptable
+support for compound words involved two basically independent parts.
If this is not sufficient for your language please let me know.
-
+</p>
+<a name="Part-One"></a>
<h3 class="heading">Part One</h3>
<p>Describes how the word needs to be changed when forming a compound
-
-<pre class="example"> CMP <flag> <strip> <add> <cond> <cond2>
-
- <flag> is the compound flag
- <strip> is the string to strip or 0 for the null string
- <add> is the string to add or 0 for the null string
- <cond> is the condition to match at the end of the current word
- <cond2> is the condition to match at the beginning of the next word
-</pre>
- <p class="noindent">All but the last field are the same as a suffix entry in the existing
+</p>
+<div class="example">
+<pre class="example">CMP <flag> <strip> <add> <cond> <cond2>
+
+<flag> is the compound flag
+<strip> is the string to strip or 0 for the null string
+<add> is the string to add or 0 for the null string
+<cond> is the condition to match at the end of the current word
+<cond2> is the condition to match at the beginning of the next word
+</pre></div>
+
+<p>All but the last field are the same as a suffix entry in the existing
affix code.
-
- <p><cond> is a simplified regular expression. Some examples:
-<pre class="example"> . (for anything)
- e
- [^aeiou]y
- [^ey]
- [aeiou]y
-</pre>
- <p>It does not seem necessary to change the beginning of a word when
+</p>
+<p><cond> is a simplified regular expression. Some examples:
+</p><div class="example">
+<pre class="example">. (for anything)
+e
+[^aeiou]y
+[^ey]
+[aeiou]y
+</pre></div>
+
+<p>It does not seem necessary to change the beginning of a word when
forming compounds
-
+</p>
+<a name="Part-Two"></a>
<h3 class="heading">Part Two</h3>
<p>Describes the position a word can appear in (beginning, middle, or
end) and with which words.
-
- <p>To do this each word can be assigned a category. Then each category
+</p>
+<p>To do this each word can be assigned a category. Then each category
can be given a set of rules to describe how it can be used in a
compound word for example
-
-<pre class="example"> A + B: indicates that category A may appear at the beginning of a
- word when followed by a category B word. When combined it is then
- considered a category B word.
- A + C + B: here a C word may only appear between an A or B word
- A + A + B
- A + A
- A + A + A
- etc..
-</pre>
- <p>I have not decided if a word should be allowed to belong to more than
+</p>
+<div class="example">
+<pre class="example">A + B: indicates that category A may appear at the beginning of a
+ word when followed by a category B word. When combined it is then
+ considered a category B word.
+A + C + B: here a C word may only appear between an A or B word
+A + A + B
+A + A
+A + A + A
+etc..
+</pre></div>
+
+<p>I have not decided if a word should be allowed to belong to more than
one category as a new category can be created in necessary to mean
words in both category A and B for example.
-
+</p>
+<a name="To-Implement"></a>
<h4 class="appendixsubsec">C.1.1 To Implement</h4>
<p>To implement support for compound words based on the above description
the following will need to be done:
-
- <ol type=1 start=1>
-
- <li>expand the affix code to support special compound flags as
+</p>
+<ol>
+<li> expand the affix code to support special compound flags as
described in part one
- <li>write code to store the conditions as described in part two
+</li><li> write code to store the conditions as described in part two
- <li>expand the compound checking code to check against the conditions
+</li><li> expand the compound checking code to check against the conditions
- <li>expand the dictionary format to store the necessary compound info
+</li><li> expand the dictionary format to store the necessary compound info
with the word
- </ol>
+</li></ol>
- <p>I don't know when I will be able to actually implement this. If you
+<p>I don’t know when I will be able to actually implement this. If you
would like to try please let me know.
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Words-With-Symbols-in-Them.html#Words-With-Symbols-in-Them" accesskey="n" rel="next">Words With Symbols in Them</a>, Up: <a href="Language-Related-Issues.html#Language-Related-Issues" accesskey="u" rel="up">Language Related Issues</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Context Sensitive Spelling - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Language-Related-Issues.html#Language-Related-Issues" title="Language Related Issues">
-<link rel="prev" href="German-Sharp-S.html#German-Sharp-S" title="German Sharp S">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Context Sensitive Spelling</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Context Sensitive Spelling">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Language-Related-Issues.html#Language-Related-Issues" rel="up" title="Language Related Issues">
+<link href="To-Do.html#To-Do" rel="next" title="To Do">
+<link href="German-Sharp-S.html#German-Sharp-S" rel="prev" title="German Sharp S">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Context-Sensitive-Spelling"></a>
-Previous: <a rel="previous" accesskey="p" href="German-Sharp-S.html#German-Sharp-S">German Sharp S</a>,
-Up: <a rel="up" accesskey="u" href="Language-Related-Issues.html#Language-Related-Issues">Language Related Issues</a>
-<hr>
+<div class="header">
+<p>
+Previous: <a href="German-Sharp-S.html#German-Sharp-S" accesskey="p" rel="prev">German Sharp S</a>, Up: <a href="Language-Related-Issues.html#Language-Related-Issues" accesskey="u" rel="up">Language Related Issues</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Context-Sensitive-Spelling-1"></a>
<h3 class="appendixsec">C.5 Context Sensitive Spelling</h3>
<p>In some language, such as Luxembourgish, the spelling of a word depends
-on which words surround it. For example the the letter `<samp><span class="samp">n</span></samp>' at the
+on which words surround it. For example the the letter ‘<samp>n</samp>’ at the
end of a word will disappear if it is followed by another word starting
-with a certain letter such as an `<samp><span class="samp">s</span></samp>'. However, it can probably get
+with a certain letter such as an ‘<samp>s</samp>’. However, it can probably get
more complicated than that. I would like to know how complicated before
I attempt to implement support for context sensitive spelling.
+</p>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Controlling the Behavior of Run-together Words - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" title="Adding Support For Other Languages">
-<link rel="prev" href="Affix-Compression.html#Affix-Compression" title="Affix Compression">
-<link rel="next" href="Creating-A-New-Character-Set.html#Creating-A-New-Character-Set" title="Creating A New Character Set">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Controlling the Behavior of Run-together Words</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Controlling the Behavior of Run-together Words">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" rel="up" title="Adding Support For Other Languages">
+<link href="Creating-A-New-Character-Set.html#Creating-A-New-Character-Set" rel="next" title="Creating A New Character Set">
+<link href="Affix-Compression.html#Affix-Compression" rel="prev" title="Affix Compression">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
-<a name="Controlling-the-Behavior-of-Run-together-Words"></a>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Controlling-the-Behavior-of-Run_002dtogether-Words"></a>
-Next: <a rel="next" accesskey="n" href="Creating-A-New-Character-Set.html#Creating-A-New-Character-Set">Creating A New Character Set</a>,
-Previous: <a rel="previous" accesskey="p" href="Affix-Compression.html#Affix-Compression">Affix Compression</a>,
-Up: <a rel="up" accesskey="u" href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages">Adding Support For Other Languages</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Creating-A-New-Character-Set.html#Creating-A-New-Character-Set" accesskey="n" rel="next">Creating A New Character Set</a>, Previous: <a href="Affix-Compression.html#Affix-Compression" accesskey="p" rel="prev">Affix Compression</a>, Up: <a href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" accesskey="u" rel="up">Adding Support For Other Languages</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Controlling-the-Behavior-of-Run_002dtogether-Words-1"></a>
<h3 class="section">7.7 Controlling the Behavior of Run-together Words</h3>
<p>Aspell currently has support for unconditionally accepting run-together
words.
-
- <p>Support for unconditionally accepting run-together words can either be
+</p>
+<p>Support for unconditionally accepting run-together words can either be
turned on in the language data file or as a normal option via the
-<samp><span class="option">run-together</span></samp> option. The <samp><span class="option">run-together-limit</span></samp> options
+<samp>run-together</samp> option. The <samp>run-together-limit</samp> options
controls the maximum number of words that can be strung together, the
-default is normally 2. The <samp><span class="option">run-together-min</span></samp> options
+default is normally 2. The <samp>run-together-min</samp> options
controls the minimum length of the individual components of the run
together word, the default is normally 3. Both the
-<samp><span class="option">run-together-limit</span></samp> and <samp><span class="option">run-together-min</span></samp> option may
+<samp>run-together-limit</samp> and <samp>run-together-min</samp> option may
be specified in both the language data file or as a normal option.
+</p>
+
+
-<!-- FIXME: Add note about compound word support when suggesting. -->
-</body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Copying - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="prev" href="Authors.html#Authors" title="Authors">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Copying</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Copying">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License" rel="next" title="GNU Free Documentation License">
+<link href="Authors.html#Authors" rel="prev" title="Authors">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Copying"></a>
-Previous: <a rel="previous" accesskey="p" href="Authors.html#Authors">Authors</a>,
-Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a>
-<hr>
+<div class="header">
+<p>
+Previous: <a href="Authors.html#Authors" accesskey="p" rel="prev">Authors</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Copying-1"></a>
<h2 class="appendix">Appendix H Copying</h2>
<p>Copyright © 2000–2006 Kevin Atkinson.
-
- <p>Permission is granted to copy, distribute and/or modify this document
+</p>
+<p>Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1 or
any later version published by the Free Software Foundation; with no
Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
-copy of the license is included in the section entitled "GNU Free
-Documentation License".
-
- <p>The library and utility program is copyright © 2000–2006 by
+copy of the license is included in the section entitled "GNU Free
+Documentation License".
+</p>
+<p>The library and utility program is copyright © 2000–2006 by
Kevin Atkinson. You can redistribute it and/or modify it under the
terms of the GNU Lesser General Public License as (LGPL) published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
-
- <p>Certain parts of the library, as indicated at the top of the source
+</p>
+<p>Certain parts of the library, as indicated at the top of the source
file, are under a weaker license. However, all parts of the library
are LGPL Compatible.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License" accesskey="1">GNU Free Documentation License</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="GNU-Lesser-General-Public-License.html#GNU-Lesser-General-Public-License" accesskey="2">GNU Lesser General Public License</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+</table>
+
-<ul class="menu">
-<li><a accesskey="1" href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License">GNU Free Documentation License</a>
-<li><a accesskey="2" href="GNU-Lesser-General-Public-License.html#GNU-Lesser-General-Public-License">GNU Lesser General Public License</a>
-</ul>
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Creating A New Character Set - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" title="Adding Support For Other Languages">
-<link rel="prev" href="Controlling-the-Behavior-of-Run_002dtogether-Words.html#Controlling-the-Behavior-of-Run_002dtogether-Words" title="Controlling the Behavior of Run-together Words">
-<link rel="next" href="Creating-An-Official-Dictionary-Package.html#Creating-An-Official-Dictionary-Package" title="Creating An Official Dictionary Package">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Creating A New Character Set</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Creating A New Character Set">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" rel="up" title="Adding Support For Other Languages">
+<link href="Creating-An-Official-Dictionary-Package.html#Creating-An-Official-Dictionary-Package" rel="next" title="Creating An Official Dictionary Package">
+<link href="Controlling-the-Behavior-of-Run_002dtogether-Words.html#Controlling-the-Behavior-of-Run_002dtogether-Words" rel="prev" title="Controlling the Behavior of Run-together Words">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Creating-A-New-Character-Set"></a>
-Next: <a rel="next" accesskey="n" href="Creating-An-Official-Dictionary-Package.html#Creating-An-Official-Dictionary-Package">Creating An Official Dictionary Package</a>,
-Previous: <a rel="previous" accesskey="p" href="Controlling-the-Behavior-of-Run_002dtogether-Words.html#Controlling-the-Behavior-of-Run_002dtogether-Words">Controlling the Behavior of Run-together Words</a>,
-Up: <a rel="up" accesskey="u" href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages">Adding Support For Other Languages</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Creating-An-Official-Dictionary-Package.html#Creating-An-Official-Dictionary-Package" accesskey="n" rel="next">Creating An Official Dictionary Package</a>, Previous: <a href="Controlling-the-Behavior-of-Run_002dtogether-Words.html#Controlling-the-Behavior-of-Run_002dtogether-Words" accesskey="p" rel="prev">Controlling the Behavior of Run-together Words</a>, Up: <a href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" accesskey="u" rel="up">Adding Support For Other Languages</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Creating-A-New-Character-Set-1"></a>
<h3 class="section">7.8 Creating A New Character Set</h3>
<p>If there is not a standard character set for your language then you
can invent one. The new charset will only be used by Aspell
-internally. If the option <samp><span class="option">data-encoding</span></samp> is set to
-`<samp><span class="samp">utf-8</span></samp>', and your current locale character type is always set to
-`<samp><span class="samp">utf-8</span></samp>', then you can use UTF-8 for everything and not
-worry yourself that an 8-bit character set is being used internally.
+internally. If the option <samp>data-encoding</samp> is set to
+‘<samp>utf-8</samp>’, and your current locale character type is always set to
+‘<samp>utf-8</samp>’, then you can use UTF-8 for everything and not
+worry yourself that an 8-bit character set is being used internally.
If your language has no more than 210 distinct symbols, including
different capitalizations and accents, then Aspell can support it.
-
- <p>The first thing to do is to download the Aspell lang package
+</p>
+<p>The first thing to do is to download the Aspell lang package
(see <a href="Creating-An-Official-Dictionary-Package.html#Creating-An-Official-Dictionary-Package">Creating An Official Dictionary Package</a>)
and check if one of the provided charsets in this package will suite
your needs. Non-standard character sets are provided for many scripts
-and languages. If not, then see the included <samp><span class="file">README</span></samp> file for
+and languages. If not, then see the included <samp>README</samp> file for
instructions on creating a new one. Version 0.1, and 0.2 of
mkchardata <em>will not</em> work as the format of the character data
file has changed.
+</p>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Creating An Official Dictionary Package - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" title="Adding Support For Other Languages">
-<link rel="prev" href="Creating-A-New-Character-Set.html#Creating-A-New-Character-Set" title="Creating A New Character Set">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Creating An Official Dictionary Package</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Creating An Official Dictionary Package">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" rel="up" title="Adding Support For Other Languages">
+<link href="Implementation-Notes.html#Implementation-Notes" rel="next" title="Implementation Notes">
+<link href="Creating-A-New-Character-Set.html#Creating-A-New-Character-Set" rel="prev" title="Creating A New Character Set">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Creating-An-Official-Dictionary-Package"></a>
-Previous: <a rel="previous" accesskey="p" href="Creating-A-New-Character-Set.html#Creating-A-New-Character-Set">Creating A New Character Set</a>,
-Up: <a rel="up" accesskey="u" href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages">Adding Support For Other Languages</a>
-<hr>
+<div class="header">
+<p>
+Previous: <a href="Creating-A-New-Character-Set.html#Creating-A-New-Character-Set" accesskey="p" rel="prev">Creating A New Character Set</a>, Up: <a href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" accesskey="u" rel="up">Adding Support For Other Languages</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Creating-An-Official-Dictionary-Package-1"></a>
<h3 class="section">7.9 Creating An Official Dictionary Package</h3>
<p>Once you have a basic dictionary working, you should consider creating
an official package so that it can be distributed with Aspell. To do
so download the aspell-lang package available at
-<a href="ftp://ftp.gnu.org/gnu/aspell/aspell-lang-<var>version</var>.tar.bz2">ftp://ftp.gnu.org/gnu/aspell/aspell-lang-<var>version</var>.tar.bz2</a>
+<a href="ftp://ftp.gnu.org/gnu/aspell/aspell-lang-version.tar.bz2">ftp://ftp.gnu.org/gnu/aspell/aspell-lang-version.tar.bz2</a>
or in the “aspell-lang” module in the Aspell CVS repository
available at <a href="https://savannah.gnu.org/cvs/?group=aspell">https://savannah.gnu.org/cvs/?group=aspell</a>. See
-the included <samp><span class="file">README</span></samp> file for what to do. Or, send mail to
+the included <samp>README</samp> file for what to do. Or, send mail to
aspell-dict at gnu org asking for help on how to get started.
+</p>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Creating an Individual Word List - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Working-With-Dictionaries.html#Working-With-Dictionaries" title="Working With Dictionaries">
-<link rel="prev" href="Dumping-the-Contents-of-the-Word-List.html#Dumping-the-Contents-of-the-Word-List" title="Dumping the Contents of the Word List">
-<link rel="next" href="Working-With-Affix-Info-in-Word-Lists.html#Working-With-Affix-Info-in-Word-Lists" title="Working With Affix Info in Word Lists">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Creating an Individual Word List</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Creating an Individual Word List">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Working-With-Dictionaries.html#Working-With-Dictionaries" rel="up" title="Working With Dictionaries">
+<link href="Working-With-Affix-Info-in-Word-Lists.html#Working-With-Affix-Info-in-Word-Lists" rel="next" title="Working With Affix Info in Word Lists">
+<link href="Dumping-the-Contents-of-the-Word-List.html#Dumping-the-Contents-of-the-Word-List" rel="prev" title="Dumping the Contents of the Word List">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Creating-an-Individual-Word-List"></a>
-Next: <a rel="next" accesskey="n" href="Working-With-Affix-Info-in-Word-Lists.html#Working-With-Affix-Info-in-Word-Lists">Working With Affix Info in Word Lists</a>,
-Previous: <a rel="previous" accesskey="p" href="Dumping-the-Contents-of-the-Word-List.html#Dumping-the-Contents-of-the-Word-List">Dumping the Contents of the Word List</a>,
-Up: <a rel="up" accesskey="u" href="Working-With-Dictionaries.html#Working-With-Dictionaries">Working With Dictionaries</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Working-With-Affix-Info-in-Word-Lists.html#Working-With-Affix-Info-in-Word-Lists" accesskey="n" rel="next">Working With Affix Info in Word Lists</a>, Previous: <a href="Dumping-the-Contents-of-the-Word-List.html#Dumping-the-Contents-of-the-Word-List" accesskey="p" rel="prev">Dumping the Contents of the Word List</a>, Up: <a href="Working-With-Dictionaries.html#Working-With-Dictionaries" accesskey="u" rel="up">Working With Dictionaries</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Creating-an-Individual-Word-List-1"></a>
<h3 class="section">5.5 Creating an Individual Word List</h3>
<p>To create an individual main word list from a list of words use the
command
+</p>
+<div class="example">
+<pre class="example">aspell --lang=<var>lang</var> create master ./<var>base</var> < <var>wordlist</var>
+</pre></div>
-<pre class="example"> aspell --lang=<var>lang</var> create master ./<var>base</var> < <var>wordlist</var>
-</pre>
- <p class="noindent">where <var>base</var> is the name of the word list and
-<var>wordlist</var> is the list of words separated by white space.
+<p>where <var>base</var> is the name of the word list and
+<var>wordlist</var> is the list of words separated by white space.
The name of the word list will automatically be converted to all
lowercase. The <code>./</code> is important because without it Aspell will
create the word list in the normal word list directory. If you are
trying to create a word list in a language other than English check
-the Aspell <samp><span class="option">data-dir</span></samp> (usually <samp><span class="file">/usr/share/aspell</span></samp>, use
+the Aspell <samp>data-dir</samp> (usually <samp>/usr/share/aspell</samp>, use
<code>aspell dump config</code> to find out what it is on your system) to
see if a language data file exists for your language. If not you will
need to create one. For more information on using Aspell with other
languages <a href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages">Adding Support For Other Languages</a>.
-
- <p>This will create the file <samp><var>base</var></samp> in the current directory.
+</p>
+<p>This will create the file <samp><var>base</var></samp> in the current directory.
To use the new word list copy the file to the normal word list
directory (use <code>aspell config</code> to find out what it is) and use
-the option <samp><span class="option">--master=</span><var>base</var></samp>.
-
- <p>During the creating of the dictionary you may get a number of warnings
+the option <samp>--master=<var>base</var></samp>.
+</p>
+<p>During the creating of the dictionary you may get a number of warnings
or errors about invalid words or affixes. By default Aspell will skip
any invalid words and remove invalid affixes. If you rather that Aspell
simply accepts all words given then the option
-<samp><span class="option">--dont-validate-words</span></samp> can be specified. To avoid checking if
-affixes are valid use the option <samp><span class="option">--dont-validate-affixes</span></samp>.
+<samp>--dont-validate-words</samp> can be specified. To avoid checking if
+affixes are valid use the option <samp>--dont-validate-affixes</samp>.
However, rather than disable checking, it is preferable to clean the
input word list. This can be done by using the command
+</p>
+<div class="example">
+<pre class="example">aspell --local-data-dir=./ --lang=<var>lang</var> clean < <var>wordlist</var> > <var>result</var>
+</pre></div>
-<pre class="example"> aspell --local-data-dir=./ --lang=<var>lang</var> clean < <var>wordlist</var> > <var>result</var>
-</pre>
- <p class="noindent">which will clean the word list and output the results to <var>result</var>.
+<p>which will clean the word list and output the results to <var>result</var>.
By default it will remove invalid characters from the beginning and end
of a word before resorting to skipping the word. If you rather it just
skip the words than add the keyword strict:
+</p>
+<div class="example">
+<pre class="example">aspell --local-data-dir=./ --lang=<var>lang</var> clean strict < <var>wordlist</var> > <var>result</var>
+</pre></div>
-<pre class="example"> aspell --local-data-dir=./ --lang=<var>lang</var> clean strict < <var>wordlist</var> > <var>result</var>
-</pre>
- <p>The option <samp><span class="option">--clean-words</span></samp> can be be added when creating a
+<p>The option <samp>--clean-words</samp> can be be added when creating a
dictionary if you want Aspell to remove invalid characters from the
-beginning and end of a word like the "clean" command does. In addition
-the options <samp><span class="option">--dont-skip-invalid-words</span></samp> and
-<samp><span class="option">--dont-clean-affixes</span></samp> can be specified to turn the warnings into
+beginning and end of a word like the "clean" command does. In addition
+the options <samp>--dont-skip-invalid-words</samp> and
+<samp>--dont-clean-affixes</samp> can be specified to turn the warnings into
errors.
-
- <p>The compiled dictionary file are endian order dependent. When a
-dictionary is loaded the endian order is checked. Please do not
-distribute the compiled dictionaries unless you are only distributing
-them for a particular platform such as you would a binary.
-
- <p>Aspell is now also able to use special <code>multi</code> dictionaries. for
+</p>
+<p>The compiled dictionaries are platform dependent. They depend on the
+endian order and (unless compiled with the
+<samp>--enable-32-bit-hash-fun</samp> option) the size of the
+<code>size_t</code> type as it used in the hash function; this
+type is generally different on 32 and 64-bit systems. When a
+dictionary is loaded the endian order and compatibility of the hash
+function is checked. Please do not distribute the compiled
+dictionaries unless you are only distributing them for a particular
+platform such as you would a binary.
+</p>
+<p>Aspell is now also able to use special <code>multi</code> dictionaries. for
more information <a href="How-Aspell-Selects-an-Appropriate-Dictionary.html#How-Aspell-Selects-an-Appropriate-Dictionary">How Aspell Selects an Appropriate Dictionary</a>.
+</p>
+<p>A personal and replacement word list can be created in a similar fashion.
+</p>
- <p>A personal and replacement word list can be created in a similar fashion.
-
-<!-- FIXME: add notes about how affix compression works when creating -->
-<!-- dictionaries. -->
+<a name="Format-of-the-Replacement-Word-List"></a>
<h4 class="subsection">5.5.1 Format of the Replacement Word List</h4>
<p>The replacement word list has each replacement pair on its own line in
the following format
+</p>
+<div class="example">
+<pre class="example"><i>misspelled_word</i> <i>correction</i>
+</pre></div>
+
+<hr>
+<div class="header">
+<p>
+Next: <a href="Working-With-Affix-Info-in-Word-Lists.html#Working-With-Affix-Info-in-Word-Lists" accesskey="n" rel="next">Working With Affix Info in Word Lists</a>, Previous: <a href="Dumping-the-Contents-of-the-Word-List.html#Dumping-the-Contents-of-the-Word-List" accesskey="p" rel="prev">Dumping the Contents of the Word List</a>, Up: <a href="Working-With-Dictionaries.html#Working-With-Dictionaries" accesskey="u" rel="up">Working With Dictionaries</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
-<pre class="example"> <i>misspelled_word</i> <i>correction</i>
-</pre>
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Curses Notes - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Installing.html#Installing" title="Installing">
-<link rel="prev" href="HTML-Manuals-and-_0022make-clean_0022.html#HTML-Manuals-and-_0022make-clean_0022" title="HTML Manuals and "make clean"">
-<link rel="next" href="Loadable-Filter-Notes.html#Loadable-Filter-Notes" title="Loadable Filter Notes">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Curses Notes</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Curses Notes">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Installing.html#Installing" rel="up" title="Installing">
+<link href="Loadable-Filter-Notes.html#Loadable-Filter-Notes" rel="next" title="Loadable Filter Notes">
+<link href="HTML-Manuals-and-_0022make-clean_0022.html#HTML-Manuals-and-_0022make-clean_0022" rel="prev" title="HTML Manuals and "make clean"">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Curses-Notes"></a>
-Next: <a rel="next" accesskey="n" href="Loadable-Filter-Notes.html#Loadable-Filter-Notes">Loadable Filter Notes</a>,
-Previous: <a rel="previous" accesskey="p" href="HTML-Manuals-and-_0022make-clean_0022.html#HTML-Manuals-and-_0022make-clean_0022">HTML Manuals and "make clean"</a>,
-Up: <a rel="up" accesskey="u" href="Installing.html#Installing">Installing</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Loadable-Filter-Notes.html#Loadable-Filter-Notes" accesskey="n" rel="next">Loadable Filter Notes</a>, Previous: <a href="HTML-Manuals-and-_0022make-clean_0022.html#HTML-Manuals-and-_0022make-clean_0022" accesskey="p" rel="prev">HTML Manuals and "make clean"</a>, Up: <a href="Installing.html#Installing" accesskey="u" rel="up">Installing</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Curses-Notes-1"></a>
<h3 class="appendixsec">E.3 Curses Notes</h3>
-<p>If you are having problems compiling <samp><span class="file">check_funs.cpp</span></samp> then the
+<p>If you are having problems compiling <samp>check_funs.cpp</samp> then the
most likely reason is due to incompatibilities with the curses
implementation on your system. You should first try disabling the
-“wide” curses library by with the <samp><span class="option">--disable-wide-curses</span></samp>
-configure option.. By doing so you will lose support for properly
+“wide” curses library with the <samp>--disable-wide-curses</samp>
+configure option. By doing so you will lose support for properly
displaying UTF-8 characters but you may still be able to get the full
-screen interface. If this fails than you can disable curses support
-altogether with the <samp><span class="option">--disable-curses</span></samp> configure option. By
+screen interface. If this fails then you can disable curses support
+altogether with the <samp>--disable-curses</samp> configure option. By
doing this you will lose the nice full screen interface but hopefully
you will be able to at least get Aspell to compile correctly.
-
- <p>If the curses library is installed in a non-standard location than you
+</p>
+<p>If the curses library is installed in a non-standard location then you
can specify the library and include directory with
-<samp><span class="option">--enable-curses=</span><var>lib</var></samp> and
-<samp><span class="option">--enable-curses-include=</span><var>dir</var></samp>.
-
- <p><samp><var>lib</var></samp> can either be the complete path of the library—for
+<samp>--enable-curses=<var>lib</var></samp> and
+<samp>--enable-curses-include=<var>dir</var></samp>.
+</p>
+<p><samp><var>lib</var></samp> can either be the complete path of the library—for
example
-<pre class="example"> /usr/local/curses/libcurses.a
-</pre>
- <p>or the name of the library (for example
-<samp><span class="file">ncurses</span></samp>) or a combined location and library in the form
-<samp><span class="option">-L</span><var>libdir</var><span class="option"> -l</span><var>lib</var></samp> (for example
-<samp><span class="option">-L/usr/local/ncurses/lib -lncurses</span></samp>).
-
- <p><var>dir</var> is the location of the curses header files (for example
-<samp><span class="file">/usr/local/ncurses/include</span></samp>).
-
+</p><div class="example">
+<pre class="example">/usr/local/curses/libcurses.a
+</pre></div>
+<p>or the name of the library (for example
+<samp>ncurses</samp>) or a combined location and library in the form
+<samp>-L<var>libdir</var> -l<var>lib</var></samp> (for example
+<samp>-L/usr/local/ncurses/lib -lncurses</samp>).
+</p>
+<p><var>dir</var> is the location of the curses header files (for example
+<samp>/usr/local/ncurses/include</samp>).
+</p>
+<a name="Unicode-Support"></a>
<h4 class="appendixsubsec">E.3.1 Unicode Support</h4>
<p>In order for Aspell to correctly spell check UTF-8 documents in full
-screen mode the "wide" version of the curses library must be
+screen mode the “wide” version of the curses library must be
installed. This is different from the normal version of curses
-library, and is normally named <samp><span class="file">libcursesw</span></samp> (with a `<samp><span class="samp">w</span></samp>' at
-the end) or <samp><span class="file">libncursesw</span></samp>. UTF-8 documents will not display
+library, and is normally named <samp>libcursesw</samp> (with a ‘<samp>w</samp>’ at
+the end) or <samp>libncursesw</samp>. UTF-8 documents will not display
correctly without the right curses version installed.
-
- <p>In addition your system must also support the <code>mblen</code> function.
+</p>
+<p>In addition your system must also support the <code>mblen</code> function.
Although this function was defined in the ISO C89 standard (ANSI
X3.159-1989), not all systems have it.
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Loadable-Filter-Notes.html#Loadable-Filter-Notes" accesskey="n" rel="next">Loadable Filter Notes</a>, Previous: <a href="HTML-Manuals-and-_0022make-clean_0022.html#HTML-Manuals-and-_0022make-clean_0022" accesskey="p" rel="prev">HTML Manuals and "make clean"</a>, Up: <a href="Installing.html#Installing" accesskey="u" rel="up">Installing</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Customizing Aspell - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="prev" href="Basic-Usage.html#Basic-Usage" title="Basic Usage">
-<link rel="next" href="Working-With-Dictionaries.html#Working-With-Dictionaries" title="Working With Dictionaries">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Customizing Aspell</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Customizing Aspell">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Specifying-Options.html#Specifying-Options" rel="next" title="Specifying Options">
+<link href="Using-Aspell-with-other-Applications.html#Using-Aspell-with-other-Applications" rel="prev" title="Using Aspell with other Applications">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Customizing-Aspell"></a>
-Next: <a rel="next" accesskey="n" href="Working-With-Dictionaries.html#Working-With-Dictionaries">Working With Dictionaries</a>,
-Previous: <a rel="previous" accesskey="p" href="Basic-Usage.html#Basic-Usage">Basic Usage</a>,
-Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Working-With-Dictionaries.html#Working-With-Dictionaries" accesskey="n" rel="next">Working With Dictionaries</a>, Previous: <a href="Basic-Usage.html#Basic-Usage" accesskey="p" rel="prev">Basic Usage</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Customizing-Aspell-1"></a>
<h2 class="chapter">4 Customizing Aspell</h2>
<p>The behavior of Aspell can be changed by any number of options which
can be specified at either the command line, the environment variable
-<samp><span class="env">ASPELL_CONF</span></samp>, a personal configuration file, or a global
+<code>ASPELL_CONF</code>, a personal configuration file, or a global
configuration file. Options specified on the command line override
options specified by the environment variable. Options specified by
the environment variable override options specified by either of the
configuration files. Finally options specified by the personal
configuration file override options specified in the global
configuration file. Options specified in the environment variable
-<samp><span class="env">ASPELL_CONF</span></samp>, a personal configuration file, or a global
+<code>ASPELL_CONF</code>, a personal configuration file, or a global
configuration file will take effect no matter how Aspell is used which
includes being used by other applications.
-
- <p>Aspell has three basic types of options: <dfn>boolean</dfn>, <dfn>value</dfn>,
-and <dfn>list</dfn>.
-
- <p><dfn>Boolean</dfn> options are either enabled or disabled, <dfn>value</dfn>
-options take a specific value, and <dfn>list</dfn> options can either have
+</p>
+<p>Aspell has three basic types of options: <em>boolean</em>, <em>value</em>,
+and <em>list</em>.
+</p>
+<p><em>Boolean</em> options are either enabled or disabled, <em>value</em>
+options take a specific value, and <em>list</em> options can either have
entries added or removed from the list.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="Specifying-Options.html#Specifying-Options" accesskey="1">Specifying Options</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="The-Options.html#The-Options" accesskey="2">The Options</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Dumping-Configuration-Values.html#Dumping-Configuration-Values" accesskey="3">Dumping Configuration Values</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Notes-on-Various-Options.html#Notes-on-Various-Options" accesskey="4">Notes on Various Options</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+</table>
+
-<ul class="menu">
-<li><a accesskey="1" href="Specifying-Options.html#Specifying-Options">Specifying Options</a>
-<li><a accesskey="2" href="The-Options.html#The-Options">The Options</a>
-<li><a accesskey="3" href="Dumping-Configuration-Values.html#Dumping-Configuration-Values">Dumping Configuration Values</a>
-<li><a accesskey="4" href="Notes-on-Various-Options.html#Notes-on-Various-Options">Notes on Various Options</a>
-</ul>
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Dictionary Naming - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Working-With-Dictionaries.html#Working-With-Dictionaries" title="Working With Dictionaries">
-<link rel="prev" href="Using-Multi-Dictionaries.html#Using-Multi-Dictionaries" title="Using Multi Dictionaries">
-<link rel="next" href="AWLI-files.html#AWLI-files" title="AWLI files">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Dictionary Naming</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Dictionary Naming">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Working-With-Dictionaries.html#Working-With-Dictionaries" rel="up" title="Working With Dictionaries">
+<link href="AWLI-files.html#AWLI-files" rel="next" title="AWLI files">
+<link href="Using-Multi-Dictionaries.html#Using-Multi-Dictionaries" rel="prev" title="Using Multi Dictionaries">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Dictionary-Naming"></a>
-Next: <a rel="next" accesskey="n" href="AWLI-files.html#AWLI-files">AWLI files</a>,
-Previous: <a rel="previous" accesskey="p" href="Using-Multi-Dictionaries.html#Using-Multi-Dictionaries">Using Multi Dictionaries</a>,
-Up: <a rel="up" accesskey="u" href="Working-With-Dictionaries.html#Working-With-Dictionaries">Working With Dictionaries</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="AWLI-files.html#AWLI-files" accesskey="n" rel="next">AWLI files</a>, Previous: <a href="Using-Multi-Dictionaries.html#Using-Multi-Dictionaries" accesskey="p" rel="prev">Using Multi Dictionaries</a>, Up: <a href="Working-With-Dictionaries.html#Working-With-Dictionaries" accesskey="u" rel="up">Working With Dictionaries</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Dictionary-Naming-1"></a>
<h3 class="section">5.9 Dictionary Naming</h3>
<p>In order for Aspell to be able to correctly recognize a dictionary
-based on the setting of the <samp><span class="env">LANG</span></samp> environment variable the
+based on the setting of the <code>LANG</code> environment variable the
dictionaries need to be located somewhere Aspell can find them and
they need to be <em>multi</em> dictionaries. Where Aspell looks for
-dictionaries depends on the value of the <samp><span class="option">dict-dir</span></samp> and
-<samp><span class="option">word-list-path</span></samp> option.
-
- <p><samp><span class="option">dict-dir</span></samp> is generally <samp><var>prefix</var><span class="file">/lib/aspell</span></samp>, and
-<samp><span class="option">word-list-path</span></samp> is generally empty.
-
- <p>Each dictionary that you expect Aspell to be able to find needs to
+dictionaries depends on the value of the <samp>dict-dir</samp> and
+<samp>word-list-path</samp> option.
+</p>
+<p><samp>dict-dir</samp> is generally <samp><var>prefix</var>/lib/aspell</samp>, and
+<samp>word-list-path</samp> is generally empty.
+</p>
+<p>Each dictionary that you expect Aspell to be able to find needs to
have a name in the following format:
+</p>
+<div class="example">
+<pre class="example"><var>language</var>[_<var>region</var>][-<var>variety</var>][-<var>size</var>].multi
+</pre></div>
-<pre class="example"> <var>language</var>[_<var>region</var>][-<var>variety</var>][-<var>size</var>].multi
-</pre>
- <p class="noindent">where <var>language</var> is the two letter language code, <var>region</var> is
+<p>where <var>language</var> is the two letter language code, <var>region</var> is
the two letter region code, <var>variety</var> is any extra information to
distinguish the word list from other ones with the same language and
-spelling. Multiple varieties can be used by separating them with a '-'.
+spelling. Multiple varieties can be used by separating them with a ’-’.
Finally, <var>size</var> is the size of the dictionary. If no size is
specified then the default size of 60 will be assumed.
+</p>
+<p>For example:
+</p>
+<div class="example">
+<pre class="example">en.multi
+en_US.multi
+en-medical.multi
+en-medical-85.multi
+en-85.multi
+de.multi
+</pre></div>
+
- <p>For example:
-<pre class="example"> en.multi
- en_US.multi
- en-medical.multi
- en-medical-85.multi
- en-85.multi
- de.multi
-</pre>
- </body></html>
+</body>
+</html>
-<meta http-equiv="refresh" content="0; url=Using-Aspell-as-a-Replacement-for-Ispell.html#Differences%20From%20Ispell">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
+
+GNU Aspell is a spell checker designed to eventually replace Ispell.
+It can either be used as a library or as an independent spell checker.
+
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<!-- This file redirects to the location of a node or anchor -->
+<head>
+<title>GNU Aspell 0.60.7: Differences From Ispell</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Differences From Ispell">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+<meta http-equiv="Refresh" content="0; url=Using-Aspell-as-a-Replacement-for-Ispell.html#Differences-From-Ispell">
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+
+<p>The node you are looking for is at <a href="Using-Aspell-as-a-Replacement-for-Ispell.html#Differences-From-Ispell">Differences From Ispell</a>.</p>
+</body>
-<html lang="en">
-<head>
-<title>Dumping Configuration Values - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Customizing-Aspell.html#Customizing-Aspell" title="Customizing Aspell">
-<link rel="prev" href="The-Options.html#The-Options" title="The Options">
-<link rel="next" href="Notes-on-Various-Options.html#Notes-on-Various-Options" title="Notes on Various Options">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Dumping Configuration Values</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Dumping Configuration Values">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Customizing-Aspell.html#Customizing-Aspell" rel="up" title="Customizing Aspell">
+<link href="Notes-on-Various-Options.html#Notes-on-Various-Options" rel="next" title="Notes on Various Options">
+<link href="The-Options.html#The-Options" rel="prev" title="The Options">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Dumping-Configuration-Values"></a>
-Next: <a rel="next" accesskey="n" href="Notes-on-Various-Options.html#Notes-on-Various-Options">Notes on Various Options</a>,
-Previous: <a rel="previous" accesskey="p" href="The-Options.html#The-Options">The Options</a>,
-Up: <a rel="up" accesskey="u" href="Customizing-Aspell.html#Customizing-Aspell">Customizing Aspell</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Notes-on-Various-Options.html#Notes-on-Various-Options" accesskey="n" rel="next">Notes on Various Options</a>, Previous: <a href="The-Options.html#The-Options" accesskey="p" rel="prev">The Options</a>, Up: <a href="Customizing-Aspell.html#Customizing-Aspell" accesskey="u" rel="up">Customizing Aspell</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Dumping-Configuration-Values-1"></a>
<h3 class="section">4.3 Dumping Configuration Values</h3>
<p>To find out the current value of all the options use the command
-<samp><span class="command">aspell dump config</span></samp>. This will dump the current Aspell
+<code>aspell dump config</code>. This will dump the current Aspell
configuration to standard output. The format of the contents dumped
is such that it can be used as either the global or your personal
configuration file.
-
- <p>To find out the current value of a particular option use
-<samp><span class="command">aspell config </span><var>option</var></samp>. This will print out the value of
+</p>
+<p>To find out the current value of a particular option use
+<code>aspell config <var>option</var></code>. This will print out the value of
<var>option</var> to <code>stdout</code> and nothing else.
+</p>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Dumping the Contents of the Word List - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Working-With-Dictionaries.html#Working-With-Dictionaries" title="Working With Dictionaries">
-<link rel="prev" href="Listing-Available-Dictionaries.html#Listing-Available-Dictionaries" title="Listing Available Dictionaries">
-<link rel="next" href="Creating-an-Individual-Word-List.html#Creating-an-Individual-Word-List" title="Creating an Individual Word List">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Dumping the Contents of the Word List</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Dumping the Contents of the Word List">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Working-With-Dictionaries.html#Working-With-Dictionaries" rel="up" title="Working With Dictionaries">
+<link href="Creating-an-Individual-Word-List.html#Creating-an-Individual-Word-List" rel="next" title="Creating an Individual Word List">
+<link href="Listing-Available-Dictionaries.html#Listing-Available-Dictionaries" rel="prev" title="Listing Available Dictionaries">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Dumping-the-Contents-of-the-Word-List"></a>
-Next: <a rel="next" accesskey="n" href="Creating-an-Individual-Word-List.html#Creating-an-Individual-Word-List">Creating an Individual Word List</a>,
-Previous: <a rel="previous" accesskey="p" href="Listing-Available-Dictionaries.html#Listing-Available-Dictionaries">Listing Available Dictionaries</a>,
-Up: <a rel="up" accesskey="u" href="Working-With-Dictionaries.html#Working-With-Dictionaries">Working With Dictionaries</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Creating-an-Individual-Word-List.html#Creating-an-Individual-Word-List" accesskey="n" rel="next">Creating an Individual Word List</a>, Previous: <a href="Listing-Available-Dictionaries.html#Listing-Available-Dictionaries" accesskey="p" rel="prev">Listing Available Dictionaries</a>, Up: <a href="Working-With-Dictionaries.html#Working-With-Dictionaries" accesskey="u" rel="up">Working With Dictionaries</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Dumping-the-Contents-of-the-Word-List-1"></a>
<h3 class="section">5.4 Dumping the Contents of the Word List</h3>
-<p>The dump command in <samp><span class="command">aspell</span></samp> will simply dump the contents of
-a word list to <samp><span class="file">stdout</span></samp> in a format that can be read back in with
-<samp><span class="command">aspell create</span></samp>.
-
- <p>If no word list is specified the command will act on the default one.
+<p>The dump command in <code>aspell</code> will simply dump the contents of
+a word list to <samp>stdout</samp> in a format that can be read back in with
+<code>aspell create</code>.
+</p>
+<p>If no word list is specified the command will act on the default one.
For example the command
+</p>
+<div class="example">
+<pre class="example">aspell dump personal
+</pre></div>
+
+<p>will simply dump the contents of the current personal word list to
+<samp>stdout</samp>.
+</p>
-<pre class="example"> aspell dump personal
-</pre>
- <p class="noindent">will simply dump the contents of the current personal word list to
-<samp><span class="file">stdout</span></samp>.
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Email the Personal Dictionary - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Notes-on-Various-Items.html#Notes-on-Various-Items" title="Notes on Various Items">
-<link rel="prev" href="Hidden-Markov-Model.html#Hidden-Markov-Model" title="Hidden Markov Model">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Email the Personal Dictionary</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Email the Personal Dictionary">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Notes-on-Various-Items.html#Notes-on-Various-Items" rel="up" title="Notes on Various Items">
+<link href="Installing.html#Installing" rel="next" title="Installing">
+<link href="Hidden-Markov-Model.html#Hidden-Markov-Model" rel="prev" title="Hidden Markov Model">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Email-the-Personal-Dictionary"></a>
-Previous: <a rel="previous" accesskey="p" href="Hidden-Markov-Model.html#Hidden-Markov-Model">Hidden Markov Model</a>,
-Up: <a rel="up" accesskey="u" href="Notes-on-Various-Items.html#Notes-on-Various-Items">Notes on Various Items</a>
-<hr>
+<div class="header">
+<p>
+Previous: <a href="Hidden-Markov-Model.html#Hidden-Markov-Model" accesskey="p" rel="prev">Hidden Markov Model</a>, Up: <a href="Notes-on-Various-Items.html#Notes-on-Various-Items" accesskey="u" rel="up">Notes on Various Items</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Email-the-Personal-Dictionary-1"></a>
<h4 class="appendixsubsec">D.3.3 Email the Personal Dictionary</h4>
<p>Someone suggested in a personal email:
-
- <blockquote>
-Have you thought of adding a function to Aspell, that - when the
-personal dictionary has grown significantly - sends the user's
+</p>
+<blockquote>
+<p>Have you thought of adding a function to Aspell, that - when the
+personal dictionary has grown significantly - sends the user’s
personal dictionary to the maintainer of the corresponding Aspell
dictionary? (if the user allows it)
+</p>
+<p>It would be a very useful service to the dictionary maintainers, and I
+think most users can see their benefit in it too.
+</p></blockquote>
- <p>It would be a very useful service to the dictionary maintainers, and I
-think most users can see their benefit in it too.
-</blockquote>
-
- <p>And I replied:
-
- <blockquote>
-Yes I have considered something like that but not for the personal
+<p>And I replied:
+</p>
+<blockquote>
+<p>Yes I have considered something like that but not for the personal
dictionaries but rather the replacement word list in order to get
-better test data for <a href="http://aspell.sourceforge.net/test/">http://aspell.sourceforge.net/test/</a>.
-</blockquote>
+better test data for <a href="http://aspell.net/test/">http://aspell.net/test/</a>.
+</p></blockquote>
- <p>The problem is I don't know of a good way to do this since Aspell can
+<p>The problem is I don’t know of a good way to do this since Aspell can
also be used as a library. It also is not a real high priority,
especially since I would first need to learn how to send email within
a C++ program.
+</p>
+
+
-<!-- @node Installing -->
-<!-- @appendix Installing -->
-</body></html>
+</body>
+</html>
-<meta http-equiv="refresh" content="0; url=Format-of-the-Personal-and-Replacement-Dictionaries.html#Format%20of%20the%20Personal%20Dictionary">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
+
+GNU Aspell is a spell checker designed to eventually replace Ispell.
+It can either be used as a library or as an independent spell checker.
+
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<!-- This file redirects to the location of a node or anchor -->
+<head>
+<title>GNU Aspell 0.60.7: Format of the Personal Dictionary</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Format of the Personal Dictionary">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+<meta http-equiv="Refresh" content="0; url=Format-of-the-Personal-and-Replacement-Dictionaries.html#Format-of-the-Personal-Dictionary">
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+
+<p>The node you are looking for is at <a href="Format-of-the-Personal-and-Replacement-Dictionaries.html#Format-of-the-Personal-Dictionary">Format of the Personal Dictionary</a>.</p>
+</body>
-<html lang="en">
-<head>
-<title>Format of the Personal and Replacement Dictionaries - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Working-With-Dictionaries.html#Working-With-Dictionaries" title="Working With Dictionaries">
-<link rel="prev" href="Working-With-Affix-Info-in-Word-Lists.html#Working-With-Affix-Info-in-Word-Lists" title="Working With Affix Info in Word Lists">
-<link rel="next" href="Using-Multi-Dictionaries.html#Using-Multi-Dictionaries" title="Using Multi Dictionaries">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Format of the Personal and Replacement Dictionaries</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Format of the Personal and Replacement Dictionaries">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Working-With-Dictionaries.html#Working-With-Dictionaries" rel="up" title="Working With Dictionaries">
+<link href="Using-Multi-Dictionaries.html#Using-Multi-Dictionaries" rel="next" title="Using Multi Dictionaries">
+<link href="Working-With-Affix-Info-in-Word-Lists.html#Working-With-Affix-Info-in-Word-Lists" rel="prev" title="Working With Affix Info in Word Lists">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Format-of-the-Personal-and-Replacement-Dictionaries"></a>
-Next: <a rel="next" accesskey="n" href="Using-Multi-Dictionaries.html#Using-Multi-Dictionaries">Using Multi Dictionaries</a>,
-Previous: <a rel="previous" accesskey="p" href="Working-With-Affix-Info-in-Word-Lists.html#Working-With-Affix-Info-in-Word-Lists">Working With Affix Info in Word Lists</a>,
-Up: <a rel="up" accesskey="u" href="Working-With-Dictionaries.html#Working-With-Dictionaries">Working With Dictionaries</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Using-Multi-Dictionaries.html#Using-Multi-Dictionaries" accesskey="n" rel="next">Using Multi Dictionaries</a>, Previous: <a href="Working-With-Affix-Info-in-Word-Lists.html#Working-With-Affix-Info-in-Word-Lists" accesskey="p" rel="prev">Working With Affix Info in Word Lists</a>, Up: <a href="Working-With-Dictionaries.html#Working-With-Dictionaries" accesskey="u" rel="up">Working With Dictionaries</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Format-of-the-Personal-and-Replacement-Dictionaries-1"></a>
<h3 class="section">5.7 Format of the Personal and Replacement Dictionaries</h3>
-<p><a name="Format-of-the-Personal-Dictionary"></a>
-
+<a name="Format-of-the-Personal-Dictionary"></a><a name="Format-of-the-Personal-Dictionary-1"></a>
<h4 class="subsection">5.7.1 Format of the Personal Dictionary</h4>
-
+
<p>The personal dictionary generally has a filename of the form:
+</p>
+<div class="example">
+<pre class="example">.aspell.<var>lang</var>.pws
+</pre></div>
-<pre class="example"> .aspell.<var>lang</var>.pws
-</pre>
- <p class="noindent">And the file itself contains two parts. The first part is a
+<p>And the file itself contains two parts. The first part is a
header line of the form:
+</p>
+<div class="example">
+<pre class="example">personal_ws-1.1 <var>lang</var> <var>num</var> <i>[</i><var>encoding</var><i>]</i>
+</pre></div>
-<pre class="example"> personal_ws-1.1 <var>lang</var> <var>num</var> <i>[</i><var>encoding</var><i>]</i>
-</pre>
- <p class="noindent">where <var>num</var> is the number of words in the list. This number is
+<p>where <var>num</var> is the number of words in the list. This number is
only used as a hint, and thus does not have to be accurate. When
creating a new dictionary it is perfectly acceptable for <var>num</var> to
be 0. The <var>encoding</var> is optional and specifies the encoding of
the word list. If it is left out the encoding is expected to be in
the default encoding for the language as specified by the
-<samp><span class="option">data-encoding</span></samp> option. See <a href="data_002dencoding.html#data_002dencoding">data-encoding</a>.
-
- <p>The second part of simply a word list with one word per line.
-
+<samp>data-encoding</samp> option. See <a href="The-Language-Data-File.html#data_002dencoding">data-encoding</a>.
+</p>
+<p>The second part of simply a word list with one word per line.
+</p>
+<a name="Format-of-the-Personal-Replacement-Dictionary"></a>
<h4 class="subsection">5.7.2 Format of the Personal Replacement Dictionary</h4>
<p>The personal replacement dictionary generally has a filename of the form:
+</p>
+<div class="example">
+<pre class="example">.aspell.<var>lang</var>.prepl
+</pre></div>
-<pre class="example"> .aspell.<var>lang</var>.prepl
-</pre>
- <p class="noindent">And the file itself contains two parts. The first part is a
+<p>And the file itself contains two parts. The first part is a
header line of the form:
+</p>
+<div class="example">
+<pre class="example">personal_repl-1.1 <var>lang</var> <var>num</var> <i>[</i><var>encoding</var><i>]</i>
+</pre></div>
-<pre class="example"> personal_repl-1.1 <var>lang</var> <var>num</var> <i>[</i><var>encoding</var><i>]</i>
-</pre>
- <p class="noindent">where <var>num</var> is currently unused and thus always 0. As with the
+<p>where <var>num</var> is currently unused and thus always 0. As with the
personal dictionary the <var>encoding</var> is optional.
-
- <p>The second part simply a list of replacements with one replacement
+</p>
+<p>The second part simply a list of replacements with one replacement
per line with each replacement pair has the following format:
+</p>
+<div class="example">
+<pre class="example"><var>misspelled_word</var> <var>correction</var>
+</pre></div>
+
+
-<pre class="example"> <var>misspelled_word</var> <var>correction</var>
-</pre>
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>GNU Free Documentation License - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Copying.html#Copying" title="Copying">
-<link rel="next" href="GNU-Lesser-General-Public-License.html#GNU-Lesser-General-Public-License" title="GNU Lesser General Public License">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: GNU Free Documentation License</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: GNU Free Documentation License">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Copying.html#Copying" rel="up" title="Copying">
+<link href="GNU-Lesser-General-Public-License.html#GNU-Lesser-General-Public-License" rel="next" title="GNU Lesser General Public License">
+<link href="Copying.html#Copying" rel="prev" title="Copying">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="GNU-Free-Documentation-License"></a>
-Next: <a rel="next" accesskey="n" href="GNU-Lesser-General-Public-License.html#GNU-Lesser-General-Public-License">GNU Lesser General Public License</a>,
-Up: <a rel="up" accesskey="u" href="Copying.html#Copying">Copying</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="GNU-Lesser-General-Public-License.html#GNU-Lesser-General-Public-License" accesskey="n" rel="next">GNU Lesser General Public License</a>, Up: <a href="Copying.html#Copying" accesskey="u" rel="up">Copying</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="GNU-Free-Documentation-License-1"></a>
<h3 class="appendixsec">H.1 GNU Free Documentation License</h3>
-<p><a name="index-FDL_002c-GNU-Free-Documentation-License-1"></a><div align="center">Version 1.2, November 2002</div>
+<a name="index-FDL_002c-GNU-Free-Documentation-License"></a>
+<div align="center">Version 1.2, November 2002
+</div>
+<div class="display">
+<pre class="display">Copyright © 2000,2001,2002 Free Software Foundation, Inc.
+59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
+
+Everyone is permitted to copy and distribute verbatim copies
+of this license document, but changing it is not allowed.
+</pre></div>
-<pre class="display"> Copyright © 2000,2001,2002 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
-
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-</pre>
- <ol type=1 start=0>
-<li>PREAMBLE
+<ol>
+<li> PREAMBLE
- <p>The purpose of this License is to make a manual, textbook, or other
-functional and useful document <dfn>free</dfn> in the sense of freedom: to
+<p>The purpose of this License is to make a manual, textbook, or other
+functional and useful document <em>free</em> in the sense of freedom: to
assure everyone the effective freedom to copy and redistribute it,
-with or without modifying it, either commercially or noncommercially.
+with or without modifying it, either commercially or noncommercially.
Secondarily, this License preserves for the author and publisher a way
to get credit for their work, while not being considered responsible
for modifications made by others.
-
- <p>This License is a kind of “copyleft”, which means that derivative
+</p>
+<p>This License is a kind of “copyleft”, which means that derivative
works of the document must themselves be free in the same sense. It
complements the GNU General Public License, which is a copyleft
license designed for free software.
-
- <p>We have designed this License in order to use it for manuals for free
+</p>
+<p>We have designed this License in order to use it for manuals for free
software, because free software needs free documentation: a free
program should come with manuals providing the same freedoms that the
software does. But this License is not limited to software manuals;
it can be used for any textual work, regardless of subject matter or
whether it is published as a printed book. We recommend this License
principally for works whose purpose is instruction or reference.
+</p>
+</li><li> APPLICABILITY AND DEFINITIONS
- <li>APPLICABILITY AND DEFINITIONS
-
- <p>This License applies to any manual or other work, in any medium, that
+<p>This License applies to any manual or other work, in any medium, that
contains a notice placed by the copyright holder saying it can be
distributed under the terms of this License. Such a notice grants a
world-wide, royalty-free license, unlimited in duration, to use that
licensee, and is addressed as “you”. You accept the license if you
copy, modify or distribute the work in a way requiring permission
under copyright law.
-
- <p>A “Modified Version” of the Document means any work containing the
+</p>
+<p>A “Modified Version” of the Document means any work containing the
Document or a portion of it, either copied verbatim, or with
modifications and/or translated into another language.
-
- <p>A “Secondary Section” is a named appendix or a front-matter section
+</p>
+<p>A “Secondary Section” is a named appendix or a front-matter section
of the Document that deals exclusively with the relationship of the
-publishers or authors of the Document to the Document's overall
+publishers or authors of the Document to the Document’s overall
subject (or to related matters) and contains nothing that could fall
directly within that overall subject. (Thus, if the Document is in
part a textbook of mathematics, a Secondary Section may not explain
connection with the subject or with related matters, or of legal,
commercial, philosophical, ethical or political position regarding
them.
-
- <p>The “Invariant Sections” are certain Secondary Sections whose titles
+</p>
+<p>The “Invariant Sections” are certain Secondary Sections whose titles
are designated, as being those of Invariant Sections, in the notice
that says that the Document is released under this License. If a
section does not fit the above definition of Secondary then it is not
allowed to be designated as Invariant. The Document may contain zero
Invariant Sections. If the Document does not identify any Invariant
Sections then there are none.
-
- <p>The “Cover Texts” are certain short passages of text that are listed,
+</p>
+<p>The “Cover Texts” are certain short passages of text that are listed,
as Front-Cover Texts or Back-Cover Texts, in the notice that says that
the Document is released under this License. A Front-Cover Text may
be at most 5 words, and a Back-Cover Text may be at most 25 words.
-
- <p>A “Transparent” copy of the Document means a machine-readable copy,
+</p>
+<p>A “Transparent” copy of the Document means a machine-readable copy,
represented in a format whose specification is available to the
general public, that is suitable for revising the document
straightforwardly with generic text editors or (for images composed of
for automatic translation to a variety of formats suitable for input
to text formatters. A copy made in an otherwise Transparent file
format whose markup, or absence of markup, has been arranged to thwart
-or discourage subsequent modification by readers is not Transparent.
+or discourage subsequent modification by readers is not Transparent.
An image format is not Transparent if used for any substantial amount
of text. A copy that is not “Transparent” is called “Opaque”.
-
- <p>Examples of suitable formats for Transparent copies include plain
-<span class="sc">ascii</span> without markup, Texinfo input format, LaTeX input
+</p>
+<p>Examples of suitable formats for Transparent copies include plain
+<small>ASCII</small> without markup, Texinfo input format, LaTeX input
format, <acronym>SGML</acronym> or <acronym>XML</acronym> using a publicly available
<acronym>DTD</acronym>, and standard-conforming simple <acronym>HTML</acronym>,
PostScript or <acronym>PDF</acronym> designed for human modification. Examples
not generally available, and the machine-generated <acronym>HTML</acronym>,
PostScript or <acronym>PDF</acronym> produced by some word processors for
output purposes only.
-
- <p>The “Title Page” means, for a printed book, the title page itself,
+</p>
+<p>The “Title Page” means, for a printed book, the title page itself,
plus such following pages as are needed to hold, legibly, the material
this License requires to appear in the title page. For works in
formats which do not have any title page as such, “Title Page” means
-the text near the most prominent appearance of the work's title,
+the text near the most prominent appearance of the work’s title,
preceding the beginning of the body of the text.
-
- <p>A section “Entitled XYZ” means a named subunit of the Document whose
+</p>
+<p>A section “Entitled XYZ” means a named subunit of the Document whose
title either is precisely XYZ or contains XYZ in parentheses following
text that translates XYZ in another language. (Here XYZ stands for a
specific section name mentioned below, such as “Acknowledgements”,
“Dedications”, “Endorsements”, or “History”.) To “Preserve the Title”
of such a section when you modify the Document means that it remains a
section “Entitled XYZ” according to this definition.
-
- <p>The Document may include Warranty Disclaimers next to the notice which
+</p>
+<p>The Document may include Warranty Disclaimers next to the notice which
states that this License applies to the Document. These Warranty
Disclaimers are considered to be included by reference in this
License, but only as regards disclaiming warranties: any other
implication that these Warranty Disclaimers may have is void and has
no effect on the meaning of this License.
+</p>
+</li><li> VERBATIM COPYING
- <li>VERBATIM COPYING
-
- <p>You may copy and distribute the Document in any medium, either
+<p>You may copy and distribute the Document in any medium, either
commercially or noncommercially, provided that this License, the
copyright notices, and the license notice saying this License applies
to the Document are reproduced in all copies, and that you add no other
copying of the copies you make or distribute. However, you may accept
compensation in exchange for copies. If you distribute a large enough
number of copies you must also follow the conditions in section 3.
-
- <p>You may also lend copies, under the same conditions stated above, and
+</p>
+<p>You may also lend copies, under the same conditions stated above, and
you may publicly display copies.
+</p>
+</li><li> COPYING IN QUANTITY
- <li>COPYING IN QUANTITY
-
- <p>If you publish printed copies (or copies in media that commonly have
+<p>If you publish printed copies (or copies in media that commonly have
printed covers) of the Document, numbering more than 100, and the
-Document's license notice requires Cover Texts, you must enclose the
+Document’s license notice requires Cover Texts, you must enclose the
copies in covers that carry, clearly and legibly, all these Cover
Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
the back cover. Both covers must also clearly and legibly identify
you as the publisher of these copies. The front cover must present
the full title with all words of the title equally prominent and
-visible. You may add other material on the covers in addition.
+visible. You may add other material on the covers in addition.
Copying with changes limited to the covers, as long as they preserve
the title of the Document and satisfy these conditions, can be treated
as verbatim copying in other respects.
-
- <p>If the required texts for either cover are too voluminous to fit
+</p>
+<p>If the required texts for either cover are too voluminous to fit
legibly, you should put the first ones listed (as many as fit
reasonably) on the actual cover, and continue the rest onto adjacent
pages.
-
- <p>If you publish or distribute Opaque copies of the Document numbering
+</p>
+<p>If you publish or distribute Opaque copies of the Document numbering
more than 100, you must either include a machine-readable Transparent
copy along with each Opaque copy, or state in or with each Opaque copy
a computer-network location from which the general network-using
public has access to download using public-standard network protocols
-a complete Transparent copy of the Document, free of added material.
+a complete Transparent copy of the Document, free of added material.
If you use the latter option, you must take reasonably prudent steps,
when you begin distribution of Opaque copies in quantity, to ensure
that this Transparent copy will remain thus accessible at the stated
location until at least one year after the last time you distribute an
Opaque copy (directly or through your agents or retailers) of that
edition to the public.
-
- <p>It is requested, but not required, that you contact the authors of the
+</p>
+<p>It is requested, but not required, that you contact the authors of the
Document well before redistributing any large number of copies, to give
them a chance to provide you with an updated version of the Document.
+</p>
+</li><li> MODIFICATIONS
- <li>MODIFICATIONS
-
- <p>You may copy and distribute a Modified Version of the Document under
+<p>You may copy and distribute a Modified Version of the Document under
the conditions of sections 2 and 3 above, provided that you release
the Modified Version under precisely this License, with the Modified
Version filling the role of the Document, thus licensing distribution
and modification of the Modified Version to whoever possesses a copy
of it. In addition, you must do these things in the Modified Version:
-
- <ol type=A start=1>
-<li>Use in the Title Page (and on the covers, if any) a title distinct
+</p>
+<ol>
+<li> Use in the Title Page (and on the covers, if any) a title distinct
from that of the Document, and from those of previous versions
(which should, if there were any, be listed in the History section
of the Document). You may use the same title as a previous version
if the original publisher of that version gives permission.
- <li>List on the Title Page, as authors, one or more persons or entities
+</li><li> List on the Title Page, as authors, one or more persons or entities
responsible for authorship of the modifications in the Modified
Version, together with at least five of the principal authors of the
Document (all of its principal authors, if it has fewer than five),
unless they release you from this requirement.
- <li>State on the Title page the name of the publisher of the
+</li><li> State on the Title page the name of the publisher of the
Modified Version, as the publisher.
- <li>Preserve all the copyright notices of the Document.
+</li><li> Preserve all the copyright notices of the Document.
- <li>Add an appropriate copyright notice for your modifications
+</li><li> Add an appropriate copyright notice for your modifications
adjacent to the other copyright notices.
- <li>Include, immediately after the copyright notices, a license notice
+</li><li> Include, immediately after the copyright notices, a license notice
giving the public permission to use the Modified Version under the
terms of this License, in the form shown in the Addendum below.
- <li>Preserve in that license notice the full lists of Invariant Sections
-and required Cover Texts given in the Document's license notice.
+</li><li> Preserve in that license notice the full lists of Invariant Sections
+and required Cover Texts given in the Document’s license notice.
- <li>Include an unaltered copy of this License.
+</li><li> Include an unaltered copy of this License.
- <li>Preserve the section Entitled “History”, Preserve its Title, and add
+</li><li> Preserve the section Entitled “History”, Preserve its Title, and add
to it an item stating at least the title, year, new authors, and
publisher of the Modified Version as given on the Title Page. If
there is no section Entitled “History” in the Document, create one
given on its Title Page, then add an item describing the Modified
Version as stated in the previous sentence.
- <li>Preserve the network location, if any, given in the Document for
+</li><li> Preserve the network location, if any, given in the Document for
public access to a Transparent copy of the Document, and likewise
the network locations given in the Document for previous versions
-it was based on. These may be placed in the “History” section.
+it was based on. These may be placed in the “History” section.
You may omit a network location for a work that was published at
least four years before the Document itself, or if the original
publisher of the version it refers to gives permission.
- <li>For any section Entitled “Acknowledgements” or “Dedications”, Preserve
+</li><li> For any section Entitled “Acknowledgements” or “Dedications”, Preserve
the Title of the section, and preserve in the section all the
substance and tone of each of the contributor acknowledgements and/or
dedications given therein.
- <li>Preserve all the Invariant Sections of the Document,
+</li><li> Preserve all the Invariant Sections of the Document,
unaltered in their text and in their titles. Section numbers
or the equivalent are not considered part of the section titles.
- <li>Delete any section Entitled “Endorsements”. Such a section
+</li><li> Delete any section Entitled “Endorsements”. Such a section
may not be included in the Modified Version.
- <li>Do not retitle any existing section to be Entitled “Endorsements” or
+</li><li> Do not retitle any existing section to be Entitled “Endorsements” or
to conflict in title with any Invariant Section.
- <li>Preserve any Warranty Disclaimers.
- </ol>
+</li><li> Preserve any Warranty Disclaimers.
+</li></ol>
- <p>If the Modified Version includes new front-matter sections or
+<p>If the Modified Version includes new front-matter sections or
appendices that qualify as Secondary Sections and contain no material
copied from the Document, you may at your option designate some or all
of these sections as invariant. To do this, add their titles to the
-list of Invariant Sections in the Modified Version's license notice.
+list of Invariant Sections in the Modified Version’s license notice.
These titles must be distinct from any other section titles.
-
- <p>You may add a section Entitled “Endorsements”, provided it contains
+</p>
+<p>You may add a section Entitled “Endorsements”, provided it contains
nothing but endorsements of your Modified Version by various
parties—for example, statements of peer review or that the text has
been approved by an organization as the authoritative definition of a
standard.
-
- <p>You may add a passage of up to five words as a Front-Cover Text, and a
+</p>
+<p>You may add a passage of up to five words as a Front-Cover Text, and a
passage of up to 25 words as a Back-Cover Text, to the end of the list
of Cover Texts in the Modified Version. Only one passage of
Front-Cover Text and one of Back-Cover Text may be added by (or
by arrangement made by the same entity you are acting on behalf of,
you may not add another; but you may replace the old one, on explicit
permission from the previous publisher that added the old one.
-
- <p>The author(s) and publisher(s) of the Document do not by this License
+</p>
+<p>The author(s) and publisher(s) of the Document do not by this License
give permission to use their names for publicity for or to assert or
imply endorsement of any Modified Version.
+</p>
+</li><li> COMBINING DOCUMENTS
- <li>COMBINING DOCUMENTS
-
- <p>You may combine the Document with other documents released under this
+<p>You may combine the Document with other documents released under this
License, under the terms defined in section 4 above for modified
versions, provided that you include in the combination all of the
Invariant Sections of all of the original documents, unmodified, and
list them all as Invariant Sections of your combined work in its
license notice, and that you preserve all their Warranty Disclaimers.
-
- <p>The combined work need only contain one copy of this License, and
+</p>
+<p>The combined work need only contain one copy of this License, and
multiple identical Invariant Sections may be replaced with a single
copy. If there are multiple Invariant Sections with the same name but
different contents, make the title of each such section unique by
adding at the end of it, in parentheses, the name of the original
-author or publisher of that section if known, or else a unique number.
+author or publisher of that section if known, or else a unique number.
Make the same adjustment to the section titles in the list of
Invariant Sections in the license notice of the combined work.
-
- <p>In the combination, you must combine any sections Entitled “History”
+</p>
+<p>In the combination, you must combine any sections Entitled “History”
in the various original documents, forming one section Entitled
“History”; likewise combine any sections Entitled “Acknowledgements”,
and any sections Entitled “Dedications”. You must delete all
sections Entitled “Endorsements.”
+</p>
+</li><li> COLLECTIONS OF DOCUMENTS
- <li>COLLECTIONS OF DOCUMENTS
-
- <p>You may make a collection consisting of the Document and other documents
+<p>You may make a collection consisting of the Document and other documents
released under this License, and replace the individual copies of this
License in the various documents with a single copy that is included in
the collection, provided that you follow the rules of this License for
verbatim copying of each of the documents in all other respects.
-
- <p>You may extract a single document from such a collection, and distribute
+</p>
+<p>You may extract a single document from such a collection, and distribute
it individually under this License, provided you insert a copy of this
License into the extracted document, and follow this License in all
other respects regarding verbatim copying of that document.
+</p>
+</li><li> AGGREGATION WITH INDEPENDENT WORKS
- <li>AGGREGATION WITH INDEPENDENT WORKS
-
- <p>A compilation of the Document or its derivatives with other separate
+<p>A compilation of the Document or its derivatives with other separate
and independent documents or works, in or on a volume of a storage or
distribution medium, is called an “aggregate” if the copyright
resulting from the compilation is not used to limit the legal rights
-of the compilation's users beyond what the individual works permit.
+of the compilation’s users beyond what the individual works permit.
When the Document is included in an aggregate, this License does not
apply to the other works in the aggregate which are not themselves
derivative works of the Document.
-
- <p>If the Cover Text requirement of section 3 is applicable to these
+</p>
+<p>If the Cover Text requirement of section 3 is applicable to these
copies of the Document, then if the Document is less than one half of
-the entire aggregate, the Document's Cover Texts may be placed on
+the entire aggregate, the Document’s Cover Texts may be placed on
covers that bracket the Document within the aggregate, or the
-electronic equivalent of covers if the Document is in electronic form.
+electronic equivalent of covers if the Document is in electronic form.
Otherwise they must appear on printed covers that bracket the whole
aggregate.
+</p>
+</li><li> TRANSLATION
- <li>TRANSLATION
-
- <p>Translation is considered a kind of modification, so you may
-distribute translations of the Document under the terms of section 4.
+<p>Translation is considered a kind of modification, so you may
+distribute translations of the Document under the terms of section 4.
Replacing Invariant Sections with translations requires special
permission from their copyright holders, but you may include
translations of some or all Invariant Sections in addition to the
of those notices and disclaimers. In case of a disagreement between
the translation and the original version of this License or a notice
or disclaimer, the original version will prevail.
-
- <p>If a section in the Document is Entitled “Acknowledgements”,
+</p>
+<p>If a section in the Document is Entitled “Acknowledgements”,
“Dedications”, or “History”, the requirement (section 4) to Preserve
its Title (section 1) will typically require changing the actual
title.
+</p>
+</li><li> TERMINATION
- <li>TERMINATION
-
- <p>You may not copy, modify, sublicense, or distribute the Document except
+<p>You may not copy, modify, sublicense, or distribute the Document except
as expressly provided for under this License. Any other attempt to
copy, modify, sublicense or distribute the Document is void, and will
automatically terminate your rights under this License. However,
parties who have received copies, or rights, from you under this
License will not have their licenses terminated so long as such
parties remain in full compliance.
+</p>
+</li><li> FUTURE REVISIONS OF THIS LICENSE
- <li>FUTURE REVISIONS OF THIS LICENSE
-
- <p>The Free Software Foundation may publish new, revised versions
+<p>The Free Software Foundation may publish new, revised versions
of the GNU Free Documentation License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns. See
<a href="http://www.gnu.org/copyleft/">http://www.gnu.org/copyleft/</a>.
-
- <p>Each version of the License is given a distinguishing version number.
+</p>
+<p>Each version of the License is given a distinguishing version number.
If the Document specifies that a particular numbered version of this
License “or any later version” applies to it, you have the option of
following the terms and conditions either of that specified version or
Free Software Foundation. If the Document does not specify a version
number of this License, you may choose any version ever published (not
as a draft) by the Free Software Foundation.
- </ol>
+</p></li></ol>
+<a name="ADDENDUM_003a-How-to-use-this-License-for-your-documents"></a>
<h4 class="appendixsubsec">H.1.1 ADDENDUM: How to use this License for your documents</h4>
<p>To use this License in a document you have written, include a copy of
the License in the document and put the following copyright and
license notices just after the title page:
-
-<pre class="smallexample"> Copyright (C) <var>year</var> <var>your name</var>.
- Permission is granted to copy, distribute and/or modify this document
- under the terms of the GNU Free Documentation License, Version 1.2
- or any later version published by the Free Software Foundation;
- with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
- Texts. A copy of the license is included in the section entitled ``GNU
- Free Documentation License''.
-</pre>
- <p>If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
+</p>
+<div class="smallexample">
+<pre class="smallexample"> Copyright (C) <var>year</var> <var>your name</var>.
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.2
+ or any later version published by the Free Software Foundation;
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
+ Texts. A copy of the license is included in the section entitled ``GNU
+ Free Documentation License''.
+</pre></div>
+
+<p>If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
replace the “with...Texts.” line with this:
-
-<pre class="smallexample"> with the Invariant Sections being <var>list their titles</var>, with
- the Front-Cover Texts being <var>list</var>, and with the Back-Cover Texts
- being <var>list</var>.
-</pre>
- <p>If you have Invariant Sections without Cover Texts, or some other
+</p>
+<div class="smallexample">
+<pre class="smallexample"> with the Invariant Sections being <var>list their titles</var>, with
+ the Front-Cover Texts being <var>list</var>, and with the Back-Cover Texts
+ being <var>list</var>.
+</pre></div>
+
+<p>If you have Invariant Sections without Cover Texts, or some other
combination of the three, merge those two alternatives to suit the
situation.
-
- <p>If your document contains nontrivial examples of program code, we
+</p>
+<p>If your document contains nontrivial examples of program code, we
recommend releasing these examples in parallel under your choice of
free software license, such as the GNU General Public License,
to permit their use in free software.
+</p>
+
+<hr>
+<div class="header">
+<p>
+Next: <a href="GNU-Lesser-General-Public-License.html#GNU-Lesser-General-Public-License" accesskey="n" rel="next">GNU Lesser General Public License</a>, Up: <a href="Copying.html#Copying" accesskey="u" rel="up">Copying</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>GNU Lesser General Public License - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Copying.html#Copying" title="Copying">
-<link rel="prev" href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License" title="GNU Free Documentation License">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: GNU Lesser General Public License</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: GNU Lesser General Public License">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Copying.html#Copying" rel="up" title="Copying">
+<link href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License" rel="prev" title="GNU Free Documentation License">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="GNU-Lesser-General-Public-License"></a>
-Previous: <a rel="previous" accesskey="p" href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License">GNU Free Documentation License</a>,
-Up: <a rel="up" accesskey="u" href="Copying.html#Copying">Copying</a>
+<div class="header">
+<p>
+Previous: <a href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License" accesskey="p" rel="prev">GNU Free Documentation License</a>, Up: <a href="Copying.html#Copying" accesskey="u" rel="up">Copying</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
<hr>
+<a name="GNU-Lesser-General-Public-License-1"></a>
+<h3 class="appendixsec">H.2 GNU Lesser General Public License</h3>
+
+<a name="index-LGPL_002c-Lesser-General-Public-License"></a>
+<div align="center">Version 2.1, February 1999
</div>
+<div class="display">
+<pre class="display">Copyright © 1991, 1999 Free Software Foundation, Inc.
+59 Temple Place – Suite 330, Boston, MA 02111-1307, USA
-<h3 class="appendixsec">H.2 GNU Lesser General Public License</h3>
+Everyone is permitted to copy and distribute verbatim copies
+of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+as the successor of the GNU Library Public License, version 2, hence the
+version number 2.1.]
+</pre></div>
-<p><a name="index-LGPL_002c-Lesser-General-Public-License-2"></a><div align="center">Version 2.1, February 1999</div>
-
-<pre class="display"> Copyright © 1991, 1999 Free Software Foundation, Inc.
- 59 Temple Place – Suite 330, Boston, MA 02111-1307, USA
-
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- [This is the first released version of the Lesser GPL. It also counts
- as the successor of the GNU Library Public License, version 2, hence the
- version number 2.1.]
-</pre>
+<a name="Preamble"></a>
<h4 class="appendixsubsec">H.2.1 Preamble</h4>
<p>The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software—to make sure the software is free for all its users.
-
- <p>This license, the Lesser General Public License, applies to some
+</p>
+<p>This license, the Lesser General Public License, applies to some
specially designated software—typically libraries—of the Free
Software Foundation and other authors who decide to use it. You can use
it too, but we suggest you first think carefully about whether this
license or the ordinary General Public License is the better strategy to
use in any particular case, based on the explanations below.
-
- <p>When we speak of free software, we are referring to freedom of use,
+</p>
+<p>When we speak of free software, we are referring to freedom of use,
not price. Our General Public Licenses are designed to make sure that
you have the freedom to distribute copies of free software (and charge
for this service if you wish); that you receive source code or can get
it if you want it; that you can change the software and use pieces of it
in new free programs; and that you are informed that you can do these
things.
-
- <p>To protect your rights, we need to make restrictions that forbid
+</p>
+<p>To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights. These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it.
-
- <p>For example, if you distribute copies of the library, whether gratis
+</p>
+<p>For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
-
- <p>We protect your rights with a two-step method: (1) we copyright the
+</p>
+<p>We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.
-
- <p>To protect each distributor, we want to make it very clear that
+</p>
+<p>To protect each distributor, we want to make it very clear that
there is no warranty for the free library. Also, if the library is
modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
+author’s reputation will not be affected by problems that might be
introduced by others.
-
- <p>Finally, software patents pose a constant threat to the existence of
+</p>
+<p>Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder. Therefore, we insist that
any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this license.
-
- <p>Most GNU software, including some libraries, is covered by the
+</p>
+<p>Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License. This license, the GNU Lesser
General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License. We use
this license for certain libraries in order to permit linking those
libraries into non-free programs.
-
- <p>When a program is linked with a library, whether statically or using
+</p>
+<p>When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library. The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom. The Lesser General
Public License permits more lax criteria for linking other code with
the library.
-
- <p>We call this license the <dfn>Lesser</dfn> General Public License because it
-does <em>Less</em> to protect the user's freedom than the ordinary General
+</p>
+<p>We call this license the <em>Lesser</em> General Public License because it
+does <em>Less</em> to protect the user’s freedom than the ordinary General
Public License. It also provides other free software developers Less
of an advantage over competing non-free programs. These disadvantages
are the reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain
special circumstances.
-
- <p>For example, on rare occasions, there may be a special need to
+</p>
+<p>For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it becomes
a de-facto standard. To achieve this, non-free programs must be
allowed to use the library. A more frequent case is that a free
library does the same job as widely used non-free libraries. In this
case, there is little to gain by limiting the free library to free
software only, so we use the Lesser General Public License.
-
- <p>In other cases, permission to use a particular library in non-free
+</p>
+<p>In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of
free software. For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating
system.
-
- <p>Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
+</p>
+<p>Although the Lesser General Public License is Less protective of the
+users’ freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library.
-
- <p>The precise terms and conditions for copying, distribution and
+</p>
+<p>The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
“work based on the library” and a “work that uses the library”. The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
+</p>
- <ol type=1 start=0>
-<li>This License Agreement applies to any software library or other program
+<ol>
+<li> This License Agreement applies to any software library or other program
which contains a notice placed by the copyright holder or other
authorized party saying it may be distributed under the terms of this
Lesser General Public License (also called “this License”). Each
licensee is addressed as “you”.
- <p>A “library” means a collection of software functions and/or data
+<p>A “library” means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
-
- <p>The “Library”, below, refers to any such software library or work
+</p>
+<p>The “Library”, below, refers to any such software library or work
which has been distributed under these terms. A “work based on the
Library” means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term “modification”.)
-
- <p>“Source code” for a work means the preferred form of the work for
+</p>
+<p>“Source code” for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
-
- <p>Activities other than copying, distribution and modification are not
+</p>
+<p>Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
-
- <li>You may copy and distribute verbatim copies of the Library's
+</p>
+</li><li> You may copy and distribute verbatim copies of the Library’s
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
warranty; and distribute a copy of this License along with the
Library.
- <p>You may charge a fee for the physical act of transferring a copy,
+<p>You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
-
- <li>You may modify your copy or copies of the Library or any portion
+</p>
+</li><li> You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
- <ol type=a start=1>
-<li>The modified work must itself be a software library.
+<ol>
+<li> The modified work must itself be a software library.
- <li>You must cause the files modified to carry prominent notices
+</li><li> You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
- <li>You must cause the whole of the work to be licensed at no
+</li><li> You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
- <li>If a facility in the modified Library refers to a function or a
+</li><li> If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
- <p>(For example, a function in a library to compute square roots has
+<p>(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
- </ol>
+</p></li></ol>
- <p>These requirements apply to the modified work as a whole. If
+<p>These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
-
- <p>Thus, it is not the intent of this section to claim rights or contest
+</p>
+<p>Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
-
- <p>In addition, mere aggregation of another work not based on the Library
+</p>
+<p>In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
-
- <li>You may opt to apply the terms of the ordinary GNU General Public
+</p>
+</li><li> You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
that version instead if you wish.) Do not make any other change in
these notices.
- <p>Once this change is made in a given copy, it is irreversible for
+<p>Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
-
- <p>This option is useful when you wish to copy part of the code of
+</p>
+<p>This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
-
- <li>You may copy and distribute the Library (or a portion or
+</p>
+</li><li> You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
- <p>If distribution of object code is made by offering access to copy
+<p>If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
-
- <li>A program that contains no derivative of any portion of the
+</p>
+</li><li> A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a “work that uses the Library”. Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
- <p>However, linking a “work that uses the Library” with the Library
+<p>However, linking a “work that uses the Library” with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a “work that uses the
-library”. The executable is therefore covered by this License.
+library”. The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
-
- <p>When a “work that uses the Library” uses material from a header file
+</p>
+<p>When a “work that uses the Library” uses material from a header file
that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
+derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
-
- <p>If such an object file uses only numerical parameters, data
+</p>
+<p>If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
-
- <p>Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
+</p>
+<p>Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
-
- <li>As an exception to the Sections above, you may also combine or
+</p>
+</li><li> As an exception to the Sections above, you may also combine or
link a “work that uses the Library” with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
+modification of the work for the customer’s own use and reverse
engineering for debugging such modifications.
- <p>You must give prominent notice with each copy of the work that the
+<p>You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
-
- <ol type=a start=1>
-<li>Accompany the work with the complete corresponding
+</p>
+<ol>
+<li> Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
Library will not necessarily be able to recompile the application
to use the modified definitions.)
- <li>Use a suitable shared library mechanism for linking with the Library. A
+</li><li> Use a suitable shared library mechanism for linking with the Library. A
suitable mechanism is one that (1) uses at run time a copy of the
-library already present on the user's computer system, rather than
+library already present on the user’s computer system, rather than
copying library functions into the executable, and (2) will operate
properly with a modified version of the library, if the user installs
one, as long as the modified version is interface-compatible with the
version that the work was made with.
- <li>Accompany the work with a written offer, valid for at
+</li><li> Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
- <li>If distribution of the work is made by offering access to copy
+</li><li> If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
- <li>Verify that the user has already received a copy of these
+</li><li> Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
- </ol>
+</li></ol>
- <p>For an executable, the required form of the “work that uses the
+<p>For an executable, the required form of the “work that uses the
Library” must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the materials to be distributed need not include anything that is
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies the
executable.
-
- <p>It may happen that this requirement contradicts the license
+</p>
+<p>It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
-
- <li>You may place library facilities that are a work based on the
+</p>
+</li><li> You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
- <ol type=a start=1>
-<li>Accompany the combined library with a copy of the same work
+<ol>
+<li> Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
- <li>Give prominent notice with the combined library of the fact
+</li><li> Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
- </ol>
+</li></ol>
- <li>You may not copy, modify, sublicense, link with, or distribute
+</li><li> You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
- <li>You are not required to accept this License, since you have not
+</li><li> You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
- <li>Each time you redistribute the Library (or any work based on the
+</li><li> Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
+restrictions on the recipients’ exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.
- <li>If, as a consequence of a court judgment or allegation of patent
+</li><li> If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
- <p>If any portion of this section is held invalid or unenforceable under any
+<p>If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
-
- <p>It is not the purpose of this section to induce you to infringe any
+</p>
+<p>It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
-
- <p>This section is intended to make thoroughly clear what is believed to
+</p>
+<p>This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
-
- <li>If the distribution and/or use of the Library is restricted in
+</p>
+</li><li> If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
- <li>The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
+</li><li> The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
- <p>Each version is given a distinguishing version number. If the Library
+<p>Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
“any later version”, you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
-
- <li>If you wish to incorporate parts of the Library into other free
+</p>
+</li><li> If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
- <li>BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+
+</li><li> BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY “AS IS” WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
- <li>IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+</li><li> IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
- </ol>
+</li></ol>
+
+<a name="How-to-Apply-These-Terms-to-Your-New-Libraries"></a>
<h4 class="appendixsubsec">H.2.2 How to Apply These Terms to Your New Libraries</h4>
<p>If you develop a new library, and you want it to be of the greatest
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
-
- <p>To apply these terms, attach the following notices to the library. It is
+</p>
+<p>To apply these terms, attach the following notices to the library. It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
“copyright” line and a pointer to where the full notice is found.
-
-<pre class="smallexample"> <var>one line to give the library's name and an idea of what it does.</var>
- Copyright (C) <var>year</var> <var>name of author</var>
-
- This library is free software; you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as published by
- the Free Software Foundation; either version 2.1 of the License, or (at
- your option) any later version.
-
- This library 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307,
- USA.
-</pre>
- <p>Also add information on how to contact you by electronic and paper mail.
-
- <p>You should also get your employer (if you work as a programmer) or your
+</p>
+<div class="smallexample">
+<pre class="smallexample"><var>one line to give the library's name and an idea of what it does.</var>
+Copyright (C) <var>year</var> <var>name of author</var>
+
+This library is free software; you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as published by
+the Free Software Foundation; either version 2.1 of the License, or (at
+your option) any later version.
+
+This library 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
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307,
+USA.
+</pre></div>
+
+<p>Also add information on how to contact you by electronic and paper mail.
+</p>
+<p>You should also get your employer (if you work as a programmer) or your
school, if any, to sign a “copyright disclaimer” for the library, if
necessary. Here is a sample; alter the names:
+</p>
+<div class="smallexample">
+<pre class="smallexample">Yoyodyne, Inc., hereby disclaims all copyright interest in the library
+`Frob' (a library for tweaking knobs) written by James Random Hacker.
-<pre class="smallexample"> Yoyodyne, Inc., hereby disclaims all copyright interest in the library
- `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
- <var>signature of Ty Coon</var>, 1 April 1990
- Ty Coon, President of Vice
-</pre>
- <p>That's all there is to it!
+<var>signature of Ty Coon</var>, 1 April 1990
+Ty Coon, President of Vice
+</pre></div>
-<!-- @node Index -->
-<!-- @unnumbered Index -->
-<!-- @printindex cp -->
-</body></html>
+<p>That’s all there is to it!
+</p>
-<!--
-\1f
-Local Variables:
-coding: iso-8859-1
-End:
--->
+<hr>
+<div class="header">
+<p>
+Previous: <a href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License" accesskey="p" rel="prev">GNU Free Documentation License</a>, Up: <a href="Copying.html#Copying" accesskey="u" rel="up">Copying</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
+
+
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Generic Install Instructions - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Installing.html#Installing" title="Installing">
-<link rel="next" href="HTML-Manuals-and-_0022make-clean_0022.html#HTML-Manuals-and-_0022make-clean_0022" title="HTML Manuals and "make clean"">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Generic Install Instructions</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Generic Install Instructions">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Installing.html#Installing" rel="up" title="Installing">
+<link href="HTML-Manuals-and-_0022make-clean_0022.html#HTML-Manuals-and-_0022make-clean_0022" rel="next" title="HTML Manuals and "make clean"">
+<link href="Installing.html#Installing" rel="prev" title="Installing">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Generic-Install-Instructions"></a>
-Next: <a rel="next" accesskey="n" href="HTML-Manuals-and-_0022make-clean_0022.html#HTML-Manuals-and-_0022make-clean_0022">HTML Manuals and "make clean"</a>,
-Up: <a rel="up" accesskey="u" href="Installing.html#Installing">Installing</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="HTML-Manuals-and-_0022make-clean_0022.html#HTML-Manuals-and-_0022make-clean_0022" accesskey="n" rel="next">HTML Manuals and "make clean"</a>, Up: <a href="Installing.html#Installing" accesskey="u" rel="up">Installing</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Generic-Install-Instructions-1"></a>
<h3 class="appendixsec">E.1 Generic Install Instructions</h3>
-<pre class="example"> ./configure && make
-</pre>
- <p>For additional <samp><span class="command">configure</span></samp> options type `<samp><span class="samp">./configure
---help</span></samp>'. You can control what C++ compiler is used by setting the
-environment variable <samp><span class="env">CXX</span></samp> before running configure and you can
+<div class="example">
+<pre class="example">./configure && make
+</pre></div>
+
+<p>For additional <code>configure</code> options type ‘<samp>./configure
+--help</samp>’. You can control what C++ compiler is used by setting the
+environment variable <code>CXX</code> before running configure and you can
control what flags are passed to the C++ compile via the environment
-variable <samp><span class="env">CXXFLAGS</span></samp>. Static libraries are disabled by default
+variable <code>CXXFLAGS</code>. Static libraries are disabled by default
since static libraries will not work right due to the mixing of C and
C++. When a C program links with the static libraries in Aspell it is
-likely to crash because Aspell's C++ objects are not getting
+likely to crash because Aspell’s C++ objects are not getting
initialized correctly. However, if for some reason you want them, you
-can enable them via <samp><span class="option">--enable-static</span></samp>.
-
- <p>Aspell should then compile without any additional user intervention.
+can enable them via <samp>--enable-static</samp>.
+</p>
+<p>Aspell should then compile without any additional user intervention.
If you run into problems please first check the sections below as that
might solve your problem.
+</p>
+<p>To install the program simply type
+</p>
+<div class="example">
+<pre class="example">make install
+</pre></div>
- <p>To install the program simply type
-
-<pre class="example"> make install
-</pre>
- <p>After Aspell is installed at least one dictionary needs to be
+<p>After Aspell is installed at least one dictionary needs to be
installed. You can find them at <a href="http://aspell.net/">http://aspell.net/</a>. The
-<samp><span class="command">aspell</span></samp> program must be in your path in order for the
+<code>aspell</code> program must be in your path in order for the
dictionaries to install correctly.
-
- <p>If you do not have Ispell or the traditional Unix <samp><span class="command">spell</span></samp> utility
+</p>
+<p>If you do not have Ispell or the traditional Unix <code>spell</code> utility
installed on your system then you should also copy the compatibility
-scripts <samp><span class="command">ispell</span></samp> and <samp><span class="command">spell</span></samp> located in the <samp><span class="file">scripts/</span></samp>
+scripts <code>ispell</code> and <code>spell</code> located in the <samp>scripts/</samp>
directory into your binary directory which is usually
-<samp><span class="file">/usr/local/bin</span></samp> so that programs that expect the
-<samp><span class="command">ispell</span></samp> or <samp><span class="command">spell</span></samp> command will work correctly.
+<samp>/usr/local/bin</samp> so that programs that expect the
+<code>ispell</code> or <code>spell</code> command will work correctly.
+</p>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>German Sharp S - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Language-Related-Issues.html#Language-Related-Issues" title="Language Related Issues">
-<link rel="prev" href="Unicode-Normalization.html#Unicode-Normalization" title="Unicode Normalization">
-<link rel="next" href="Context-Sensitive-Spelling.html#Context-Sensitive-Spelling" title="Context Sensitive Spelling">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: German Sharp S</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: German Sharp S">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Language-Related-Issues.html#Language-Related-Issues" rel="up" title="Language Related Issues">
+<link href="Context-Sensitive-Spelling.html#Context-Sensitive-Spelling" rel="next" title="Context Sensitive Spelling">
+<link href="Unicode-Normalization.html#Unicode-Normalization" rel="prev" title="Unicode Normalization">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="German-Sharp-S"></a>
-Next: <a rel="next" accesskey="n" href="Context-Sensitive-Spelling.html#Context-Sensitive-Spelling">Context Sensitive Spelling</a>,
-Previous: <a rel="previous" accesskey="p" href="Unicode-Normalization.html#Unicode-Normalization">Unicode Normalization</a>,
-Up: <a rel="up" accesskey="u" href="Language-Related-Issues.html#Language-Related-Issues">Language Related Issues</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Context-Sensitive-Spelling.html#Context-Sensitive-Spelling" accesskey="n" rel="next">Context Sensitive Spelling</a>, Previous: <a href="Unicode-Normalization.html#Unicode-Normalization" accesskey="p" rel="prev">Unicode Normalization</a>, Up: <a href="Language-Related-Issues.html#Language-Related-Issues" accesskey="u" rel="up">Language Related Issues</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="German-Sharp-S-1"></a>
<h3 class="appendixsec">C.4 German Sharp S</h3>
-<p>The German Sharp S or Eszett does not have an uppercase equivalent.
-Instead when `<samp><span class="samp">ß</span></samp>' is converted to `<samp><span class="samp">SS</span></samp>'. The conversion of
-`<samp><span class="samp">ß</span></samp>' to `<samp><span class="samp">SS</span></samp>' requires a special rule, and increases the
-length of a word, thus disallowing inplace case conversion.
+<p>The German Sharp S or Eszett does not have an uppercase equivalent.
+Instead when ‘<samp>ß</samp>’ is converted to ‘<samp>SS</samp>’. The conversion of
+‘<samp>ß</samp>’ to ‘<samp>SS</samp>’ requires a special rule, and increases the
+length of a word, thus disallowing inplace case conversion.
Furthermore, my general rule of converting all words to lowercase before
-looking them up in the dictionary won't work because the conversion of
-`<samp><span class="samp">SS</span></samp>' to lowercase is ambiguous; it can be `<samp><span class="samp">ss</span></samp>' or
-`<samp><span class="samp">ß</span></samp>'. I do plan on dealing with this eventually.
+looking them up in the dictionary won’t work because the conversion of
+‘<samp>SS</samp>’ to lowercase is ambiguous; it can be ‘<samp>ss</samp>’ or
+‘<samp>ß</samp>’. I do plan on dealing with this eventually.
+</p>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>HTML Manuals and "make clean" - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Installing.html#Installing" title="Installing">
-<link rel="prev" href="Generic-Install-Instructions.html#Generic-Install-Instructions" title="Generic Install Instructions">
-<link rel="next" href="Curses-Notes.html#Curses-Notes" title="Curses Notes">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: HTML Manuals and "make clean"</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: HTML Manuals and "make clean"">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Installing.html#Installing" rel="up" title="Installing">
+<link href="Curses-Notes.html#Curses-Notes" rel="next" title="Curses Notes">
+<link href="Generic-Install-Instructions.html#Generic-Install-Instructions" rel="prev" title="Generic Install Instructions">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
-<a name="HTML-Manuals-and-%22make-clean%22"></a>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="HTML-Manuals-and-_0022make-clean_0022"></a>
-Next: <a rel="next" accesskey="n" href="Curses-Notes.html#Curses-Notes">Curses Notes</a>,
-Previous: <a rel="previous" accesskey="p" href="Generic-Install-Instructions.html#Generic-Install-Instructions">Generic Install Instructions</a>,
-Up: <a rel="up" accesskey="u" href="Installing.html#Installing">Installing</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Curses-Notes.html#Curses-Notes" accesskey="n" rel="next">Curses Notes</a>, Previous: <a href="Generic-Install-Instructions.html#Generic-Install-Instructions" accesskey="p" rel="prev">Generic Install Instructions</a>, Up: <a href="Installing.html#Installing" accesskey="u" rel="up">Installing</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
-<h3 class="appendixsec">E.2 HTML Manuals and <samp><span class="command">make clean</span></samp></h3>
+<hr>
+<a name="HTML-Manuals-and-make-clean"></a>
+<h3 class="appendixsec">E.2 HTML Manuals and <code>make clean</code></h3>
<p>The Aspell distribution includes HTML versions of the User and
-Developer's manual. Unfortunately, doing a <samp><span class="command">make clean</span></samp> will
+Developer’s manual. Unfortunately, doing a <code>make clean</code> will
erase them. This is due to a limitation of automake which is not
easily fixed. If makeinfo is installed they can easily be rebuild
-with <samp><span class="command">make aspell.html aspell-dev.html</span></samp>, or you can unpack
-them from the tarbar.
+with <code>make aspell.html aspell-dev.html</code>, or you can unpack
+them from the tarball.
+</p>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Hidden Markov Model - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Notes-on-Various-Items.html#Notes-on-Various-Items" title="Notes on Various Items">
-<link rel="prev" href="Word-skipping-by-context.html#Word-skipping-by-context" title="Word skipping by context">
-<link rel="next" href="Email-the-Personal-Dictionary.html#Email-the-Personal-Dictionary" title="Email the Personal Dictionary">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Hidden Markov Model</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Hidden Markov Model">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Notes-on-Various-Items.html#Notes-on-Various-Items" rel="up" title="Notes on Various Items">
+<link href="Email-the-Personal-Dictionary.html#Email-the-Personal-Dictionary" rel="next" title="Email the Personal Dictionary">
+<link href="Word-skipping-by-context.html#Word-skipping-by-context" rel="prev" title="Word skipping by context">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Hidden-Markov-Model"></a>
-Next: <a rel="next" accesskey="n" href="Email-the-Personal-Dictionary.html#Email-the-Personal-Dictionary">Email the Personal Dictionary</a>,
-Previous: <a rel="previous" accesskey="p" href="Word-skipping-by-context.html#Word-skipping-by-context">Word skipping by context</a>,
-Up: <a rel="up" accesskey="u" href="Notes-on-Various-Items.html#Notes-on-Various-Items">Notes on Various Items</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Email-the-Personal-Dictionary.html#Email-the-Personal-Dictionary" accesskey="n" rel="next">Email the Personal Dictionary</a>, Previous: <a href="Word-skipping-by-context.html#Word-skipping-by-context" accesskey="p" rel="prev">Word skipping by context</a>, Up: <a href="Notes-on-Various-Items.html#Notes-on-Various-Items" accesskey="u" rel="up">Notes on Various Items</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Hidden-Markov-Model-1"></a>
<h4 class="appendixsubsec">D.3.2 Hidden Markov Model</h4>
<p>Knud Haugaard Sørensen suggested this one. From his email on the
Aspell mailing list:
+</p>
+<p>consider these examples:
+</p>
+<div class="example">
+<pre class="example">a fone number.
+ -> a phone number.
- <p>consider these examples:
+a fone dress.
+ -> a fine dress.
+</pre></div>
-<pre class="example"> a fone number.
- -> a phone number.
-
- a fone dress.
- -> a fine dress.
-</pre>
- <p>the example illustrates that the right correction might depend on the
+<p>the example illustrates that the right correction might depend on the
context of the word.
-
- <p>So I suggested that you take a look on HMM to solve this problem.
-
- <p>This might also provide a good base to include grammar correction in
+</p>
+<p>So I suggested that you take a look on HMM to solve this problem.
+</p>
+<p>This might also provide a good base to include grammar correction in
Aspell.
-
- <p>see this link
+</p>
+<p>see this link
<a href="http://www.cse.ogi.edu/CSLU/HLTsurvey/ch1node7.html">http://www.cse.ogi.edu/CSLU/HLTsurvey/ch1node7.html</a>.
-
- <p>I think it is a great idea.
- However unfortunately it will probably be very complicated to implement.
+</p>
+<p>I think it is a great idea.
+ However unfortunately it will probably be very complicated to implement.
Perhaps in the far future.
+</p>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>How Aspell Selects an Appropriate Dictionary - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Working-With-Dictionaries.html#Working-With-Dictionaries" title="Working With Dictionaries">
-<link rel="prev" href="Using-aspell_002dimport.html#Using-aspell_002dimport" title="Using aspell-import">
-<link rel="next" href="Listing-Available-Dictionaries.html#Listing-Available-Dictionaries" title="Listing Available Dictionaries">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: How Aspell Selects an Appropriate Dictionary</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: How Aspell Selects an Appropriate Dictionary">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Working-With-Dictionaries.html#Working-With-Dictionaries" rel="up" title="Working With Dictionaries">
+<link href="Listing-Available-Dictionaries.html#Listing-Available-Dictionaries" rel="next" title="Listing Available Dictionaries">
+<link href="Using-aspell_002dimport.html#Using-aspell_002dimport" rel="prev" title="Using aspell-import">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="How-Aspell-Selects-an-Appropriate-Dictionary"></a>
-Next: <a rel="next" accesskey="n" href="Listing-Available-Dictionaries.html#Listing-Available-Dictionaries">Listing Available Dictionaries</a>,
-Previous: <a rel="previous" accesskey="p" href="Using-aspell_002dimport.html#Using-aspell_002dimport">Using aspell-import</a>,
-Up: <a rel="up" accesskey="u" href="Working-With-Dictionaries.html#Working-With-Dictionaries">Working With Dictionaries</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Listing-Available-Dictionaries.html#Listing-Available-Dictionaries" accesskey="n" rel="next">Listing Available Dictionaries</a>, Previous: <a href="Using-aspell_002dimport.html#Using-aspell_002dimport" accesskey="p" rel="prev">Using aspell-import</a>, Up: <a href="Working-With-Dictionaries.html#Working-With-Dictionaries" accesskey="u" rel="up">Working With Dictionaries</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="How-Aspell-Selects-an-Appropriate-Dictionary-1"></a>
<h3 class="section">5.2 How Aspell Selects an Appropriate Dictionary</h3>
-<p>If the <samp><span class="option">master</span></samp> option is set in any fashion (via the command
-line, the <samp><span class="env">ASPELL_CONF</span></samp> environment variable, or a configuration
+<p>If the <samp>master</samp> option is set in any fashion (via the command
+line, the <code>ASPELL_CONF</code> environment variable, or a configuration
file) Aspell will look for a dictionary of that name. If one could
not be found, it will complain.
-
- <p>Otherwise it will use the value of the <samp><span class="option">lang</span></samp> option to search
+</p>
+<p>Otherwise it will use the value of the <samp>lang</samp> option to search
for an appropriate dictionary. If more than one dictionary is found
for the given language string then it will look for a dictionary with
-a matching variety if the <samp><span class="option">variety</span></samp> option is set. If it is not
+a matching variety if the <samp>variety</samp> option is set. If it is not
set it will look for a dictionary without a variety. If after matching
-the <samp><span class="option">lang</span></samp> and <samp><span class="option">variety</span></samp> there is still more than one
+the <samp>lang</samp> and <samp>variety</samp> there is still more than one
dictionary available it will find one with the size closest to the
-value of the <samp><span class="option">size</span></samp> option. The default size is 60. If Aspell
-cannot find a dictionary based on the <samp><span class="option">lang</span></samp> option then it
+value of the <samp>size</samp> option. The default size is 60. If Aspell
+cannot find a dictionary based on the <samp>lang</samp> option then it
will give up and complain.
-
- <p>If the <samp><span class="option">lang</span></samp> option is not explicitly set its value will be
-based on the <samp><span class="env">LC_MESSAGES</span></samp> locale. This locale is generally taken
-from the <samp><span class="env">LC_MESSAGES</span></samp> environment variable or the <samp><span class="env">LANG</span></samp>
-environment variable if <samp><span class="env">LC_MESSAGES</span></samp> is not set. However, if
+</p>
+<p>If the <samp>lang</samp> option is not explicitly set its value will be
+based on the <code>LC_MESSAGES</code> locale. This locale is generally taken
+from the <code>LC_MESSAGES</code> environment variable or the <code>LANG</code>
+environment variable if <code>LC_MESSAGES</code> is not set. However, if
Aspell is being used as a library from within another program which
already explicitly set the locale then it will use the locale of the
library rather than the environment variables. If Aspell cannot
-determine the language from the <samp><span class="env">LC_MESSAGES</span></samp> locale than it will
+determine the language from the <code>LC_MESSAGES</code> locale than it will
default to <code>en_US</code>.
-
- <p>The list option <samp><span class="option">dict-alias</span></samp> can be used to influence which dictionary
-is selected by creating an alias from one dictionary name to another.
+</p>
+<p>The list option <samp>dict-alias</samp> can be used to influence which dictionary
+is selected by creating an alias from one dictionary name to another.
This option is most useful when there is more than one dictionary for a
-given language. For example `<samp><span class="samp">add-dict-alias en_US en_US-w_accents</span></samp>'
+given language. For example ‘<samp>add-dict-alias en_US en_US-w_accents</samp>’
will cause Aspell to choose the accented version of the American English
dictionary instead of the non-accented version. To add an alias use:
+</p>
+<div class="example">
+<pre class="example">add-dict-alias <var>NAME</var> <var>VAL</var>
+</pre></div>
+
+<hr>
+<div class="header">
+<p>
+Next: <a href="Listing-Available-Dictionaries.html#Listing-Available-Dictionaries" accesskey="n" rel="next">Listing Available Dictionaries</a>, Previous: <a href="Using-aspell_002dimport.html#Using-aspell_002dimport" accesskey="p" rel="prev">Using aspell-import</a>, Up: <a href="Working-With-Dictionaries.html#Working-With-Dictionaries" accesskey="u" rel="up">Working With Dictionaries</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
-<pre class="example"> add-dict-alias <var>NAME</var> <var>VAL</var>
-</pre>
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Implementation Notes - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="prev" href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" title="Adding Support For Other Languages">
-<link rel="next" href="Languages-Which-Aspell-can-Support.html#Languages-Which-Aspell-can-Support" title="Languages Which Aspell can Support">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Implementation Notes</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Implementation Notes">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Aspell-Suggestion-Strategy.html#Aspell-Suggestion-Strategy" rel="next" title="Aspell Suggestion Strategy">
+<link href="Creating-An-Official-Dictionary-Package.html#Creating-An-Official-Dictionary-Package" rel="prev" title="Creating An Official Dictionary Package">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Implementation-Notes"></a>
-Next: <a rel="next" accesskey="n" href="Languages-Which-Aspell-can-Support.html#Languages-Which-Aspell-can-Support">Languages Which Aspell can Support</a>,
-Previous: <a rel="previous" accesskey="p" href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages">Adding Support For Other Languages</a>,
-Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Languages-Which-Aspell-can-Support.html#Languages-Which-Aspell-can-Support" accesskey="n" rel="next">Languages Which Aspell can Support</a>, Previous: <a href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" accesskey="p" rel="prev">Adding Support For Other Languages</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Implementation-Notes-1"></a>
<h2 class="appendix">Appendix A Implementation Notes</h2>
-<ul class="menu">
-<li><a accesskey="1" href="Aspell-Suggestion-Strategy.html#Aspell-Suggestion-Strategy">Aspell Suggestion Strategy</a>
-<li><a accesskey="2" href="Notes-on-8_002dbit-Characters.html#Notes-on-8_002dbit-Characters">Notes on 8-bit Characters</a>
-</ul>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="Aspell-Suggestion-Strategy.html#Aspell-Suggestion-Strategy" accesskey="1">Aspell Suggestion Strategy</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Notes-on-8_002dbit-Characters.html#Notes-on-8_002dbit-Characters" accesskey="2">Notes on 8-bit Characters</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
-</body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Important Items - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="To-Do.html#To-Do" title="To Do">
-<link rel="next" href="Other-Items.html#Other-Items" title="Other Items">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Important Items</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Important Items">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="To-Do.html#To-Do" rel="up" title="To Do">
+<link href="Other-Items.html#Other-Items" rel="next" title="Other Items">
+<link href="To-Do.html#To-Do" rel="prev" title="To Do">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Important-Items"></a>
-Next: <a rel="next" accesskey="n" href="Other-Items.html#Other-Items">Other Items</a>,
-Up: <a rel="up" accesskey="u" href="To-Do.html#To-Do">To Do</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Other-Items.html#Other-Items" accesskey="n" rel="next">Other Items</a>, Up: <a href="To-Do.html#To-Do" accesskey="u" rel="up">To Do</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Important-Items-1"></a>
<h3 class="appendixsec">D.1 Important Items</h3>
<p>Words in bold indicate how you should refer to the item when
discussing it with me or others.
-
+</p>
+<a name="Things-that-need-to-be-done"></a>
<h4 class="appendixsubsec">D.1.1 Things that need to be done</h4>
<p>These items need to be done before I consider Aspell finished. If you
are interested in helping me with one of these tasks please email
me. Good C++ skills are needed for most of these tasks involving
coding.
-
- <ul>
-<li>Create a generic filter to handle multi-character letters such as
-`<samp><span class="samp">"a</span></samp>' or `<samp><span class="samp">\"a</span></samp>' for ä. This filter should make use of the
-already exiting normalization code if possible.
-<li>Make Aspell <strong>Thread safe</strong>. Even though Aspell itself is not
+</p>
+<ul>
+<li> Create a generic filter to handle multi-character letters such as
+‘<samp>"a</samp>’ or ‘<samp>\"a</samp>’ for ä. This filter should make use of the
+already exiting normalization code if possible.
+</li><li> Make Aspell <strong>Thread safe</strong>. Even though Aspell itself is not
multi-threaded I would like it to be thread safe so that it can be
used by multi-threaded programs. There are several areas of Aspell
that are potentially thread unsafe (such as accessing a global pool)
and several classes which have the potential of being used by more
than one thread (such as the personal dictionary). <em>[In
-Progress]</em>.
-<li>Enhance <strong>ispell.el</strong> so that it will work better with GNU
-Aspell. <em>[In Progress]</em>.
-<li>Clean up copyright notices and bring the Aspell package up to
-<strong>GNU Standards</strong>. <em>[In Progress]</em>.
-</ul>
+Progress]</em>.
+</li><li> Enhance <strong>ispell.el</strong> so that it will work better with GNU
+Aspell. <em>[In Progress]</em>.
+</li><li> Clean up copyright notices and bring the Aspell package up to
+<strong>GNU Standards</strong>. <em>[In Progress]</em>.
+</li></ul>
+<a name="Things-I-would-like-to-get-done"></a>
<h4 class="appendixsubsec">D.1.2 Things I would like to get done</h4>
<p>I would like to get these done. However, I may still consider Aspell
finished without. They will probably eventually get
implemented. However, I could still use help with them.
-
- <ul>
-<li>Better support for <strong>compound words</strong>. The support for
+</p>
+<ul>
+<li> Better support for <strong>compound words</strong>. The support for
<em>conditional</em> compound words found in Aspell versions 0.50
and earlier is no longer available since no one seems to be using
-it. Support for <em>unconditional</em> compound words is still
-available. See <a href="Compound-Words.html#Compound-Words">Compound Words</a>.
-<li>Be able to accept <strong>words with spaces in them</strong> as many languages
+it. Support for <em>unconditional</em> compound words is still
+available. See <a href="Compound-Words.html#Compound-Words">Compound Words</a>.
+</li><li> Be able to accept <strong>words with spaces in them</strong> as many languages
have words, such as a word in a foreign phrase, which only makes sense
-when followed by other words. See <a href="Words-With-Symbols-in-Them.html#Words-With-Symbols-in-Them">Words With Symbols in Them</a>.
-<li>Reorganize manual to make it easier to understand and to make it
-possible to break out useful man pages.
-<li>Support <strong>soundslike lookup with affix compression</strong>. I think it
-is possible, although I don't know how effective it will be. The basic
+when followed by other words. See <a href="Words-With-Symbols-in-Them.html#Words-With-Symbols-in-Them">Words With Symbols in Them</a>.
+</li><li> Reorganize manual to make it easier to understand and to make it
+possible to break out useful man pages.
+</li><li> Support <strong>soundslike lookup with affix compression</strong>. I think it
+is possible, although I don’t know how effective it will be. The basic
idea is to affix compress the soundslike codes and then match the
codes up with affix compressed words. If you are interested,
email <a href="mailto:aspell-devel@gnu.org">aspell-devel@gnu.org</a>, and I will explain it in more
-detail.
-<li>Use Lawrence Philips' new <strong>Double Metaphone algorithm</strong>. See
+detail.
+</li><li> Use Lawrence Philips’ new <strong>Double Metaphone algorithm</strong>. See
<a href="http://aspell.net/metaphone/">http://aspell.net/metaphone/</a>. The main task involved
here is converting the algorithm into table form. This will take some
time but there is no real programming experience required. If you want
-to help with Aspell but don't have any real programming experience,
-this would be a great place to start.
-<li>Rank suggestions based on <strong>frequency information</strong>. Both global
+to help with Aspell but don’t have any real programming experience,
+this would be a great place to start.
+</li><li> Rank suggestions based on <strong>frequency information</strong>. Both global
frequency and document specific frequency can be used. The latter will
-require that the whole document be made available to the spell checker.
+require that the whole document be made available to the spell checker.
Also use frequency information to flag words which are found in the
dictionary but not in common usage, and thus might not be what was
-intended.
-<li>Support a <strong>"dual-script" mode</strong> where Aspell can use a separate
+intended.
+</li><li> Support a <strong>"dual-script" mode</strong> where Aspell can use a separate
dictionary depending on which script it detects the current word in, the
two dictionaries can have nothing in common, ie an English one and a
Russian one for example. This will <em>not</em> support two languages that
use the same script as that is a lot more complicated. For example if
the word is misspelled which dictionary should it use for the
-suggestions?
-<li>Write a <strong>GUI</strong> for the Aspell utility. Ideally it should be able to do
+suggestions?
+</li><li> Write a <strong>GUI</strong> for the Aspell utility. Ideally it should be able to do
everything the Aspell utility can do and not just be able spell check
-a document.
-<li>Develop a <strong>more powerful C API</strong> for Aspell. Ideally this API should
+a document.
+</li><li> Develop a <strong>more powerful C API</strong> for Aspell. Ideally this API should
allow one to perform all the tasks the Aspell utility can do. This
included the ability to check whole documents, and create
-dictionaries, among other things.
-<li>Create a <strong>C++ interface</strong> for Aspell, possibly on top of the C one.
+dictionaries, among other things.
+</li><li> Create a <strong>C++ interface</strong> for Aspell, possibly on top of the C one.
+
+</li></ul>
+
+<hr>
+<div class="header">
+<p>
+Next: <a href="Other-Items.html#Other-Items" accesskey="n" rel="next">Other Items</a>, Up: <a href="To-Do.html#To-Do" accesskey="u" rel="up">To Do</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
- </ul>
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Installing - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="prev" href="To-Do.html#To-Do" title="To Do">
-<link rel="next" href="ChangeLog.html#ChangeLog" title="ChangeLog">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Installing</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Installing">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Generic-Install-Instructions.html#Generic-Install-Instructions" rel="next" title="Generic Install Instructions">
+<link href="Email-the-Personal-Dictionary.html#Email-the-Personal-Dictionary" rel="prev" title="Email the Personal Dictionary">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Installing"></a>
-Next: <a rel="next" accesskey="n" href="ChangeLog.html#ChangeLog">ChangeLog</a>,
-Previous: <a rel="previous" accesskey="p" href="To-Do.html#To-Do">To Do</a>,
-Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="ChangeLog.html#ChangeLog" accesskey="n" rel="next">ChangeLog</a>, Previous: <a href="To-Do.html#To-Do" accesskey="p" rel="prev">To Do</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Installing-1"></a>
<h2 class="appendix">Appendix E Installing</h2>
<p>Aspell requires gcc 2.95 (or better) as the C++ compiler. Other C++
any major problems provided that the compile can handle all of the
advanced C++ features Aspell uses. C++ compilers for non-Unix systems
might work but it will take some work. Aspell at very least requires a
-Unix-like environment (<samp><span class="file">sh</span></samp>, <samp><span class="file">grep</span></samp>, <samp><span class="file">sed</span></samp>, <samp><span class="file">tr</span></samp>,
-<small class="dots">...</small>), and Perl in order to build. Aspell also uses a few POSIX
+Unix-like environment (<samp>sh</samp>, <samp>grep</samp>, <samp>sed</samp>, <samp>tr</samp>,
+…), and Perl in order to build. Aspell also uses a few POSIX
functions when necessary.
-
- <p>The latest version can always be found at GNU Aspell's home page at
+</p>
+<p>The latest version can always be found at GNU Aspell’s home page at
<a href="http://aspell.net">http://aspell.net</a>.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="Generic-Install-Instructions.html#Generic-Install-Instructions" accesskey="1">Generic Install Instructions</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="HTML-Manuals-and-_0022make-clean_0022.html#HTML-Manuals-and-_0022make-clean_0022" accesskey="2">HTML Manuals and "make clean"</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Curses-Notes.html#Curses-Notes" accesskey="3">Curses Notes</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Loadable-Filter-Notes.html#Loadable-Filter-Notes" accesskey="4">Loadable Filter Notes</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Using-32_002dBit-Dictionaries-on-a-64_002dBit-System.html#Using-32_002dBit-Dictionaries-on-a-64_002dBit-System" accesskey="5">Using 32-Bit Dictionaries on a 64-Bit System</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Upgrading-from-Aspell-0_002e50.html#Upgrading-from-Aspell-0_002e50" accesskey="6">Upgrading from Aspell 0.50</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Upgrading-from-Aspell-_002e33_002fPspell-_002e12.html#Upgrading-from-Aspell-_002e33_002fPspell-_002e12" accesskey="7">Upgrading from Aspell .33/Pspell .12</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Upgrading-from-a-Pre_002d0_002e50-snapshot.html#Upgrading-from-a-Pre_002d0_002e50-snapshot" accesskey="8">Upgrading from a Pre-0.50 snapshot</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="WIN32-Notes.html#WIN32-Notes" accesskey="9">WIN32 Notes</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+</table>
+
-<ul class="menu">
-<li><a accesskey="1" href="Generic-Install-Instructions.html#Generic-Install-Instructions">Generic Install Instructions</a>
-<li><a accesskey="2" href="HTML-Manuals-and-_0022make-clean_0022.html#HTML-Manuals-and-_0022make-clean_0022">HTML Manuals and "make clean"</a>
-<li><a accesskey="3" href="Curses-Notes.html#Curses-Notes">Curses Notes</a>
-<li><a accesskey="4" href="Loadable-Filter-Notes.html#Loadable-Filter-Notes">Loadable Filter Notes</a>
-<li><a accesskey="5" href="Upgrading-from-Aspell-0_002e50.html#Upgrading-from-Aspell-0_002e50">Upgrading from Aspell 0.50</a>
-<li><a accesskey="6" href="Upgrading-from-Aspell-_002e33_002fPspell-_002e12.html#Upgrading-from-Aspell-_002e33_002fPspell-_002e12">Upgrading from Aspell .33/Pspell .12</a>
-<li><a accesskey="7" href="Upgrading-from-a-Pre_002d0_002e50-snapshot.html#Upgrading-from-a-Pre_002d0_002e50-snapshot">Upgrading from a Pre-0.50 snapshot</a>
-<li><a accesskey="8" href="WIN32-Notes.html#WIN32-Notes">WIN32 Notes</a>
-</ul>
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Introduction - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="prev" href="index.html#Top" title="Top">
-<link rel="next" href="Support.html#Support" title="Support">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Introduction</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Introduction">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Support.html#Support" rel="next" title="Support">
+<link href="index.html#Top" rel="prev" title="Top">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Introduction"></a>
-Next: <a rel="next" accesskey="n" href="Support.html#Support">Support</a>,
-Previous: <a rel="previous" accesskey="p" href="index.html#Top">Top</a>,
-Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Support.html#Support" accesskey="n" rel="next">Support</a>, Previous: <a href="index.html#Top" accesskey="p" rel="prev">Top</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Introduction-1"></a>
<h2 class="chapter">1 Introduction</h2>
<p>GNU Aspell is a spell checker designed to eventually replace Ispell. It
setting. Other advantages over Ispell include support for using
multiple dictionaries at once and intelligently handling personal
dictionaries when more than one Aspell process is open at once.
-
- <p>The latest version of Aspell can always be found at <a href="http://aspell.net">http://aspell.net</a>
-
+</p>
+<p>The latest version of Aspell can always be found at <a href="http://aspell.net">http://aspell.net</a>
+</p>
+<a name="Comparison-to-other-spell-checker-engines"></a>
<h3 class="section">1.1 Comparison to other spell checker engines</h3>
-<p><table summary=""><tr align="left"><td valign="top"></td><td valign="top">Aspell </td><td valign="top">Ispell </td><td valign="top">Netscape </td><td valign="top">Microsoft
-<br></td></tr><tr align="left"><td valign="top"></td><td valign="top"></td><td valign="top"></td><td valign="top">4.0 </td><td valign="top">Word 97
-<br></td></tr><tr align="left"><td valign="top">Open Source </td><td valign="top">x </td><td valign="top">x
-<br></td></tr><tr align="left"><td valign="top">Suggestion </td><td valign="top">88-98 </td><td valign="top">54 </td><td valign="top">55-70? </td><td valign="top">71
-<br></td></tr><tr align="left"><td valign="top">Intelligence
-<br></td></tr><tr align="left"><td valign="top">Personal part </td><td valign="top">x </td><td valign="top">x </td><td valign="top">x
-<br></td></tr><tr align="left"><td valign="top">of Suggestions
-<br></td></tr><tr align="left"><td valign="top">Alternate Dictionaries </td><td valign="top">x </td><td valign="top">x </td><td valign="top">? </td><td valign="top">?
-<br></td></tr><tr align="left"><td valign="top">International Support </td><td valign="top">x </td><td valign="top">x </td><td valign="top">? </td><td valign="top">?
-<br></td></tr></table>
-
- <p>The Suggestion Intelligence is based on a small test kernel of
+<table>
+<tr><td></td><td>Aspell</td><td>Ispell</td><td>Netscape</td><td>Microsoft</td></tr>
+<tr><td></td><td></td><td></td><td>4.0</td><td>Word 97</td></tr>
+<tr><td>Open Source</td><td>x</td><td>x</td></tr>
+<tr><td>Suggestion</td><td>88-98</td><td>54</td><td>55-70?</td><td>71</td></tr>
+<tr><td>Intelligence</td></tr>
+<tr><td>Personal part</td><td>x</td><td>x</td><td>x</td></tr>
+<tr><td>of Suggestions</td></tr>
+<tr><td>Alternate Dictionaries</td><td>x</td><td>x</td><td>?</td><td>?</td></tr>
+<tr><td>International Support</td><td>x</td><td>x</td><td>?</td><td>?</td></tr>
+</table>
+
+<p>The Suggestion Intelligence is based on a small test kernel of
misspelled/correct word pairs. Go to <a href="http://aspell.net/test">http://aspell.net/test</a>
for more info and how you can help contribute to the test kernel. The
current scores for Aspell are 88 in <em>fast</em> mode, 93 in
<em>normal</em> mode, and 98 in <em>bad spellers</em> mode: for more
information about the various suggestion modes <a href="Notes-on-the-Different-Suggestion-Modes.html#Notes-on-the-Different-Suggestion-Modes">Notes on the Different Suggestion Modes</a>.
+</p>
- <p>If you have any other information you would like to add to this chart
+<p>If you have any other information you would like to add to this chart
please contact me at <a href="mailto:kevina@gnu.org">kevina@gnu.org</a>.
-
+</p>
+<a name="Comparison-to-Ispell"></a>
<h4 class="subsection">1.1.1 Comparison to Ispell</h4>
-<h5 class="subsubsection">1.1.1.1 Features that only Aspell has</h5>
+<a name="Features-that-only-Aspell-has"></a>
+<h4 class="subsubsection">1.1.1.1 Features that only Aspell has</h4>
- <ul>
-<li>Is an actual library that other programs can link to instead of
+<ul>
+<li> Is an actual library that other programs can link to instead of
having to use it through a pipe.
- <li>Does a much better job of suggesting possible replacements for a
+</li><li> Does a much better job of suggesting possible replacements for a
misspelled word than Ispell does or for that matter many other spell
checkers I have seen. If you know a spell checker that does a better
job please let me know.
- <li>Can learn from user's misspellings.
+</li><li> Can learn from user’s misspellings.
- <li>Can easily check documents in UTF-8 without having to use a special
+</li><li> Can easily check documents in UTF-8 without having to use a special
dictionary.
- <li>Has support for using multiple dictionaries at once.
+</li><li> Has support for using multiple dictionaries at once.
- <li>Is multiprocess intelligent. When a personal dictionary (or
+</li><li> Is multiprocess intelligent. When a personal dictionary (or
replacement list) is saved, it will now first update the list against
the dictionary on disk in case another process modified it.
- <li>Can share the memory used in the main word list between processes.
+</li><li> Can share the memory used in the main word list between processes.
- <li>A better, more complete word list for the English language. Word
-lists are provided for American, British, and Canadian spelling.
+</li><li> A better, more complete word list for the English language. Word
+lists are provided for American, British, and Canadian spelling.
Special care has been taken to only include one spelling for each word
in any particular word list. The word list included in Ispell by
contrast only included support for American and British and also tends
to included multiple spellings for a word which can mask some spelling
-errors.
-</ul>
+errors.
+</li></ul>
-<h5 class="subsubsection">1.1.1.2 Things that, currently, only Ispell has</h5>
+<a name="Things-that_002c-currently_002c-only-Ispell-has"></a>
+<h4 class="subsubsection">1.1.1.2 Things that, currently, only Ispell has</h4>
- <ul>
-<li>Lower memory footprint
+<ul>
+<li> Lower memory footprint
- <li>Ability to deal with arbitrary multi-character letters such as old
+</li><li> Ability to deal with arbitrary multi-character letters such as old
ASCII encodings of accented letters.
- <li>Perhaps better support for spell checking (La)TeX files.
+</li><li> Perhaps better support for spell checking (La)TeX files.
+
+</li></ul>
-</ul>
+<p>For a detailed description of how Aspell differs from Ispell, See <a href="Using-Aspell-as-a-Replacement-for-Ispell.html#Differences-From-Ispell">Differences From Ispell</a>.
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Support.html#Support" accesskey="n" rel="next">Support</a>, Previous: <a href="index.html#Top" accesskey="p" rel="prev">Top</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
- <p>For a detailed description of how Aspell differs from Ispell, See <a href="Differences-From-Ispell.html#Differences-From-Ispell">Differences From Ispell</a>.
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Language Related Issues - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="prev" href="Languages-Which-Aspell-can-Support.html#Languages-Which-Aspell-can-Support" title="Languages Which Aspell can Support">
-<link rel="next" href="To-Do.html#To-Do" title="To Do">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Language Related Issues</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Language Related Issues">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Compound-Words.html#Compound-Words" rel="next" title="Compound Words">
+<link href="References.html#References" rel="prev" title="References">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Language-Related-Issues"></a>
-Next: <a rel="next" accesskey="n" href="To-Do.html#To-Do">To Do</a>,
-Previous: <a rel="previous" accesskey="p" href="Languages-Which-Aspell-can-Support.html#Languages-Which-Aspell-can-Support">Languages Which Aspell can Support</a>,
-Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="To-Do.html#To-Do" accesskey="n" rel="next">To Do</a>, Previous: <a href="Languages-Which-Aspell-can-Support.html#Languages-Which-Aspell-can-Support" accesskey="p" rel="prev">Languages Which Aspell can Support</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Language-Related-Issues-1"></a>
<h2 class="appendix">Appendix C Language Related Issues</h2>
<p>Here are some language related issues that a good spell checker needs to
handle. If you have any more information about any of these issues, or
of a new issue not discussed here, please email me at
<a href="mailto:kevina@gnu.org">kevina@gnu.org</a>.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="Compound-Words.html#Compound-Words" accesskey="1">Compound Words</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Words-With-Symbols-in-Them.html#Words-With-Symbols-in-Them" accesskey="2">Words With Symbols in Them</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Unicode-Normalization.html#Unicode-Normalization" accesskey="3">Unicode Normalization</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="German-Sharp-S.html#German-Sharp-S" accesskey="4">German Sharp S</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Context-Sensitive-Spelling.html#Context-Sensitive-Spelling" accesskey="5">Context Sensitive Spelling</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+</table>
+
-<ul class="menu">
-<li><a accesskey="1" href="Compound-Words.html#Compound-Words">Compound Words</a>
-<li><a accesskey="2" href="Words-With-Symbols-in-Them.html#Words-With-Symbols-in-Them">Words With Symbols in Them</a>
-<li><a accesskey="3" href="Unicode-Normalization.html#Unicode-Normalization">Unicode Normalization</a>
-<li><a accesskey="4" href="German-Sharp-S.html#German-Sharp-S">German Sharp S</a>
-<li><a accesskey="5" href="Context-Sensitive-Spelling.html#Context-Sensitive-Spelling">Context Sensitive Spelling</a>
-</ul>
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Languages Which Aspell can Support - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="prev" href="Implementation-Notes.html#Implementation-Notes" title="Implementation Notes">
-<link rel="next" href="Language-Related-Issues.html#Language-Related-Issues" title="Language Related Issues">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Languages Which Aspell can Support</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Languages Which Aspell can Support">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Supported.html#Supported" rel="next" title="Supported">
+<link href="Notes-on-8_002dbit-Characters.html#Notes-on-8_002dbit-Characters" rel="prev" title="Notes on 8-bit Characters">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Languages-Which-Aspell-can-Support"></a>
-Next: <a rel="next" accesskey="n" href="Language-Related-Issues.html#Language-Related-Issues">Language Related Issues</a>,
-Previous: <a rel="previous" accesskey="p" href="Implementation-Notes.html#Implementation-Notes">Implementation Notes</a>,
-Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Language-Related-Issues.html#Language-Related-Issues" accesskey="n" rel="next">Language Related Issues</a>, Previous: <a href="Implementation-Notes.html#Implementation-Notes" accesskey="p" rel="prev">Implementation Notes</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Languages-Which-Aspell-can-Support-1"></a>
<h2 class="appendix">Appendix B Languages Which Aspell can Support</h2>
<p>Even though Aspell will remain 8-bit internally it should still be
able to support any written languages not based on a logographic
script. The only logographic writing system in current use are those
-based on hànzi which includes Chinese, Japanese, and sometimes Korean.
+based on hànzi which includes Chinese, Japanese, and sometimes Korean.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="Supported.html#Supported" accesskey="1">Supported</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Unsupported.html#Unsupported" accesskey="2">Unsupported</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Multiple-Scripts.html#Multiple-Scripts" accesskey="3">Multiple Scripts</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Planned-Dictionaries.html#Planned-Dictionaries" accesskey="4">Planned Dictionaries</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="References.html#References" accesskey="5">References</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+</table>
+
-<ul class="menu">
-<li><a accesskey="1" href="Supported.html#Supported">Supported</a>
-<li><a accesskey="2" href="Unsupported.html#Unsupported">Unsupported</a>
-<li><a accesskey="3" href="Multiple-Scripts.html#Multiple-Scripts">Multiple Scripts</a>
-<li><a accesskey="4" href="Planned-Dictionaries.html#Planned-Dictionaries">Planned Dictionaries</a>
-<li><a accesskey="5" href="References.html#References">References</a>
-</ul>
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Listing Available Dictionaries - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Working-With-Dictionaries.html#Working-With-Dictionaries" title="Working With Dictionaries">
-<link rel="prev" href="How-Aspell-Selects-an-Appropriate-Dictionary.html#How-Aspell-Selects-an-Appropriate-Dictionary" title="How Aspell Selects an Appropriate Dictionary">
-<link rel="next" href="Dumping-the-Contents-of-the-Word-List.html#Dumping-the-Contents-of-the-Word-List" title="Dumping the Contents of the Word List">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Listing Available Dictionaries</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Listing Available Dictionaries">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Working-With-Dictionaries.html#Working-With-Dictionaries" rel="up" title="Working With Dictionaries">
+<link href="Dumping-the-Contents-of-the-Word-List.html#Dumping-the-Contents-of-the-Word-List" rel="next" title="Dumping the Contents of the Word List">
+<link href="How-Aspell-Selects-an-Appropriate-Dictionary.html#How-Aspell-Selects-an-Appropriate-Dictionary" rel="prev" title="How Aspell Selects an Appropriate Dictionary">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Listing-Available-Dictionaries"></a>
-Next: <a rel="next" accesskey="n" href="Dumping-the-Contents-of-the-Word-List.html#Dumping-the-Contents-of-the-Word-List">Dumping the Contents of the Word List</a>,
-Previous: <a rel="previous" accesskey="p" href="How-Aspell-Selects-an-Appropriate-Dictionary.html#How-Aspell-Selects-an-Appropriate-Dictionary">How Aspell Selects an Appropriate Dictionary</a>,
-Up: <a rel="up" accesskey="u" href="Working-With-Dictionaries.html#Working-With-Dictionaries">Working With Dictionaries</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Dumping-the-Contents-of-the-Word-List.html#Dumping-the-Contents-of-the-Word-List" accesskey="n" rel="next">Dumping the Contents of the Word List</a>, Previous: <a href="How-Aspell-Selects-an-Appropriate-Dictionary.html#How-Aspell-Selects-an-Appropriate-Dictionary" accesskey="p" rel="prev">How Aspell Selects an Appropriate Dictionary</a>, Up: <a href="Working-With-Dictionaries.html#Working-With-Dictionaries" accesskey="u" rel="up">Working With Dictionaries</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Listing-Available-Dictionaries-1"></a>
<h3 class="section">5.3 Listing Available Dictionaries</h3>
-<p>For a list of available dictionaries use the command <samp><span class="command">aspell
-dump dicts</span></samp>. This will form a list of dictionaries that Aspell will
+<p>For a list of available dictionaries use the command <code>aspell
+dump dicts</code>. This will form a list of dictionaries that Aspell will
search when a dictionary is not specifically given.
+</p>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Loadable Filter Notes - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Installing.html#Installing" title="Installing">
-<link rel="prev" href="Curses-Notes.html#Curses-Notes" title="Curses Notes">
-<link rel="next" href="Upgrading-from-Aspell-0_002e50.html#Upgrading-from-Aspell-0_002e50" title="Upgrading from Aspell 0.50">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Loadable Filter Notes</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Loadable Filter Notes">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Installing.html#Installing" rel="up" title="Installing">
+<link href="Using-32_002dBit-Dictionaries-on-a-64_002dBit-System.html#Using-32_002dBit-Dictionaries-on-a-64_002dBit-System" rel="next" title="Using 32-Bit Dictionaries on a 64-Bit System">
+<link href="Curses-Notes.html#Curses-Notes" rel="prev" title="Curses Notes">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Loadable-Filter-Notes"></a>
-Next: <a rel="next" accesskey="n" href="Upgrading-from-Aspell-0_002e50.html#Upgrading-from-Aspell-0_002e50">Upgrading from Aspell 0.50</a>,
-Previous: <a rel="previous" accesskey="p" href="Curses-Notes.html#Curses-Notes">Curses Notes</a>,
-Up: <a rel="up" accesskey="u" href="Installing.html#Installing">Installing</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Using-32_002dBit-Dictionaries-on-a-64_002dBit-System.html#Using-32_002dBit-Dictionaries-on-a-64_002dBit-System" accesskey="n" rel="next">Using 32-Bit Dictionaries on a 64-Bit System</a>, Previous: <a href="Curses-Notes.html#Curses-Notes" accesskey="p" rel="prev">Curses Notes</a>, Up: <a href="Installing.html#Installing" accesskey="u" rel="up">Installing</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Loadable-Filter-Notes-1"></a>
<h3 class="appendixsec">E.4 Loadable Filter Notes</h3>
<p>Support for being able to load additional filter modules at run-time
filter support is not working yet on your platform. Thus, in order to
get Aspell to work correctly you will need to avoid compiling the
filters as individual modules by using the
-<samp><span class="option">--enable-compile-in-filters</span></samp> when configuring Aspell with
-<samp><span class="command">./configure</span></samp>.
+<samp>--enable-compile-in-filters</samp> when configuring Aspell with
+<code>./configure</code>.
+</p>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Multiple Scripts - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Languages-Which-Aspell-can-Support.html#Languages-Which-Aspell-can-Support" title="Languages Which Aspell can Support">
-<link rel="prev" href="Unsupported.html#Unsupported" title="Unsupported">
-<link rel="next" href="Planned-Dictionaries.html#Planned-Dictionaries" title="Planned Dictionaries">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Multiple Scripts</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Multiple Scripts">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Languages-Which-Aspell-can-Support.html#Languages-Which-Aspell-can-Support" rel="up" title="Languages Which Aspell can Support">
+<link href="Planned-Dictionaries.html#Planned-Dictionaries" rel="next" title="Planned Dictionaries">
+<link href="Unsupported.html#Unsupported" rel="prev" title="Unsupported">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Multiple-Scripts"></a>
-Next: <a rel="next" accesskey="n" href="Planned-Dictionaries.html#Planned-Dictionaries">Planned Dictionaries</a>,
-Previous: <a rel="previous" accesskey="p" href="Unsupported.html#Unsupported">Unsupported</a>,
-Up: <a rel="up" accesskey="u" href="Languages-Which-Aspell-can-Support.html#Languages-Which-Aspell-can-Support">Languages Which Aspell can Support</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Planned-Dictionaries.html#Planned-Dictionaries" accesskey="n" rel="next">Planned Dictionaries</a>, Previous: <a href="Unsupported.html#Unsupported" accesskey="p" rel="prev">Unsupported</a>, Up: <a href="Languages-Which-Aspell-can-Support.html#Languages-Which-Aspell-can-Support" accesskey="u" rel="up">Languages Which Aspell can Support</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Languages-Written-in-Multiple-Scripts"></a>
<h3 class="appendixsec">B.3 Languages Written in Multiple Scripts</h3>
<p>Aspell should be able to check text written in the same language but
in multiple scripts with some work. If the number of unique symbols
in both scripts is less than 210, then a special character set can be
-used to allow both scripts to be encoded in the same dictionary.
+used to allow both scripts to be encoded in the same dictionary.
However this may not be the most efficient solution. An alternate
solution is to store each script in its own dictionary and allow
Aspell to choose the correct dictionary based on which script the
given word is written in. Aspell currently does not support this mode
of spell checking but it is something that I hope to eventually
support.
+</p>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Notes on 8-bit Characters - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Implementation-Notes.html#Implementation-Notes" title="Implementation Notes">
-<link rel="prev" href="Aspell-Suggestion-Strategy.html#Aspell-Suggestion-Strategy" title="Aspell Suggestion Strategy">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Notes on 8-bit Characters</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Notes on 8-bit Characters">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Implementation-Notes.html#Implementation-Notes" rel="up" title="Implementation Notes">
+<link href="Languages-Which-Aspell-can-Support.html#Languages-Which-Aspell-can-Support" rel="next" title="Languages Which Aspell can Support">
+<link href="Aspell-Suggestion-Strategy.html#Aspell-Suggestion-Strategy" rel="prev" title="Aspell Suggestion Strategy">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
-<a name="Notes-on-8-bit-Characters"></a>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Notes-on-8_002dbit-Characters"></a>
-Previous: <a rel="previous" accesskey="p" href="Aspell-Suggestion-Strategy.html#Aspell-Suggestion-Strategy">Aspell Suggestion Strategy</a>,
-Up: <a rel="up" accesskey="u" href="Implementation-Notes.html#Implementation-Notes">Implementation Notes</a>
-<hr>
+<div class="header">
+<p>
+Previous: <a href="Aspell-Suggestion-Strategy.html#Aspell-Suggestion-Strategy" accesskey="p" rel="prev">Aspell Suggestion Strategy</a>, Up: <a href="Implementation-Notes.html#Implementation-Notes" accesskey="u" rel="up">Implementation Notes</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Notes-on-8_002dbit-Characters-1"></a>
<h3 class="appendixsec">A.2 Notes on 8-bit Characters</h3>
<p>There is a very good reason I use 8-bit characters in Aspell. Speed
and simplicity. While many parts of my code can fairly easily be
converted to some sort of wide character as my code is clean. Other
parts cannot be.
-
- <p>One of the reasons why is because in many, many places I use a direct
+</p>
+<p>One of the reasons why is because in many, many places I use a direct
lookup to find out various information about characters. With 8-bit
characters this is very feasible because there is only 256 of
them. With 16-bit wide characters this will waste a LOT of space. With
32-bit characters this is just plain impossible. Converting the lookup
tables to another form is certainly possible but degrades performance
significantly.
-
- <p>Furthermore, some of my algorithms rely on words consisting only on a
+</p>
+<p>Furthermore, some of my algorithms rely on words consisting only on a
small number of distinct characters (often around 30 when case and
accents are not considered). When the possible character can consist
of any Unicode character this number becomes several thousand, if
contain. If I impose that limit, I might as well use some sort of
8-bit characters set which will automatically place the limit on what
the characters can be.
-
- <p>There is also the issue of how I should store the word lists in
+</p>
+<p>There is also the issue of how I should store the word lists in
memory? As a string of 32 bit wide characters. Now that is using up 4
times more memory than characters would and for languages that can fit
within an 8-bit character that is, in my view, a gross waste of
lookup tables. Now that can lead to an inefficiency. I could also use
16 bit wide characters, however that may not be good enough to hold all
future versions of Unicode and therefore has the same problems.
-
- <p>As a response to the space waste used by storing word lists in some
+</p>
+<p>As a response to the space waste used by storing word lists in some
sort of wide format some one asked:
-
- <blockquote>
-Since hard drives are cheaper and cheaper, you could store a dictionary
+</p>
+<blockquote>
+<p>Since hard drives are cheaper and cheaper, you could store a dictionary
in a usable (uncompressed) form and use it directly with memory
mapping. Then the efficiency would directly depend on the disk caching
method, and only the used part of the dictionaries would really be
loaded into memory. You would no more have to load plain dictionaries
-into main memory, you'll just want to compute some indexes (or
-something like that) after mapping.
-</blockquote>
+into main memory, you’ll just want to compute some indexes (or
+something like that) after mapping.
+</p></blockquote>
- <p>However, the fact of the matter is that most of the dictionary will be
+<p>However, the fact of the matter is that most of the dictionary will be
read into memory anyway if it is available. If it is not available
then there would be a good deal of disk swaps. Making characters
-32-bit wide will increase the chance that there are more disk swaps.
+32-bit wide will increase the chance that there are more disk swaps.
So the bottom line is that it is more efficient to convert characters
from something like UTF-8 into some sort of 8-bit character. I could
also use some sort of disk space lookup table such as the Berkeley
Database. However this will <strong>definitely</strong> degrade performance.
-
- <p>The bottom line is that keeping Aspell 8-bit internally is a very well
+</p>
+<p>The bottom line is that keeping Aspell 8-bit internally is a very well
though out decision that is not likely to change any time soon. Feel
-free to challenge me on it, but, don't expect me to change my mind
+free to challenge me on it, but, don’t expect me to change my mind
unless you can bring up some point that I have not thought of before
and quite possibly a patch to solve cleanly convert Aspell to Unicode
internally without a serious performance lost OR serious memory usage
increase.
+</p>
+<hr>
+<div class="header">
+<p>
+Previous: <a href="Aspell-Suggestion-Strategy.html#Aspell-Suggestion-Strategy" accesskey="p" rel="prev">Aspell Suggestion Strategy</a>, Up: <a href="Implementation-Notes.html#Implementation-Notes" accesskey="u" rel="up">Implementation Notes</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Notes on Storing Replacement Pairs - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Writing-programs-to-use-Aspell.html#Writing-programs-to-use-Aspell" title="Writing programs to use Aspell">
-<link rel="prev" href="Through-A-Pipe.html#Through-A-Pipe" title="Through A Pipe">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Notes on Storing Replacement Pairs</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Notes on Storing Replacement Pairs">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Writing-programs-to-use-Aspell.html#Writing-programs-to-use-Aspell" rel="up" title="Writing programs to use Aspell">
+<link href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" rel="next" title="Adding Support For Other Languages">
+<link href="Through-A-Pipe.html#Through-A-Pipe" rel="prev" title="Through A Pipe">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Notes-on-Storing-Replacement-Pairs"></a>
-Previous: <a rel="previous" accesskey="p" href="Through-A-Pipe.html#Through-A-Pipe">Through A Pipe</a>,
-Up: <a rel="up" accesskey="u" href="Writing-programs-to-use-Aspell.html#Writing-programs-to-use-Aspell">Writing programs to use Aspell</a>
-<hr>
+<div class="header">
+<p>
+Previous: <a href="Through-A-Pipe.html#Through-A-Pipe" accesskey="p" rel="prev">Through A Pipe</a>, Up: <a href="Writing-programs-to-use-Aspell.html#Writing-programs-to-use-Aspell" accesskey="u" rel="up">Writing programs to use Aspell</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Notes-on-Storing-Replacement-Pairs-1"></a>
<h3 class="section">6.3 Notes on Storing Replacement Pairs</h3>
<p>The <code>store_repl</code> method and the <code>$$ra</code> should be used
because Aspell is able to learn from users misspellings. For example
on the first pass a user misspells <em>beginning</em> as <em>beging</em>
so Aspell suggests:
+</p>
+<div class="example">
+<pre class="example">begging, begin, being, Beijing, bagging, ….
+</pre></div>
-<pre class="example"> begging, begin, being, Beijing, bagging, ....
-</pre>
- <p class="noindent">However the user then tries <em>begning</em> and Aspell suggests
+<p>However the user then tries <em>begning</em> and Aspell suggests
+</p>
+<div class="example">
+<pre class="example">beginning, beaning, begging, …
+</pre></div>
-<pre class="example"> beginning, beaning, begging, ...
-</pre>
- <p class="noindent">so the user selects <em>beginning</em>. However, later on in the
+<p>so the user selects <em>beginning</em>. However, later on in the
document the user misspells it as <em>begng</em> (<strong>not</strong>
<em>beging</em>). Normally Aspell will suggest.
+</p>
+<div class="example">
+<pre class="example">began, begging, begin, begun, …
+</pre></div>
-<pre class="example"> began, begging, begin, begun, ...
-</pre>
- <p class="noindent">However because it knows the user misspelled <em>beginning</em> as
+<p>However because it knows the user misspelled <em>beginning</em> as
<em>beging</em> it will instead suggest:
+</p>
+<div class="example">
+<pre class="example">beginning, began, begging, begin, begun …
+</pre></div>
-<pre class="example"> beginning, began, begging, begin, begun ...
-</pre>
- <p>I myself often misspelled beginning (and still do) as something close
+<p>I myself often misspelled beginning (and still do) as something close
to begging and too many times wind up writing sentences such as
-"begging with <small class="dots">...</small>".
-
- <p>Please also note that replacements commands have a memory. Which means
+"begging with …".
+</p>
+<p>Please also note that replacements commands have a memory. Which means
if you first store the replacement pair:
+</p>
+<div class="example">
+<pre class="example">sicolagest -> psycolagest
+</pre></div>
+
+<p>then store the replacement pair
+</p>
+<div class="example">
+<pre class="example">psycolagest -> psychologist
+</pre></div>
-<pre class="example"> sicolagest -> psycolagest
-</pre>
- <p class="noindent">then store the replacement pair
+<p>The replacement pair
+</p>
+<div class="example">
+<pre class="example">sicolagest -> psychologist
+</pre></div>
-<pre class="example"> psycolagest -> psychologist
-</pre>
- <p class="noindent">The replacement pair
+<p>will also get stored so that you don’t have to worry about it.
+</p>
-<pre class="example"> sicolagest -> psychologist
-</pre>
- <p class="noindent">will also get stored so that you don't have to worry about it.
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Notes on Typo-Analysis - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Notes-on-Various-Options.html#Notes-on-Various-Options" title="Notes on Various Options">
-<link rel="prev" href="Notes-on-the-Prefix-Option.html#Notes-on-the-Prefix-Option" title="Notes on the Prefix Option">
-<link rel="next" href="Notes-on-the-Different-Suggestion-Modes.html#Notes-on-the-Different-Suggestion-Modes" title="Notes on the Different Suggestion Modes">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Notes on Typo-Analysis</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Notes on Typo-Analysis">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Notes-on-Various-Options.html#Notes-on-Various-Options" rel="up" title="Notes on Various Options">
+<link href="Notes-on-the-Different-Suggestion-Modes.html#Notes-on-the-Different-Suggestion-Modes" rel="next" title="Notes on the Different Suggestion Modes">
+<link href="Notes-on-the-Prefix-Option.html#Notes-on-the-Prefix-Option" rel="prev" title="Notes on the Prefix Option">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
-<a name="Notes-on-Typo-Analysis"></a>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Notes-on-Typo_002dAnalysis"></a>
-Next: <a rel="next" accesskey="n" href="Notes-on-the-Different-Suggestion-Modes.html#Notes-on-the-Different-Suggestion-Modes">Notes on the Different Suggestion Modes</a>,
-Previous: <a rel="previous" accesskey="p" href="Notes-on-the-Prefix-Option.html#Notes-on-the-Prefix-Option">Notes on the Prefix Option</a>,
-Up: <a rel="up" accesskey="u" href="Notes-on-Various-Options.html#Notes-on-Various-Options">Notes on Various Options</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Notes-on-the-Different-Suggestion-Modes.html#Notes-on-the-Different-Suggestion-Modes" accesskey="n" rel="next">Notes on the Different Suggestion Modes</a>, Previous: <a href="Notes-on-the-Prefix-Option.html#Notes-on-the-Prefix-Option" accesskey="p" rel="prev">Notes on the Prefix Option</a>, Up: <a href="Notes-on-Various-Options.html#Notes-on-Various-Options" accesskey="u" rel="up">Notes on Various Options</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Notes-on-Typo_002dAnalysis-and-the-Keyboard-Definition-File"></a>
<h4 class="subsection">4.4.3 Notes on Typo-Analysis and the Keyboard Definition File</h4>
<p>Aspell .33 and better will, in general, give a higher priority to
<code>happy</code>. However in order to do this well Aspell needs to know the
layout of the keyboard via the keyboard definition file. The keyboard
definition file simply identifies the keys on the keyboard and which of
-them are right next to each other. It has an extension of <samp><span class="file">.kbd</span></samp>
+them are right next to each other. It has an extension of <samp>.kbd</samp>
and all non-ASCII characters are expected to be in UTF-8.
+</p>
+<p>To identify a key use:
+</p>
+<div class="example">
+<pre class="example">key <var>base</var> <var>other</var> …
+</pre></div>
- <p>To identify a key use:
-
-<pre class="example"> key <var>base</var> <var>other</var> ...
-</pre>
- <p class="noindent">where <var>base</var> is the base character that the key types, and
+<p>where <var>base</var> is the base character that the key types, and
<var>other</var> are other keys that the key can produce. For example
+</p>
+<div class="example">
+<pre class="example">key a A á Á
+</pre></div>
-<pre class="example"> key a A á Á
-</pre>
- <p>It generally is only necessary to list keys which type more than one
+<p>It generally is only necessary to list keys which type more than one
distinct letter as Aspell can derive the rest from the language data
file. For example, it is not necessary to include the previously
mentioned key.
-
- <p>To identify two keys as being right next to each other simply list the
+</p>
+<p>To identify two keys as being right next to each other simply list the
type keys right after each other. For example the line:
+</p>
+<div class="example">
+<pre class="example">as
+</pre></div>
-<pre class="example"> as
-</pre>
- <p class="noindent">will indicate that `<samp><span class="samp">a</span></samp>' and `<samp><span class="samp">s</span></samp>' are right next to each other.
-If `<samp><span class="samp">as</span></samp>' is listed as an entry it is not necessary to list `<samp><span class="samp">sa</span></samp>'
-as an entry as that will be done automatically. Also by <dfn>right
-next to each other</dfn> I mean two keys that are close enough together that
+<p>will indicate that ‘<samp>a</samp>’ and ‘<samp>s</samp>’ are right next to each other.
+If ‘<samp>as</samp>’ is listed as an entry it is not necessary to list ‘<samp>sa</samp>’
+as an entry as that will be done automatically. Also by <em>right
+next to each other</em> I mean two keys that are close enough together that
it is easy to type one instead of the other. On most keyboards this
means keys that are to the left or to the right of each other and
<em>not</em> keys that are below or above it.
-
- <p>The default for this option is normally <samp><span class="option">standard</span></samp>. However
+</p>
+<p>The default for this option is normally <samp>standard</samp>. However
the default can be changed via the language data file. The normal
-default, <samp><span class="option">standard</span></samp>, should work well for most QWERTY like
-keyboard layouts. It may need minor adjusting for foreign keyboards.
-The <samp><span class="option">dvorak</span></samp> option can be used for a Dvorak layout.
+default, <samp>standard</samp>, should work well for most QWERTY like
+keyboard layouts. It may need minor adjusting for foreign keyboards.
+The <samp>dvorak</samp> option can be used for a Dvorak layout.
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Notes-on-the-Different-Suggestion-Modes.html#Notes-on-the-Different-Suggestion-Modes" accesskey="n" rel="next">Notes on the Different Suggestion Modes</a>, Previous: <a href="Notes-on-the-Prefix-Option.html#Notes-on-the-Prefix-Option" accesskey="p" rel="prev">Notes on the Prefix Option</a>, Up: <a href="Notes-on-Various-Options.html#Notes-on-Various-Options" accesskey="u" rel="up">Notes on Various Options</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Notes on Various Filters and Filter Modes - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Notes-on-Various-Options.html#Notes-on-Various-Options" title="Notes on Various Options">
-<link rel="next" href="Notes-on-the-Prefix-Option.html#Notes-on-the-Prefix-Option" title="Notes on the Prefix Option">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Notes on Various Filters and Filter Modes</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Notes on Various Filters and Filter Modes">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Notes-on-Various-Options.html#Notes-on-Various-Options" rel="up" title="Notes on Various Options">
+<link href="Notes-on-the-Prefix-Option.html#Notes-on-the-Prefix-Option" rel="next" title="Notes on the Prefix Option">
+<link href="Notes-on-Various-Options.html#Notes-on-Various-Options" rel="prev" title="Notes on Various Options">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Notes-on-Various-Filters-and-Filter-Modes"></a>
-Next: <a rel="next" accesskey="n" href="Notes-on-the-Prefix-Option.html#Notes-on-the-Prefix-Option">Notes on the Prefix Option</a>,
-Up: <a rel="up" accesskey="u" href="Notes-on-Various-Options.html#Notes-on-Various-Options">Notes on Various Options</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Notes-on-the-Prefix-Option.html#Notes-on-the-Prefix-Option" accesskey="n" rel="next">Notes on the Prefix Option</a>, Up: <a href="Notes-on-Various-Options.html#Notes-on-Various-Options" accesskey="u" rel="up">Notes on Various Options</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Notes-on-Various-Filters-and-Filter-Modes-1"></a>
<h4 class="subsection">4.4.1 Notes on Various Filters and Filter Modes</h4>
<p>Aspell now has filter support. You can either select from individual
filters or choose a filter mode. To select a filter mode use the
-<samp><span class="option">mode</span></samp> option. You may choose from `<samp><span class="samp">none</span></samp>', `<samp><span class="samp">url</span></samp>',
-`<samp><span class="samp">email</span></samp>', `<samp><span class="samp">sgml</span></samp>', `<samp><span class="samp">ccpp</span></samp>', `<samp><span class="samp">tex</span></samp>' and any other
-available on your system. The default mode is `<samp><span class="samp">url</span></samp>'. Individual
-filters can be added with the option <samp><span class="option">add-filter</span></samp> and removed
-with the <samp><span class="option">rem-filter</span></samp> option. The currently available filters
-are `<samp><span class="samp">url</span></samp>', `<samp><span class="samp">email</span></samp>', `<samp><span class="samp">sgml</span></samp>' and `<samp><span class="samp">tex</span></samp>', `<samp><span class="samp">latex</span></samp>'
-(alias for `<samp><span class="samp">tex</span></samp>'), `<samp><span class="samp">nroff</span></samp>', `<samp><span class="samp">context</span></samp>', as well as a
+<samp>mode</samp> option. You may choose from ‘<samp>none</samp>’, ‘<samp>url</samp>’,
+‘<samp>email</samp>’, ‘<samp>sgml</samp>’, ‘<samp>ccpp</samp>’, ‘<samp>tex</samp>’ and any other
+available on your system. The default mode is ‘<samp>url</samp>’. Individual
+filters can be added with the option <samp>add-filter</samp> and removed
+with the <samp>rem-filter</samp> option. The currently available filters
+are ‘<samp>url</samp>’, ‘<samp>email</samp>’, ‘<samp>sgml</samp>’ and ‘<samp>tex</samp>’, ‘<samp>latex</samp>’
+(alias for ‘<samp>tex</samp>’), ‘<samp>nroff</samp>’, ‘<samp>context</samp>’, as well as a
bunch of filters which translate the text from one format to another.
-
- <p>To check which filters are available use <samp><span class="command">aspell dump filters</span></samp>.
-To check which filter modes are available use <samp><span class="command">aspell dump
-modes</span></samp>. The <samp><span class="command">aspell help</span></samp> command will also list all available
+</p>
+<p>To check which filters are available use <code>aspell dump filters</code>.
+To check which filter modes are available use <code>aspell dump
+modes</code>. The <code>aspell help</code> command will also list all available
filter and filter modes.
+</p>
+<a name="None-Filter-Mode"></a>
+<h4 class="subsubsection">4.4.1.1 None Filter Mode</h4>
-<h5 class="subsubsection">4.4.1.1 None Filter Mode</h5>
-
-<p>The <samp><span class="option">none</span></samp> mode is exactly what it says. It turns off all filters.
-
-<h5 class="subsubsection">4.4.1.2 URL Filter</h5>
+<p>The <samp>none</samp> mode is exactly what it says. It turns off all filters.
+</p>
+<a name="URL-Filter"></a>
+<h4 class="subsubsection">4.4.1.2 URL Filter</h4>
-<p>The <samp><span class="option">url</span></samp> filter/mode skips over URLs, host names, and email
+<p>The <samp>url</samp> filter/mode skips over URLs, host names, and email
addresses. Because this filter is almost always useful and rarely
-does any harm it is enabled in all modes except <samp><span class="option">none</span></samp>. To
-turn it off either select the <samp><span class="option">none</span></samp> mode or use
-<samp><span class="option">rem-filter</span></samp> option <em>after</em> the desired mode is selected.
-
-<h5 class="subsubsection">4.4.1.3 Email Filter</h5>
-
-<p>The <samp><span class="option">email</span></samp> filter mode skips over quoted text. It currently
+does any harm it is enabled in all modes except <samp>none</samp>. To
+turn it off either select the <samp>none</samp> mode or use
+<samp>rem-filter</samp> option <em>after</em> the desired mode is selected.
+</p>
+<a name="Email-Filter"></a>
+<h4 class="subsubsection">4.4.1.3 Email Filter</h4>
+
+<p>The <samp>email</samp> filter mode skips over quoted text. It currently
does not support skipping over headers however a future version
should. In the meantime I suggest you use Aspell with Newsbody which
-can be found at <a href="http://home.worldonline.dk/~byrial/newsbody/">http://home.worldonline.dk/~byrial/newsbody/</a>.
-The option <samp><span class="option">email-skip</span></samp> controls the number of characters that
+can be found at <a href="http://home.worldonline.dk/~byrial/newsbody/">http://home.worldonline.dk/~byrial/newsbody/</a>.
+The option <samp>email-skip</samp> controls the number of characters that
can appear before the email quote character, the default is 10. The
-option <samp><span class="option">add|rem-email-quote</span></samp> controls the characters that are
-considered quote characters, the defaults are `<samp><span class="samp">></span></samp>' and `<samp><span class="samp">|</span></samp>'.
-
-<h5 class="subsubsection">4.4.1.4 SGML Filter</h5>
+option <samp>add|rem-email-quote</samp> controls the characters that are
+considered quote characters, the defaults are ‘<samp>></samp>’ and ‘<samp>|</samp>’.
+</p>
+<a name="SGML-Filter"></a>
+<h4 class="subsubsection">4.4.1.4 SGML Filter</h4>
<p>The SGML filter allows you to spell check SGML, HTML, XHTML, and XML
-files. In most cases everything within a tag `<samp><span class="samp"><tag attrib=value
-attrib2="a whole sentence"></span></samp>' will be skipped by the spell checker. The
+files. In most cases everything within a tag ‘<samp><tag attrib=value
+attrib2="a whole sentence"></samp>’ will be skipped by the spell checker. The
SGML/HTML/XML that Aspell supports is a slight superset of most DTDs
(Document Type Definitions) and can spell check the often non-conforming
HTML found on the web.
-
- <p>Two configuration options, <samp><span class="option">sgml-skip</span></samp> and <samp><span class="option">sgml-check</span></samp>,
+</p>
+<p>Two configuration options, <samp>sgml-skip</samp> and <samp>sgml-check</samp>,
allow you to control what is spell checked. The tag and attribute names
specified are case insensitive.
-
- <dl>
-<dt><b>sgml-skip</b><dd>This is a list of tags whose contents will also be skipped by the spell
+</p>
+<dl compact="compact">
+<dt><b>sgml-skip</b></dt>
+<dd><p>This is a list of tags whose contents will also be skipped by the spell
checker. For example, if you wish to leave a misspelling in a document
and not have them flagged as misspellings, you could surround them with
a <nospellcheck> tag:
- <pre class="example"> <TD><FONT size=2><NOSPELLCHECK>leviosa</NOSPELLCHECK>
- is what Mr. Potter said</FONT></TD>
- </pre>
- <p class="noindent">And put that word in the skip config directive:
- <pre class="example"> add-sgml-skip nospellcheck
- </pre>
- <br><dt><b>sgml-check</b><dd>
-This is a list of attributes whose values you do want spell checked. By
-default, 'alt' (<img> alternate text) is a member of the check list
+</p><div class="example">
+<pre class="example"> <TD><FONT size=2><NOSPELLCHECK>leviosa</NOSPELLCHECK>
+ is what Mr. Potter said</FONT></TD>
+</pre></div>
+<p>And put that word in the skip config directive:
+</p><div class="example">
+<pre class="example">add-sgml-skip nospellcheck
+</pre></div>
+
+</dd>
+<dt><b>sgml-check</b></dt>
+<dd>
+<p>This is a list of attributes whose values you do want spell checked. By
+default, ’alt’ (<img> alternate text) is a member of the check list
since it is text that is seen by a web page viewer. You may also want
-'value' to be on the check list since that is the text put on buttons:
- <pre class="example"> add-sgml-check value
- </pre>
- <p class="noindent">In this case `<samp><span class="samp"><input type=button value="Donr"></span></samp>' will be flagged as a
-misspelling.
+’value’ to be on the check list since that is the text put on buttons:
+</p><div class="example">
+<pre class="example">add-sgml-check value
+</pre></div>
+<p>In this case ‘<samp><input type=button value="Donr"></samp>’ will be flagged as a
+misspelling.
+</p></dd>
</dl>
- <p>This filter will also translate SGML characters of the form
-`<samp><span class="samp">&#num;</span></samp>'. Other SGML characters such as `<samp><span class="samp">&amp;</span></samp>' will simply
-be skipped over so that the word `<samp><span class="samp">amp</span></samp>', for example, will not be
+<p>This filter will also translate SGML characters of the form
+‘<samp>&#num;</samp>’. Other SGML characters such as ‘<samp>&amp;</samp>’ will simply
+be skipped over so that the word ‘<samp>amp</samp>’, for example, will not be
spell checked. Eventually full support for properly translating SGML
characters will be added.
+</p>
+<a name="HTML-Filter"></a>
+<h4 class="subsubsection">4.4.1.5 HTML Filter</h4>
-<h5 class="subsubsection">4.4.1.5 HTML Filter</h5>
-
-<p>The <samp><span class="option">html</span></samp> filter is like the SGML Filter Mode but specialized for
-HTML. By default, 'script' and 'style' are members of the skip list in
+<p>The <samp>html</samp> filter is like the SGML Filter Mode but specialized for
+HTML. By default, ’script’ and ’style’ are members of the skip list in
HTML mode.
+</p>
+<a name="TeX_002fLaTeX-Filter"></a>
+<h4 class="subsubsection">4.4.1.6 TeX/LaTeX Filter</h4>
-<h5 class="subsubsection">4.4.1.6 TeX/LaTeX Filter</h5>
-
-<p>The <samp><span class="option">tex</span></samp> (all lowercase) filter mode skips over TeX
+<p>The <samp>tex</samp> (all lowercase) filter mode skips over TeX
commands and parameters and/or options to certain commands. It also
skips over TeX comments by default. The option
-<samp><span class="option">[dont-]tex-check-comments</span></samp> controls whether or not Aspell will
-skip over TeX comments. The option <samp><span class="option">add|rem-tex-command</span></samp>
+<samp>[dont-]tex-check-comments</samp> controls whether or not Aspell will
+skip over TeX comments. The option <samp>add|rem-tex-command</samp>
controls which TeX commands should have certain parameters and/or
options also skipped over. Commands that are not specified will have
all their parameters and/or options checked. The format for each item
is
-
-<pre class="example"> <command> <a list of p,P,o and Os>
-</pre>
- <p>The first item is simply the command name. The second item controls
-which parameters to skip over. A 'p' skips over a parameter while a
-'P' doesn't. Similarly an 'o' will skip over an optional parameter
-while an 'O' doesn't. The first letter on the list will apply to the
+</p>
+<div class="example">
+<pre class="example"><command> <a list of p,P,o and Os>
+</pre></div>
+
+<p>The first item is simply the command name. The second item controls
+which parameters to skip over. A ’p’ skips over a parameter while a
+’P’ doesn’t. Similarly an ’o’ will skip over an optional parameter
+while an ’O’ doesn’t. The first letter on the list will apply to the
first parameter, the second letter will apply to the second parameter
etc. If there are more parameters than letters Aspell will simply
check them as normal. For example the option
+</p>
+<div class="example">
+<pre class="example">add-tex-command rule pp
+</pre></div>
-<pre class="example"> add-tex-command rule pp
-</pre>
- <p class="noindent">will skip over the first two parameters of the <code>rule</code> command
+<p>will skip over the first two parameters of the <code>rule</code> command
while the option
+</p>
+<div class="example">
+<pre class="example">add-tex-command foo Pop
+</pre></div>
-<pre class="example"> add-tex-command foo Pop
-</pre>
- <p class="noindent">will <em>check</em> the first parameter of the <code>foo</code> command, skip
+<p>will <em>check</em> the first parameter of the <code>foo</code> command, skip
over the next optional parameter, if it is present, and will skip over
the second parameter — even if the optional parameter is not present
— and will check any additional parameters.
-
- <p>A `<samp><span class="samp">*</span></samp>' at the end of the command is simply ignored. For example
+</p>
+<p>A ‘<samp>*</samp>’ at the end of the command is simply ignored. For example
the option
-
-<pre class="example"> enlargethispage p
-</pre>
- <p class="noindent">will ignore the first parameter in both <samp><span class="option">enlargethispage</span></samp> and
-<samp><span class="option">enlargethispage*</span></samp>.
-
- <p>To remove a command simply use the <samp><span class="option">rem-tex-command</span></samp> option.
+</p>
+<div class="example">
+<pre class="example">enlargethispage p
+</pre></div>
+
+<p>will ignore the first parameter in both <samp>enlargethispage</samp> and
+<samp>enlargethispage*</samp>.
+</p>
+<p>To remove a command simply use the <samp>rem-tex-command</samp> option.
For example
+</p>
+<div class="example">
+<pre class="example">rem-tex-command foo
+</pre></div>
-<pre class="example"> rem-tex-command foo
-</pre>
- <p class="noindent">will remove the command foo, if present, from the list of TeX
+<p>will remove the command foo, if present, from the list of TeX
commands.
+</p>
+<p>The TeX filter mode is also available via <samp>latex</samp> alias name.
+</p>
+
+
+
+
- <p>The TeX filter mode is also available via <samp><span class="option">latex</span></samp> alias name.
-
-<!-- The TeXfilter mode also contains a decoding and a encoding filter for -->
-<!-- @emph{babel} character codes like the German Umlauts: -->
-<!-- @itemize @bullet -->
-<!-- @item -->
-<!-- @code{@"a} -> @code{\"a} -> @code{"a} -->
-<!-- @item -->
-<!-- @code{@"o} -> @code{\"o} -> @code{"o} -->
-<!-- @item -->
-<!-- @code{@"u} -> @code{\"u} -> @code{"u} -->
-<!-- @item -->
-<!-- @code{@"s} -> @code{\"s} -> @code{"s} -->
-<!-- @end itemize -->
-<!-- @end quotation -->
-<!-- @quotation -->
-<!-- @option{add|rem-tex-multi-byte} conversion -->
-<!-- Changes list of multi character coded TeX(babel) characters recognized -->
-<!-- by Aspell. In case of German umlauts mentioned above this would mean -->
-<!-- that Aspell would decode from their multi character representation to -->
-<!-- their proper single char representation. Given the German word -->
-<!-- @code{St@"arke} (strength) which within TeX/LaTeXdocument has to be -->
-<!-- written as @code{St"arke} or as @code{St\"arke} would split it into -->
-<!-- the two words @code{St} and @code{arke} if it does not know anything -->
-<!-- about the multi character encoding @code{"a} or @code{\"a} of -->
-<!-- @code{@"a}. On the other hand if it knows about it than Aspell will -->
-<!-- recognize the word properly and will not try to make any strange -->
-<!-- suggestion. -->
-<!-- Each multi character coding conversion has to be specified the -->
-<!-- following way: -->
-<!-- @example -->
-<!-- @i{char}:@i{rep}[:@i{rep}[@dots{}]] -->
-<!-- @end example -->
-<!-- where @code{@i{char}} is the character encoded by multiple characters -->
-<!-- and rep stands for a specific representation of that character. For -->
-<!-- each character may be specified as many representations as available -->
-<!-- for it. -->
-<!-- @end quotation -->
-<h5 class="subsubsection">4.4.1.7 Texinfo Filter</h5>
-
-<p>The <samp><span class="option">texinfo</span></samp> filter allows you to spell check Texinfo files.
+
+
+
+
+<a name="Texinfo-Filter"></a>
+<h4 class="subsubsection">4.4.1.7 Texinfo Filter</h4>
+
+<p>The <samp>texinfo</samp> filter allows you to spell check Texinfo files.
It will skip over any Texinfo commands and their parameters when
appropriate. It will also skip over some Texinfo environments such as
-<samp><span class="command">example</span></samp>. The list option <samp><span class="option">texinfo-ignore</span></samp>
+<code>example</code>. The list option <samp>texinfo-ignore</samp>
controls which commands to ignore the parameters of and the list option
-<samp><span class="option">texinfo-ignore-env</span></samp> controls which Texinfo
+<samp>texinfo-ignore-env</samp> controls which Texinfo
environments to ignore.
-
- <p>The Texinfo filter has special code to deal with the <samp><span class="command">@table</span></samp>
+</p>
+<p>The Texinfo filter has special code to deal with the <code>@table</code>
and related commands. It will apply the formatting command to each of
-the <samp><span class="command">@item</span></samp> or <samp><span class="command">@itemx</span></samp> commands just like Texinfo
-will. This means that if the formatting command is <samp><span class="command">@code</span></samp>
-and and the <samp><span class="command">@code</span></samp> command is a member of the
-<samp><span class="option">texinfo-ignore</span></samp> option than the Texinfo filter will ignore the
-parameter of the <samp><span class="command">@item</span></samp> command as if the parameter was also
-the parameter of the <samp><span class="command">@code</span></samp> command.
-
- <p>The Texinfo filter will also skip over the `<samp><span class="samp">\input texinfo</span></samp>' line.
-
-<h5 class="subsubsection">4.4.1.8 Nroff Filter</h5>
-
-<p>The <samp><span class="option">nroff</span></samp> filter mode allows you to check the spelling of
+the <code>@item</code> or <code>@itemx</code> commands just like Texinfo
+will. This means that if the formatting command is <code>@code</code>
+and and the <code>@code</code> command is a member of the
+<samp>texinfo-ignore</samp> option than the Texinfo filter will ignore the
+parameter of the <code>@item</code> command as if the parameter was also
+the parameter of the <code>@code</code> command.
+</p>
+<p>The Texinfo filter will also skip over the ‘<samp>\input texinfo</samp>’ line.
+</p>
+<a name="Nroff-Filter"></a>
+<h4 class="subsubsection">4.4.1.8 Nroff Filter</h4>
+
+<p>The <samp>nroff</samp> filter mode allows you to check the spelling of
Nroff documents. The mode is enabled by giving
-<samp><span class="option">--add-filter=nroff</span></samp> or <samp><span class="option">-n</span></samp> command line option to
-<samp><span class="command">aspell</span></samp>. It is also automatically enabled if the first three
-characters of the file being checked are <code>.\"</code> (a <samp><span class="command">nroff</span></samp> comment
+<samp>--add-filter=nroff</samp> or <samp>-n</samp> command line option to
+<code>aspell</code>. It is also automatically enabled if the first three
+characters of the file being checked are <code>.\"</code> (a <code>nroff</code> comment
marker) or the file name ends in a one of the following suffixes:
-
- <ul>
-<li>single decimal digit from `<samp><span class="samp">0</span></samp>' to `<samp><span class="samp">9</span></samp>'
-<li>letter `<samp><span class="samp">n</span></samp>'
-<li>`<samp><span class="samp">tmac</span></samp>'
-</ul>
-
-<p class="noindent">This filter mode skips following <samp><span class="command">nroff</span></samp> language
+</p>
+<ul>
+<li> single decimal digit from ‘<samp>0</samp>’ to ‘<samp>9</samp>’
+</li><li> letter ‘<samp>n</samp>’
+</li><li> ‘<samp>tmac</samp>’
+</li></ul>
+
+<p>This filter mode skips following <code>nroff</code> language
elements:
-
- <ul>
-<li>Comments
-<li>Requests
-<li>Names of <samp><span class="command">nroff</span></samp> registers (both traditional two-letter
+</p>
+<ul>
+<li> Comments
+</li><li> Requests
+</li><li> Names of <code>nroff</code> registers (both traditional two-letter
names and GNU nroff long names)
-<li>Arguments to the following requests: <code>ds</code>, <code>de</code>, <code>nr</code>,
-<code>do</code>, <code>so</code>.
-<li>Arguments to font switch (<code>\f</code>) and size switch (<code>\s</code>)
+</li><li> Arguments to the following requests: <code>ds</code>, <code>de</code>, <code>nr</code>,
+<code>do</code>, <code>so</code>.
+</li><li> Arguments to font switch (<code>\f</code>) and size switch (<code>\s</code>)
escapes
-<li>Arguments to extended charset escape in both traditional
-(<code>\(</code>) and extended (<code>\[comp1 comp2 ...]</code>) form.
-</ul>
+</li><li> Arguments to extended charset escape in both traditional
+(<code>\(</code>) and extended (<code>\[comp1 comp2 …]</code>) form.
+</li></ul>
-<h5 class="subsubsection">4.4.1.9 Context Filter</h5>
+<a name="Context-Filter"></a>
+<h4 class="subsubsection">4.4.1.9 Context Filter</h4>
<p>The <em>context</em> filter allows Aspell to distinguish between visible
and invisible contexts. The visible ones will be spell checked and
the fact that the visible/invisible ones are delimited by specific and
unique delimiter characters or character sequences. Whether the
delimited contexts should be visible or invisible only stated by the
-value of the <samp><span class="option">[dont-]context-visible-first</span></samp> option and not by
+value of the <samp>[dont-]context-visible-first</samp> option and not by
the delimiters.
-
- <p>The context delimiters are specified as pairs of delimiters via the
-<samp><span class="option">add|rem-context-delimiters</span></samp> option. The delimiters enclosing
+</p>
+<p>The context delimiters are specified as pairs of delimiters via the
+<samp>add|rem-context-delimiters</samp> option. The delimiters enclosing
a specific context are specified as a space separated pair. If more
than one delimiter pair is specified by one call of
-<samp><span class="option">add|rem-context-delimiters</span></samp> they have to be combined to a
+<samp>add|rem-context-delimiters</samp> they have to be combined to a
comma separated list. To indicate that a context is always closed by
end of line use <code>\0</code> sequence as closing delimiter.
+</p>
+<a name="Ccpp-Filter-Mode"></a>
+<h4 class="subsubsection">4.4.1.10 Ccpp Filter Mode</h4>
-<h5 class="subsubsection">4.4.1.10 Ccpp Filter Mode</h5>
-
-<p>The <samp><span class="option">ccpp</span></samp> filter mode will limit spell checking to C/C++ comments
+<p>The <samp>ccpp</samp> filter mode will limit spell checking to C/C++ comments
and string literals. Any code in between will be left alone.
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Notes-on-the-Prefix-Option.html#Notes-on-the-Prefix-Option" accesskey="n" rel="next">Notes on the Prefix Option</a>, Up: <a href="Notes-on-Various-Options.html#Notes-on-Various-Options" accesskey="u" rel="up">Notes on Various Options</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Notes on Various Items - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="To-Do.html#To-Do" title="To Do">
-<link rel="prev" href="Other-Items.html#Other-Items" title="Other Items">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Notes on Various Items</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Notes on Various Items">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="To-Do.html#To-Do" rel="up" title="To Do">
+<link href="Word-skipping-by-context.html#Word-skipping-by-context" rel="next" title="Word skipping by context">
+<link href="Other-Items.html#Other-Items" rel="prev" title="Other Items">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Notes-on-Various-Items"></a>
-Previous: <a rel="previous" accesskey="p" href="Other-Items.html#Other-Items">Other Items</a>,
-Up: <a rel="up" accesskey="u" href="To-Do.html#To-Do">To Do</a>
-<hr>
+<div class="header">
+<p>
+Previous: <a href="Other-Items.html#Other-Items" accesskey="p" rel="prev">Other Items</a>, Up: <a href="To-Do.html#To-Do" accesskey="u" rel="up">To Do</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Notes-on-Various-Items-1"></a>
<h3 class="appendixsec">D.3 Notes on Various Items</h3>
-<ul class="menu">
-<li><a accesskey="1" href="Word-skipping-by-context.html#Word-skipping-by-context">Word skipping by context</a>
-<li><a accesskey="2" href="Hidden-Markov-Model.html#Hidden-Markov-Model">Hidden Markov Model</a>
-<li><a accesskey="3" href="Email-the-Personal-Dictionary.html#Email-the-Personal-Dictionary">Email the Personal Dictionary</a>
-</ul>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="Word-skipping-by-context.html#Word-skipping-by-context" accesskey="1">Word skipping by context</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Hidden-Markov-Model.html#Hidden-Markov-Model" accesskey="2">Hidden Markov Model</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Email-the-Personal-Dictionary.html#Email-the-Personal-Dictionary" accesskey="3">Email the Personal Dictionary</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
-</body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Notes on Various Options - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Customizing-Aspell.html#Customizing-Aspell" title="Customizing Aspell">
-<link rel="prev" href="Dumping-Configuration-Values.html#Dumping-Configuration-Values" title="Dumping Configuration Values">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Notes on Various Options</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Notes on Various Options">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Customizing-Aspell.html#Customizing-Aspell" rel="up" title="Customizing Aspell">
+<link href="Notes-on-Various-Filters-and-Filter-Modes.html#Notes-on-Various-Filters-and-Filter-Modes" rel="next" title="Notes on Various Filters and Filter Modes">
+<link href="Dumping-Configuration-Values.html#Dumping-Configuration-Values" rel="prev" title="Dumping Configuration Values">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Notes-on-Various-Options"></a>
-Previous: <a rel="previous" accesskey="p" href="Dumping-Configuration-Values.html#Dumping-Configuration-Values">Dumping Configuration Values</a>,
-Up: <a rel="up" accesskey="u" href="Customizing-Aspell.html#Customizing-Aspell">Customizing Aspell</a>
-<hr>
+<div class="header">
+<p>
+Previous: <a href="Dumping-Configuration-Values.html#Dumping-Configuration-Values" accesskey="p" rel="prev">Dumping Configuration Values</a>, Up: <a href="Customizing-Aspell.html#Customizing-Aspell" accesskey="u" rel="up">Customizing Aspell</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Notes-on-Various-Options-1"></a>
<h3 class="section">4.4 Notes on Various Options</h3>
-<ul class="menu">
-<li><a accesskey="1" href="Notes-on-Various-Filters-and-Filter-Modes.html#Notes-on-Various-Filters-and-Filter-Modes">Notes on Various Filters and Filter Modes</a>
-<li><a accesskey="2" href="Notes-on-the-Prefix-Option.html#Notes-on-the-Prefix-Option">Notes on the Prefix Option</a>
-<li><a accesskey="3" href="Notes-on-Typo_002dAnalysis.html#Notes-on-Typo_002dAnalysis">Notes on Typo-Analysis</a>
-<li><a accesskey="4" href="Notes-on-the-Different-Suggestion-Modes.html#Notes-on-the-Different-Suggestion-Modes">Notes on the Different Suggestion Modes</a>
-</ul>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="Notes-on-Various-Filters-and-Filter-Modes.html#Notes-on-Various-Filters-and-Filter-Modes" accesskey="1">Notes on Various Filters and Filter Modes</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Notes-on-the-Prefix-Option.html#Notes-on-the-Prefix-Option" accesskey="2">Notes on the Prefix Option</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Notes-on-Typo_002dAnalysis.html#Notes-on-Typo_002dAnalysis" accesskey="3">Notes on Typo-Analysis</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Notes-on-the-Different-Suggestion-Modes.html#Notes-on-the-Different-Suggestion-Modes" accesskey="4">Notes on the Different Suggestion Modes</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
-</body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Notes on the Different Suggestion Modes - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Notes-on-Various-Options.html#Notes-on-Various-Options" title="Notes on Various Options">
-<link rel="prev" href="Notes-on-Typo_002dAnalysis.html#Notes-on-Typo_002dAnalysis" title="Notes on Typo-Analysis">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Notes on the Different Suggestion Modes</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Notes on the Different Suggestion Modes">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Notes-on-Various-Options.html#Notes-on-Various-Options" rel="up" title="Notes on Various Options">
+<link href="Working-With-Dictionaries.html#Working-With-Dictionaries" rel="next" title="Working With Dictionaries">
+<link href="Notes-on-Typo_002dAnalysis.html#Notes-on-Typo_002dAnalysis" rel="prev" title="Notes on Typo-Analysis">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Notes-on-the-Different-Suggestion-Modes"></a>
-Previous: <a rel="previous" accesskey="p" href="Notes-on-Typo_002dAnalysis.html#Notes-on-Typo_002dAnalysis">Notes on Typo-Analysis</a>,
-Up: <a rel="up" accesskey="u" href="Notes-on-Various-Options.html#Notes-on-Various-Options">Notes on Various Options</a>
-<hr>
+<div class="header">
+<p>
+Previous: <a href="Notes-on-Typo_002dAnalysis.html#Notes-on-Typo_002dAnalysis" accesskey="p" rel="prev">Notes on Typo-Analysis</a>, Up: <a href="Notes-on-Various-Options.html#Notes-on-Various-Options" accesskey="u" rel="up">Notes on Various Options</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Notes-on-the-Different-Suggestion-Modes-1"></a>
<h4 class="subsection">4.4.4 Notes on the Different Suggestion Modes</h4>
<p>In order to understand what these suggestion modes do, a basic
understanding of how Aspell works is required. For that, see
<a href="Aspell-Suggestion-Strategy.html#Aspell-Suggestion-Strategy">Aspell Suggestion Strategy</a>.
-
- <p>The suggestion modes are as follows.
-
- <dl>
-<dt><b>ultra</b><dd>This method will use the fastest method available to come up with
+</p>
+<p>The suggestion modes are as follows.
+</p>
+<dl compact="compact">
+<dt><b>ultra</b></dt>
+<dd><p>This method will use the fastest method available to come up with
decent suggestions. This currently means that it will look for
soundslikes within one edit distance. This method will also use the
replacement table if one is available. In this mode Aspell gets about
to <a href="http://aspell.net/test">http://aspell.net/test</a> for more info on the test kernel as
well as comparisons of this version of Aspell with previous versions
and other spell checkers.)
-
- <br><dt><b>fast</b><dd>This method is currently identical to <samp><span class="option">ultra</span></samp>.
-
- <br><dt><b>normal</b><dd>This mode will use what ever method is necessary to return good
+</p>
+</dd>
+<dt><b>fast</b></dt>
+<dd><p>This method is currently identical to <samp>ultra</samp>.
+</p>
+</dd>
+<dt><b>normal</b></dt>
+<dd><p>This mode will use what ever method is necessary to return good
suggestions in most cases in a reasonable amount of time. This
currently means it will looks for soundslikes within two edit distance
apart. This mode gets 93% of the words.
-
- <br><dt><b>slow</b><dd>Like <samp><span class="option">normal</span></samp> except that “reasonable amount of time” is not
+</p>
+</dd>
+<dt><b>slow</b></dt>
+<dd><p>Like <samp>normal</samp> except that “reasonable amount of time” is not
a consideration. In most cases it will return the same results as
-<samp><span class="option">normal</span></samp>. The biggest difference is that it will try an ngram
-scan if the normal methods of finding a suggestion fail.
-<!-- FIXME: Explain what this means. -->
-
- <br><dt><b>bad-spellers</b><dd>This method is like <samp><span class="option">slow</span></samp> but is tailored more for the bad
+<samp>normal</samp>. The biggest difference is that it will try an ngram
+scan if the normal methods of finding a suggestion fail.
+</p>
+</dd>
+<dt><b>bad-spellers</b></dt>
+<dd><p>This method is like <samp>slow</samp> but is tailored more for the bad
speller, where as the other modes are tailored more
to strike a good balance between typos and true misspellings. This
mode never performs typo-analysis and returns a <em>huge</em> number of
-words for the really bad spellers who can't seem to get the spelling
+words for the really bad spellers who can’t seem to get the spelling
anything close to what it should be. If the misspelled word looks
anything like the correct spelling it is bound to be found
<em>somewhere</em> on the list of 100 or more suggestions. This mode
-gets 98% of the words.
+gets 98% of the words.
+</p></dd>
</dl>
- <p>If jump tables were not used then the <samp><span class="option">normal</span></samp> option is
-identical to <samp><span class="option">fast</span></samp> and the <samp><span class="option">slow</span></samp> option is identical
-to the <samp><span class="option">normal</span></samp> if jump tables were used.
+<p>If jump tables were not used then the <samp>normal</samp> option is
+identical to <samp>fast</samp> and the <samp>slow</samp> option is identical
+to the <samp>normal</samp> if jump tables were used.
+</p>
+<hr>
+<div class="header">
+<p>
+Previous: <a href="Notes-on-Typo_002dAnalysis.html#Notes-on-Typo_002dAnalysis" accesskey="p" rel="prev">Notes on Typo-Analysis</a>, Up: <a href="Notes-on-Various-Options.html#Notes-on-Various-Options" accesskey="u" rel="up">Notes on Various Options</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Notes on the Prefix Option - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Notes-on-Various-Options.html#Notes-on-Various-Options" title="Notes on Various Options">
-<link rel="prev" href="Notes-on-Various-Filters-and-Filter-Modes.html#Notes-on-Various-Filters-and-Filter-Modes" title="Notes on Various Filters and Filter Modes">
-<link rel="next" href="Notes-on-Typo_002dAnalysis.html#Notes-on-Typo_002dAnalysis" title="Notes on Typo-Analysis">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Notes on the Prefix Option</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Notes on the Prefix Option">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Notes-on-Various-Options.html#Notes-on-Various-Options" rel="up" title="Notes on Various Options">
+<link href="Notes-on-Typo_002dAnalysis.html#Notes-on-Typo_002dAnalysis" rel="next" title="Notes on Typo-Analysis">
+<link href="Notes-on-Various-Filters-and-Filter-Modes.html#Notes-on-Various-Filters-and-Filter-Modes" rel="prev" title="Notes on Various Filters and Filter Modes">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Notes-on-the-Prefix-Option"></a>
-Next: <a rel="next" accesskey="n" href="Notes-on-Typo_002dAnalysis.html#Notes-on-Typo_002dAnalysis">Notes on Typo-Analysis</a>,
-Previous: <a rel="previous" accesskey="p" href="Notes-on-Various-Filters-and-Filter-Modes.html#Notes-on-Various-Filters-and-Filter-Modes">Notes on Various Filters and Filter Modes</a>,
-Up: <a rel="up" accesskey="u" href="Notes-on-Various-Options.html#Notes-on-Various-Options">Notes on Various Options</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Notes-on-Typo_002dAnalysis.html#Notes-on-Typo_002dAnalysis" accesskey="n" rel="next">Notes on Typo-Analysis</a>, Previous: <a href="Notes-on-Various-Filters-and-Filter-Modes.html#Notes-on-Various-Filters-and-Filter-Modes" accesskey="p" rel="prev">Notes on Various Filters and Filter Modes</a>, Up: <a href="Notes-on-Various-Options.html#Notes-on-Various-Options" accesskey="u" rel="up">Notes on Various Options</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Notes-on-the-Prefix-Option-1"></a>
<h4 class="subsection">4.4.2 Notes on the Prefix Option</h4>
-<p>The <samp><span class="option">prefix</span></samp> option is there to allow Aspell to easily be
-relocated. Changing <samp><span class="option">prefix</span></samp> will change all directory names
+<p>The <samp>prefix</samp> option is there to allow Aspell to easily be
+relocated. Changing <samp>prefix</samp> will change all directory names
relative to the new prefix that are not explicitly set. For example
-if <samp><span class="option">prefix</span></samp> was <samp><span class="file">/usr/local/aspell</span></samp> and <samp><span class="option">dict-dir</span></samp>
-has a default value of <samp><span class="file">/usr/local/aspell/dict</span></samp> than changing
-<samp><span class="option">prefix</span></samp> to <samp><span class="file">/opt/aspell</span></samp> will also change the default
-value of <samp><span class="option">dict-dir</span></samp> to <samp><span class="file">/opt/aspell/dict</span></samp>. Note that
-modifying <samp><span class="option">prefix</span></samp> will only affect the default compiled in
+if <samp>prefix</samp> was <samp>/usr/local/aspell</samp> and <samp>dict-dir</samp>
+has a default value of <samp>/usr/local/aspell/dict</samp> than changing
+<samp>prefix</samp> to <samp>/opt/aspell</samp> will also change the default
+value of <samp>dict-dir</samp> to <samp>/opt/aspell/dict</samp>. Note that
+modifying <samp>prefix</samp> will only affect the default compiled in
values of directories. If a directory option is explicitly given a
-value then changing the value of <samp><span class="option">prefix</span></samp> has no effect on that
+value then changing the value of <samp>prefix</samp> has no effect on that
directory option.
+</p>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Other Items - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="To-Do.html#To-Do" title="To Do">
-<link rel="prev" href="Important-Items.html#Important-Items" title="Important Items">
-<link rel="next" href="Notes-on-Various-Items.html#Notes-on-Various-Items" title="Notes on Various Items">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Other Items</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Other Items">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="To-Do.html#To-Do" rel="up" title="To Do">
+<link href="Notes-on-Various-Items.html#Notes-on-Various-Items" rel="next" title="Notes on Various Items">
+<link href="Important-Items.html#Important-Items" rel="prev" title="Important Items">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Other-Items"></a>
-Next: <a rel="next" accesskey="n" href="Notes-on-Various-Items.html#Notes-on-Various-Items">Notes on Various Items</a>,
-Previous: <a rel="previous" accesskey="p" href="Important-Items.html#Important-Items">Important Items</a>,
-Up: <a rel="up" accesskey="u" href="To-Do.html#To-Do">To Do</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Notes-on-Various-Items.html#Notes-on-Various-Items" accesskey="n" rel="next">Notes on Various Items</a>, Previous: <a href="Important-Items.html#Important-Items" accesskey="p" rel="prev">Important Items</a>, Up: <a href="To-Do.html#To-Do" accesskey="u" rel="up">To Do</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Other-Items-1"></a>
<h3 class="appendixsec">D.2 Other Items</h3>
<p>These items all sound like good ideas however I am not sure when I
will get to implementing them if ever. Words in bold indicate how you
should refer to the item when discussing it with me or others.
+</p>
+<ul>
+<li> Come up with a plug-in for <code>gEdit</code> the gnome text editor.
- <ul>
-<li>Come up with a plug-in for <samp><span class="command">gEdit</span></samp> the gnome text editor.
-
- <li>Change languages (and thus dictionaries) based on the information in
+</li><li> Change languages (and thus dictionaries) based on the information in
the actual document.
- <li>Come up with a mode that will skip words based on the symbols that
+</li><li> Come up with a mode that will skip words based on the symbols that
(almost) always surround the word. See <a href="Word-skipping-by-context.html#Word-skipping-by-context">Word skipping by context</a>.
- <li>Create two <strong>server modes</strong> for Aspell. One that uses the DICT
-protocol and one that uses <samp><span class="command">ispell -a</span></samp> method of communication
+</li><li> Create two <strong>server modes</strong> for Aspell. One that uses the DICT
+protocol and one that uses <code>ispell -a</code> method of communication
via some arbitrary port.
- <li>Come up with <strong>thread safe personal dictionaries</strong>.
+</li><li> Come up with <strong>thread safe personal dictionaries</strong>.
- <li>Use the <strong>Hidden Markov Model</strong> to base the suggestions on not
+</li><li> Use the <strong>Hidden Markov Model</strong> to base the suggestions on not
only the word itself but on the context around the word. See <a href="Hidden-Markov-Model.html#Hidden-Markov-Model">Hidden Markov Model</a>.
- <li>Having a way to <strong>email the personal dictionary</strong> and/or
+</li><li> Having a way to <strong>email the personal dictionary</strong> and/or
replacement list to a particular address either periodically or when
-it grows to a certain size. See <a href="Email-the-Personal-Dictionary.html#Email-the-Personal-Dictionary">Email the Personal Dictionary</a>.
-</ul>
+it grows to a certain size. See <a href="Email-the-Personal-Dictionary.html#Email-the-Personal-Dictionary">Email the Personal Dictionary</a>.
+</li></ul>
- <p>The following good ideas were found in the Ispell <samp><span class="file">WISHES</span></samp> file
+<p>The following good ideas were found in the Ispell <samp>WISHES</samp> file
so I thought I would pass them on.
+</p>
+<ul>
+<li> Ispell should be smart enough to ignore hyphenation signs, such as the
+TeX ‘<samp>\-</samp>’ hyphenation indicator.
- <ul>
-<li>Ispell should be smart enough to ignore hyphenation signs, such as the
-TeX `<samp><span class="samp">\-</span></samp>' hyphenation indicator.
-
- <li>(Jeff Edmonds) The personal dictionary should be able to remove
+</li><li> (Jeff Edmonds) The personal dictionary should be able to remove
certain words from the master dictionary, so that obscure words like
-"wether" wouldn't mask favorite typos.
+"wether" wouldn’t mask favorite typos.
- <li>(Jeff Edmonds) It would be wonderful if Ispell could correct inserted
-spaces such as "th e" for "the" or even "can not" for "cannot".
+</li><li> (Jeff Edmonds) It would be wonderful if Ispell could correct inserted
+spaces such as "th e" for "the" or even "can not" for "cannot".
- <li>Since Ispell has dictionaries available to it, it is conceivable that
+</li><li> Since Ispell has dictionaries available to it, it is conceivable that
it could automatically determine the language of a particular file by
choosing the dictionary that produced the fewest spelling errors on
-the first few lines.
-</ul>
+the first few lines.
+</li></ul>
+
+<hr>
+<div class="header">
+<p>
+Next: <a href="Notes-on-Various-Items.html#Notes-on-Various-Items" accesskey="n" rel="next">Notes on Various Items</a>, Previous: <a href="Important-Items.html#Important-Items" accesskey="p" rel="prev">Important Items</a>, Up: <a href="To-Do.html#To-Do" accesskey="u" rel="up">To Do</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Phonetic Code - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" title="Adding Support For Other Languages">
-<link rel="prev" href="Compiling-the-Word-List.html#Compiling-the-Word-List" title="Compiling the Word List">
-<link rel="next" href="The-Simple-Soundslike.html#The-Simple-Soundslike" title="The Simple Soundslike">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Phonetic Code</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Phonetic Code">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" rel="up" title="Adding Support For Other Languages">
+<link href="The-Simple-Soundslike.html#The-Simple-Soundslike" rel="next" title="The Simple Soundslike">
+<link href="Compiling-the-Word-List.html#Compiling-the-Word-List" rel="prev" title="Compiling the Word List">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Phonetic-Code"></a>
-Next: <a rel="next" accesskey="n" href="The-Simple-Soundslike.html#The-Simple-Soundslike">The Simple Soundslike</a>,
-Previous: <a rel="previous" accesskey="p" href="Compiling-the-Word-List.html#Compiling-the-Word-List">Compiling the Word List</a>,
-Up: <a rel="up" accesskey="u" href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages">Adding Support For Other Languages</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="The-Simple-Soundslike.html#The-Simple-Soundslike" accesskey="n" rel="next">The Simple Soundslike</a>, Previous: <a href="Compiling-the-Word-List.html#Compiling-the-Word-List" accesskey="p" rel="prev">Compiling the Word List</a>, Up: <a href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" accesskey="u" rel="up">Adding Support For Other Languages</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Phonetic-Code-1"></a>
<h3 class="section">7.3 Phonetic Code</h3>
-<!-- @emph{(The following section was originally written by Bj@"orn Jacke, -->
-<!-- bjoern.jacke at gmx de)} -->
+
<p>Aspell is in fact the spell checker that comes up with the best
suggestions if it finds an unknown word. One reason is that it does
not just compare the word with other words in the dictionary (like
Ispell does) but also uses phonetic comparisons with other words.
-
- <p>The new table driven phonetic code is very flexible and setting up
+</p>
+<p>The new table driven phonetic code is very flexible and setting up
phonetic transformation rules for other languages is not difficult but
-there can be a number of stumbling blocks — that's why I wrote this
+there can be a number of stumbling blocks — that’s why I wrote this
section.
-
- <p>The main phonetic code is free of any language specific code and
-should be powerful enough to allow setting up rules for any language.
+</p>
+<p>The main phonetic code is free of any language specific code and
+should be powerful enough to allow setting up rules for any language.
Anything which is language specific is kept in a plain text file and
-can easily be edited. So it's even possible to write phonetic
-transformation rules if you don't have any programming skills. All
+can easily be edited. So it’s even possible to write phonetic
+transformation rules if you don’t have any programming skills. All
you need to know is how words of the language are written and how they
are pronounced.
-
+</p>
+<a name="Syntax-of-the-transformation-array"></a>
<h4 class="subsection">7.3.1 Syntax of the transformation array</h4>
<p>In the translation array there are two strings on each line; the first
one is the search string (or switch name) and the second one is the
replacement string (or switch parameter). The line
+</p>
+<div class="example">
+<pre class="example">version <var>version</var>
+</pre></div>
-<pre class="example"> version <var>version</var>
-</pre>
- <p class="noindent">is also required to appear somewhere in the translation array. The
+<p>is also required to appear somewhere in the translation array. The
version string can be anything but it should be changed whenever a new
version of the translation array is released. This is important
because it will keep Aspell from using a compiled dictionary with the
wrong set of rules. For example, if when coming up with suggestion
for <code>hallo</code>, Aspell will use the new rules to come up with the
-soundslike say <code>H*L*</code>, but if `<samp><span class="samp">hello</span></samp>' is stored in the
+soundslike say <code>H*L*</code>, but if ‘<samp>hello</samp>’ is stored in the
dictionary using the old rules as <code>HL</code> instead of <code>H*L*</code>
-Aspell will never be able to come up with `<samp><span class="samp">hello</span></samp>'. So to solve
+Aspell will never be able to come up with ‘<samp>hello</samp>’. So to solve
this problem Aspell checks if the version strings match and aborts
-with an error if they don't. Thus it is important to update it
+with an error if they don’t. Thus it is important to update it
whenever a new version of the translation array is released. This is
only a problem with the main word list as the personal word lists are
now stored as simple word lists with a single header line (i.e. no
soundslike data).
-
- <p>Each non switch line represents one replacement (transformation) rule.
+</p>
+<p>Each non switch line represents one replacement (transformation) rule.
Words beginning with the same letter must be grouped together; the
order inside this group does not depend on alphabetical issues but it
-gives priorities; the higher the rule the higher the priority. That's
+gives priorities; the higher the rule the higher the priority. That’s
why the first rule that matches is applied. In the following example:
-
-<pre class="example"> GH _
- G K
-</pre>
- <p class="noindent">`<samp><span class="samp">GH -> _</span></samp>' has higher priority than `<samp><span class="samp">G -> K</span></samp>'
-
- <p>`<samp><span class="samp">_</span></samp>' represents the empty string “”. If `<samp><span class="samp">GH -> _</span></samp>' came
-after `<samp><span class="samp">G -> K</span></samp>', the second rule would never match because the
-algorithm would stop searching for more rules after the first match.
-The above rules transform any `<samp><span class="samp">GH</span></samp>' to an empty string (delete
-them) and transforms any other `<samp><span class="samp">G</span></samp>' to `<samp><span class="samp">K</span></samp>'.
-
- <p>At the end of the first string of a line (the search string) there may
-optionally stand a number of characters in brackets. One (only one!)
-of these characters must fit. It's comparable with the `<samp><span class="samp">[ ]</span></samp>'
-brackets in regular expressions. The rule `<samp><span class="samp">DG(EIY) -> J</span></samp>' for
-example would match any `<samp><span class="samp">DGE</span></samp>', `<samp><span class="samp">DGI</span></samp>' and
-`<samp><span class="samp">DGY</span></samp>' and replace them with `<samp><span class="samp">J</span></samp>'. This way you can
+</p>
+<div class="example">
+<pre class="example">GH _
+G K
+</pre></div>
+
+<p>‘<samp>GH -> _</samp>’ has higher priority than ‘<samp>G -> K</samp>’
+</p>
+<p>‘<samp>_</samp>’ represents the empty string “”. If ‘<samp>GH -> _</samp>’ came
+after ‘<samp>G -> K</samp>’, the second rule would never match because the
+algorithm would stop searching for more rules after the first match.
+The above rules transform any ‘<samp>GH</samp>’ to an empty string (delete
+them) and transforms any other ‘<samp>G</samp>’ to ‘<samp>K</samp>’.
+</p>
+<p>At the end of the first string of a line (the search string) there may
+optionally stand a number of characters in brackets. One (only one!)
+of these characters must fit. It’s comparable with the ‘<samp>[ ]</samp>’
+brackets in regular expressions. The rule ‘<samp>DG(EIY) -> J</samp>’ for
+example would match any ‘<samp>DGE</samp>’, ‘<samp>DGI</samp>’ and
+‘<samp>DGY</samp>’ and replace them with ‘<samp>J</samp>’. This way you can
reduce several rules to one.
-
- <p>Before the search string, one or more dashes `<samp><span class="samp">-</span></samp>' may be placed.
+</p>
+<p>Before the search string, one or more dashes ‘<samp>-</samp>’ may be placed.
Those search strings will be matched totally but only the beginning of
the string will be replaced. Furthermore, for these rules no follow-up
rule will be searched (what this is will be explained later). The
-rule `<samp><span class="samp">TCH-- </span></samp>'-> _ will match any word containing
-`<samp><span class="samp">TCH</span></samp>' (like `<samp><span class="samp">match</span></samp>') but will only replace the first
-character `<samp><span class="samp">T</span></samp>' with an empty string. The number of dashes
-determines how many characters from the end will not be replaced.
+rule ‘<samp>TCH-- </samp>’-> _ will match any word containing
+‘<samp>TCH</samp>’ (like ‘<samp>match</samp>’) but will only replace the first
+character ‘<samp>T</samp>’ with an empty string. The number of dashes
+determines how many characters from the end will not be replaced.
After the replacement, the search for transformation rules continues
-with the not replaced `<samp><span class="samp">CH</span></samp>'!
-
- <p>If a `<samp><span class="samp"><</span></samp>' is appended to the search string, the search for
+with the not replaced ‘<samp>CH</samp>’!
+</p>
+<p>If a ‘<samp><</samp>’ is appended to the search string, the search for
replacement rules will continue with the replacement string and not with
-the next character of the word. The rule `<samp><span class="samp">PH< -> F</span></samp>' for example
-would replace `<samp><span class="samp">PH</span></samp>' with `<samp><span class="samp">F</span></samp>' and then again start to search for
-a replacement rule for `<samp><span class="samp">F...</span></samp>'. If there would also be rules
-like `<samp><span class="samp">FO </span></samp>'-> `<samp><span class="samp">O</span></samp>' and `<samp><span class="samp">F -> _</span></samp>' then words like
-`<samp><span class="samp">PHOXYZ</span></samp>' would be transformed to `<samp><span class="samp">OXYZ</span></samp>' and any occurrences of
-`<samp><span class="samp">PH</span></samp>' that are not followed by an `<samp><span class="samp">O</span></samp>' will be deleted like
-`<samp><span class="samp">PHIXYZ -> IXYZ</span></samp>'. The second replacement however is not applied if
+the next character of the word. The rule ‘<samp>PH< -> F</samp>’ for example
+would replace ‘<samp>PH</samp>’ with ‘<samp>F</samp>’ and then again start to search for
+a replacement rule for ‘<samp>F…</samp>’. If there would also be rules
+like ‘<samp>FO </samp>’-> ‘<samp>O</samp>’ and ‘<samp>F -> _</samp>’ then words like
+‘<samp>PHOXYZ</samp>’ would be transformed to ‘<samp>OXYZ</samp>’ and any occurrences of
+‘<samp>PH</samp>’ that are not followed by an ‘<samp>O</samp>’ will be deleted like
+‘<samp>PHIXYZ -> IXYZ</samp>’. The second replacement however is not applied if
the priority of this rule is lower than the priority of the first rule.
-
- <p>Priorities are added to a rule by putting a number between 0 and 9 at
-the end of the search string, for example `<samp><span class="samp">ING6 -> N</span></samp>'.
+</p>
+<p>Priorities are added to a rule by putting a number between 0 and 9 at
+the end of the search string, for example ‘<samp>ING6 -> N</samp>’.
The higher the number the higher is the priority.
-
- <p>Priorities are especially important for the previously mentioned
+</p>
+<p>Priorities are especially important for the previously mentioned
follow-up rules. Follow-up rules are searched beginning from the last
string of the first search string. This is a bit complicated but I
hope this example will make it clearer:
-
-<pre class="example"> CHS X
- CH G
-
- HAU--1 H
-
- SCH SH
-</pre>
- <p>In this example `<samp><span class="samp">CHS</span></samp>' in the word `<samp><span class="samp">FUCHS</span></samp>' would be
-transformed to `<samp><span class="samp">X</span></samp>'. If we take the word `<samp><span class="samp">DURCHSCHNITT</span></samp>' then
-things look a bit different. Here `<samp><span class="samp">CH</span></samp>' belongs together and
-`<samp><span class="samp">SCH</span></samp>' belongs together and both are spoken separately. The
-algorithm however first finds the string `<samp><span class="samp">CHS</span></samp>' which may not be
-transformed like in the previous word `<samp><span class="samp">FUCHS</span></samp>'. At this point the
+</p>
+<div class="example">
+<pre class="example">CHS X
+CH G
+
+HAU--1 H
+
+SCH SH
+</pre></div>
+
+<p>In this example ‘<samp>CHS</samp>’ in the word ‘<samp>FUCHS</samp>’ would be
+transformed to ‘<samp>X</samp>’. If we take the word ‘<samp>DURCHSCHNITT</samp>’ then
+things look a bit different. Here ‘<samp>CH</samp>’ belongs together and
+‘<samp>SCH</samp>’ belongs together and both are spoken separately. The
+algorithm however first finds the string ‘<samp>CHS</samp>’ which may not be
+transformed like in the previous word ‘<samp>FUCHS</samp>’. At this point the
algorithm can find a follow-up rule. It takes the last character of
-the first matching rule (`<samp><span class="samp">CHS</span></samp>') which is `<samp><span class="samp">S</span></samp>' and looks for
+the first matching rule (‘<samp>CHS</samp>’) which is ‘<samp>S</samp>’ and looks for
the next match, beginning from this character. What it finds is
-clear: It finds `<samp><span class="samp">SCH -> SH</span></samp>', which has the same priority
+clear: It finds ‘<samp>SCH -> SH</samp>’, which has the same priority
(no priority means standard priority, which is 5). If the priority is
-the same or higher the follow-up rule will be applied. Let's take a
-look at the word `<samp><span class="samp">SCHAUKEL</span></samp>'. In this word `<samp><span class="samp">SCH</span></samp>' belongs
+the same or higher the follow-up rule will be applied. Let’s take a
+look at the word ‘<samp>SCHAUKEL</samp>’. In this word ‘<samp>SCH</samp>’ belongs
together and may not be taken apart. After the algorithm has found
-`<samp><span class="samp">SCH </span></samp>'-> `<samp><span class="samp">SH</span></samp>' it searches for a follow-up rule for
-`<samp><span class="samp">H+</span></samp>'`<samp><span class="samp">AUKEL</span></samp>'. It finds `<samp><span class="samp">HAU--1 -> H</span></samp>', but does not
-apply it because its priority is lower than the one of the first rule.
+‘<samp>SCH </samp>’-> ‘<samp>SH</samp>’ it searches for a follow-up rule for
+‘<samp>H+</samp>’‘<samp>AUKEL</samp>’. It finds ‘<samp>HAU--1 -> H</samp>’, but does not
+apply it because its priority is lower than the one of the first rule.
You see that this is a very powerful feature but it also can easily
-lead to mistakes. If you really don't need this feature you can turn
+lead to mistakes. If you really don’t need this feature you can turn
it off by putting the line:
+</p>
+<div class="example">
+<pre class="example">followup 0
+</pre></div>
-<pre class="example"> followup 0
-</pre>
- <p class="noindent">at the beginning of the phonetic table file. As mentioned, for rules
-containing a `<samp><span class="samp">-</span></samp>' no follow-up rules are searched but giving such
+<p>at the beginning of the phonetic table file. As mentioned, for rules
+containing a ‘<samp>-</samp>’ no follow-up rules are searched but giving such
rules a priority is not totally senseless because they can be
-follow-up rules and in that case the priority makes sense again.
+follow-up rules and in that case the priority makes sense again.
Follow-up rules of follow-up rules are not searched because this is in
fact not needed very often.
-
- <p>The control character `<samp><span class="samp">^</span></samp>' says that the search string only
-matches at the beginning of words so that the rule `<samp><span class="samp">RH -> R</span></samp>' will
-only apply to words like `<samp><span class="samp">RHESUS</span></samp>' but not `<samp><span class="samp">PERHAPS</span></samp>'. You
-can append another `<samp><span class="samp">^</span></samp>' to the search string. In that case the
+</p>
+<p>The control character ‘<samp>^</samp>’ says that the search string only
+matches at the beginning of words so that the rule ‘<samp>RH -> R</samp>’ will
+only apply to words like ‘<samp>RHESUS</samp>’ but not ‘<samp>PERHAPS</samp>’. You
+can append another ‘<samp>^</samp>’ to the search string. In that case the
algorithm treats the rest of the word totally separately from the
first matched string at the beginning. This is useful for prefixes
whose pronunciation does not depend on the rest of the word and vice
-versa like `<samp><span class="samp">OVER^^</span></samp>' in English for example.
-
- <p>The same way as `<samp><span class="samp">^</span></samp>' works does `<samp><span class="samp">$</span></samp>' only apply to words
-that end with the search string. `<samp><span class="samp">GN$ -> N</span></samp>' only
-matches on words like `<samp><span class="samp">SIGN</span></samp>' but not `<samp><span class="samp">SIGNUM</span></samp>'. If
-you use `<samp><span class="samp">^</span></samp>' and `<samp><span class="samp">$</span></samp>' together, both of them must fit
-`<samp><span class="samp">ENOUGH^$ -> NF</span></samp>' will only match the word
-`<samp><span class="samp">ENOUGH</span></samp>' and nothing else.
-
- <p>Of course you can combine all of the mentioned control characters but
-they must occur in this order: `<samp><span class="samp">< - priority ^ $</span></samp>'. All
+versa like ‘<samp>OVER^^</samp>’ in English for example.
+</p>
+<p>The same way as ‘<samp>^</samp>’ works does ‘<samp>$</samp>’ only apply to words
+that end with the search string. ‘<samp>GN$ -> N</samp>’ only
+matches on words like ‘<samp>SIGN</samp>’ but not ‘<samp>SIGNUM</samp>’. If
+you use ‘<samp>^</samp>’ and ‘<samp>$</samp>’ together, both of them must fit
+‘<samp>ENOUGH^$ -> NF</samp>’ will only match the word
+‘<samp>ENOUGH</samp>’ and nothing else.
+</p>
+<p>Of course you can combine all of the mentioned control characters but
+they must occur in this order: ‘<samp>< - priority ^ $</samp>’. All
characters must be written in CAPITAL letters.
-
- <p>If absolutely no rule can be found — might happen if you use strange
-characters for which you don't have any replacement rule — the next
+</p>
+<p>If absolutely no rule can be found — might happen if you use strange
+characters for which you don’t have any replacement rule — the next
character will simply be skipped and the search for replacement rules
will continue with the rest of the word.
-
- <p>If you want double letters to be reduced to one you must set up a rule
-like `<samp><span class="samp">LL- -> L</span></samp>'. If double letters in the resulting phonetic
+</p>
+<p>If you want double letters to be reduced to one you must set up a rule
+like ‘<samp>LL- -> L</samp>’. If double letters in the resulting phonetic
word should be allowed, you must place the line:
-
-<pre class="example"> collapse_result 0
-</pre>
- <p class="noindent">at the beginning of your transformation table file; otherwise set the
-value to `1'. The English rules for example strip all vowels from
-words and so the word "GOGO" would be transformed to "K" and not to
-"KK" (as desired) if <code>collapse_result</code> is set to 1. That's why
+</p>
+<div class="example">
+<pre class="example">collapse_result 0
+</pre></div>
+
+<p>at the beginning of your transformation table file; otherwise set the
+value to ‘1’. The English rules for example strip all vowels from
+words and so the word "GOGO" would be transformed to "K" and not to
+"KK" (as desired) if <code>collapse_result</code> is set to 1. That’s why
the English rules have <code>collapse_result</code> set to <code>0</code>.
-
- <p>By default, all accents are removed from a word before it is matched to
+</p>
+<p>By default, all accents are removed from a word before it is matched to
the soundslike rules. If you do not want this then add the line
+</p>
+<div class="example">
+<pre class="example">remove_accents 0
+</pre></div>
-<pre class="example"> remove_accents 0
-</pre>
- <p>at the beginning of your file. The exact definition of an accent is
+<p>at the beginning of your file. The exact definition of an accent is
language dependent and is controlled via the character set file. If you
-set remove_accents to '0' then you should also set "store-as" to "lower"
+set remove_accents to ’0’ then you should also set "store-as" to "lower"
in the language data file (not the phonetic transformation file)
otherwise Aspell will have problems when both the accented and the
de-accented version of a word appearing in the dictionary; it will
consider one of them as incorrectly spelled.
-
+</p>
+<a name="How-do-I-start-finally_003f"></a>
<h4 class="subsection">7.3.2 How do I start finally?</h4>
<p>Before you start to write an array of transformation rules, you should
be aware that you have to do some work to make sure that things you do
will result in correct transformation rules.
-
-<h5 class="subsubsection">7.3.2.1 Things that come in handy</h5>
+</p>
+<a name="Things-that-come-in-handy"></a>
+<h4 class="subsubsection">7.3.2.1 Things that come in handy</h4>
<p>First of all, you need to have a large word list of the language you
want to make phonetics for. It should contain about as many words as
-the dictionary of the spell checker. If you don't have such a list,
+the dictionary of the spell checker. If you don’t have such a list,
you will probably find an Ispell dictionary at
<a href="http://fmg-www.cs.ucla.edu/geoff/ispell-dictionaries.html">http://fmg-www.cs.ucla.edu/geoff/ispell-dictionaries.html</a> which
-will help you. You can then make affix expansion via <samp><span class="command">ispell
--e</span></samp> and then pipe it through <samp><span class="command">tr " " "\n"</span></samp> to put one word on
+will help you. You can then make affix expansion via <code>ispell
+-e</code> and then pipe it through <code>tr " " "\n"</code> to put one word on
each line. After that you eventually have to convert special
-characters like `<samp><span class="samp">é</span></samp>' from Ispell's internal representation to
-latin1 encoding. <samp><span class="command">sed s/e'/é/g</span></samp> for example would replace
-all `<samp><span class="samp">e'</span></samp>' with `<samp><span class="samp">é</span></samp>'.
-
- <p>The second is that you know how to use regular expressions and know
-how to use <samp><span class="command">grep</span></samp>. You should for example know that:
-
-<pre class="example"> grep ^[^aeiou]qu[io] wordlist | less
-</pre>
- <p class="noindent">will show you all words that begin with any character but `<samp><span class="samp">a</span></samp>',
-`<samp><span class="samp">e</span></samp>', `<samp><span class="samp">i</span></samp>', `<samp><span class="samp">o</span></samp>' or `<samp><span class="samp">u</span></samp>' and then continue with
-`<samp><span class="samp">qui</span></samp>' or `<samp><span class="samp">quo</span></samp>'. This stuff is important for example to
+characters like ‘<samp>é</samp>’ from Ispell’s internal representation to
+latin1 encoding. <code>sed s/e'/é/g</code> for example would replace
+all ‘<samp>e'</samp>’ with ‘<samp>é</samp>’.
+</p>
+<p>The second is that you know how to use regular expressions and know
+how to use <code>grep</code>. You should for example know that:
+</p>
+<div class="example">
+<pre class="example">grep ^[^aeiou]qu[io] wordlist | less
+</pre></div>
+
+<p>will show you all words that begin with any character but ‘<samp>a</samp>’,
+‘<samp>e</samp>’, ‘<samp>i</samp>’, ‘<samp>o</samp>’ or ‘<samp>u</samp>’ and then continue with
+‘<samp>qui</samp>’ or ‘<samp>quo</samp>’. This stuff is important for example to
find out if a phonetic replacement rule you want to set up is valid
for all words which match the expression you want to replace. Taking
a look at the regex(7) man page is a good idea.
-
-<h5 class="subsubsection">7.3.2.2 What the phonetic code should do</h5>
+</p>
+<a name="What-the-phonetic-code-should-do"></a>
+<h4 class="subsubsection">7.3.2.2 What the phonetic code should do</h4>
<p>Normal text comparison works well as long as the typer misspells a
-word because he pressed one key he didn't really want to press. In
+word because he pressed one key he didn’t really want to press. In
these cases, mostly one character differs from the original word.
-
- <p>In cases where the writer didn't know about the correct spelling of
+</p>
+<p>In cases where the writer didn’t know about the correct spelling of
the word, the word may have several characters that differ from the
original word but usually the word would still sound like the
-original. Someone might think that `tough' is spelled `taff'. No
+original. Someone might think that ‘tough’ is spelled ‘taff’. No
spell checker without phonetic code will come to the idea that this
-might be `tough', but a spell checker who knows that `taff' would be
-pronounced like `tough' will make good suggestions to the user. Another
-example could be `funetik' and `phonetic'.
-
- <p>From these examples you can see that the phonetic transformation should
+might be ‘tough’, but a spell checker who knows that ‘taff’ would be
+pronounced like ‘tough’ will make good suggestions to the user. Another
+example could be ‘funetik’ and ‘phonetic’.
+</p>
+<p>From these examples you can see that the phonetic transformation should
not be too fussy and too precise. If you implement a whole phonetic
dictionary as you can find it in books this will not be very useful
because then there could still be many characters differing from the
misspelled and the desired word. What you should do if you implement
the phonetic transformation table is to reduce the number of used
letters to the only really necessary ones.
-
- <p>Characters that sound similar should be reduced to one. In the English
-language for example `Z' sounds like `S' and that's why the
-transformation rule `<samp><span class="samp">Z -> S</span></samp>' is present in the
+</p>
+<p>Characters that sound similar should be reduced to one. In the English
+language for example ‘Z’ sounds like ‘S’ and that’s why the
+transformation rule ‘<samp>Z -> S</samp>’ is present in the
replacement table. “PH is spoken like “F and so we have a
-`<samp><span class="samp">PH -> F</span></samp>' rule.
-
- <p>If you take a closer look you will even see that vowels sound very
-similar in the English language: `contradiction', `cuntradiction',
-`cantradiction' or `centradiction' in fact sound nearly the same,
-don't they? Therefore the English phonetic replacement rules not only
+‘<samp>PH -> F</samp>’ rule.
+</p>
+<p>If you take a closer look you will even see that vowels sound very
+similar in the English language: ‘contradiction’, ‘cuntradiction’,
+‘cantradiction’ or ‘centradiction’ in fact sound nearly the same,
+don’t they? Therefore the English phonetic replacement rules not only
reduce all vowels to one but even remove them all (removing is done by
just setting up no rule for those letters). The phonetic code of
“contradiction” is “KNTRTKXN” and if you try to read this
letter-monster loud you will hear that it still sound a bit like
-`contradiction'. You also see that “D” is transformed to “T”
+‘contradiction’. You also see that “D” is transformed to “T”
because they nearly sound the same.
-
- <p>If you think you have found a regularity you should <em>always</em> take
-your word list and <samp><span class="command">grep</span></samp> for the corresponding regular
+</p>
+<p>If you think you have found a regularity you should <em>always</em> take
+your word list and <code>grep</code> for the corresponding regular
expression you want to make a transformation rule for. An example: If
-you come to the idea that all English words ending on `ough' sound
-like `AF' at the end because you think of `enough' and `tough'. If
+you come to the idea that all English words ending on ‘ough’ sound
+like ‘AF’ at the end because you think of ‘enough’ and ‘tough’. If
you then <code>grep</code> for the corresponding regular expression by
-<samp><span class="command">grep -i ough$ wordlist</span></samp> you will see that the rule you wanted
-to set up is not correct because the rule doesn't fit to words like
-`although' or `bough'. So you have to define your rule more precisely
+<code>grep -i ough$ wordlist</code> you will see that the rule you wanted
+to set up is not correct because the rule doesn’t fit to words like
+‘although’ or ‘bough’. So you have to define your rule more precisely
or you have to set up exceptions if the number of words that differ
from the desired rule is not too big.
-
- <p>Don't forget about follow-up rules which can help in many cases but
-which also can lead to confusion and unwanted side effects. It's also
+</p>
+<p>Don’t forget about follow-up rules which can help in many cases but
+which also can lead to confusion and unwanted side effects. It’s also
important to write exceptions in front of the more general rules
-(`<samp><span class="samp">GH</span></samp>' before `<samp><span class="samp">G</span></samp>' etc.).
-
- <p>If you think you have set up a number of rules that may produce some
-good results try them out! If you run Aspell as <samp><span class="command">aspell
---lang=</span><var>your_language</var><span class="command"> pipe</span></samp> you get a prompt at which you can type
+(‘<samp>GH</samp>’ before ‘<samp>G</samp>’ etc.).
+</p>
+<p>If you think you have set up a number of rules that may produce some
+good results try them out! If you run Aspell as <code>aspell
+--lang=<var>your_language</var> pipe</code> you get a prompt at which you can type
in words. If you just type words Aspell checks them and eventually
makes suggestions if they are misspelled. If you type in <code>$$Sw
-</code><var>word</var> you will see the phonetic transformation and you can test
+<var>word</var></code> you will see the phonetic transformation and you can test
out if your work does what you want.
-
- <p>Another good way to check that changes you make to your rules don't
+</p>
+<p>Another good way to check that changes you make to your rules don’t
have any bad side effects is to create another list from your word
list which contains not only the word of the word list but also the
corresponding phonetic version of this word on the same line. If you
do this once before the change and once after the change you can make
-a diff (see <samp><span class="command">man diff</span></samp>) to see what <em>really</em> changed. To
-do this use the command <samp><span class="command">aspell --lang=</span><var>your_language</var><span class="command">
-soundslike</span></samp>. In this mode Aspell will output the the original word
+a diff (see <code>man diff</code>) to see what <em>really</em> changed. To
+do this use the command <code>aspell --lang=<var>your_language</var>
+soundslike</code>. In this mode Aspell will output the the original word
and then its soundslike separated by a tab character for each word you
give it. If you are interested in seeing how the algorithm works you
can download a set of useful programs from
program which illustrates how the algorithm works. It uses the same
transformation table as Aspell and so it helps a lot during the
process of creating a phonetic transformation table for Aspell.
-
- <p>During your work you should write down your basic ideas so that other
+</p>
+<p>During your work you should write down your basic ideas so that other
people are able to understand what you did (and you still know about
it after a few weeks). The English table has a huge documentation
appended as an example.
-
- <p>Now you can start experimenting with all the things you just read and
+</p>
+<p>Now you can start experimenting with all the things you just read and
perhaps set up a nice phonetic transformation table for your language
to help Aspell to come up with the best correction suggestions ever
seen also for your language. Take a look at the Aspell homepage to
see if there is already a transformation table for your language. If
there is one you might also take a look at it to see if it could be
improved.
-
- <p>If you think that this section helped you or if you think that this is
+</p>
+<p>If you think that this section helped you or if you think that this is
just a waste of time you can send any feedback to
<a href="mailto:bjoern.jacke@gmx.de">bjoern.jacke@gmx.de</a>.
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="The-Simple-Soundslike.html#The-Simple-Soundslike" accesskey="n" rel="next">The Simple Soundslike</a>, Previous: <a href="Compiling-the-Word-List.html#Compiling-the-Word-List" accesskey="p" rel="prev">Compiling the Word List</a>, Up: <a href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" accesskey="u" rel="up">Adding Support For Other Languages</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Planned Dictionaries - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Languages-Which-Aspell-can-Support.html#Languages-Which-Aspell-can-Support" title="Languages Which Aspell can Support">
-<link rel="prev" href="Multiple-Scripts.html#Multiple-Scripts" title="Multiple Scripts">
-<link rel="next" href="References.html#References" title="References">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Planned Dictionaries</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Planned Dictionaries">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Languages-Which-Aspell-can-Support.html#Languages-Which-Aspell-can-Support" rel="up" title="Languages Which Aspell can Support">
+<link href="References.html#References" rel="next" title="References">
+<link href="Multiple-Scripts.html#Multiple-Scripts" rel="prev" title="Multiple Scripts">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Planned-Dictionaries"></a>
-Next: <a rel="next" accesskey="n" href="References.html#References">References</a>,
-Previous: <a rel="previous" accesskey="p" href="Multiple-Scripts.html#Multiple-Scripts">Multiple Scripts</a>,
-Up: <a rel="up" accesskey="u" href="Languages-Which-Aspell-can-Support.html#Languages-Which-Aspell-can-Support">Languages Which Aspell can Support</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="References.html#References" accesskey="n" rel="next">References</a>, Previous: <a href="Multiple-Scripts.html#Multiple-Scripts" accesskey="p" rel="prev">Multiple Scripts</a>, Up: <a href="Languages-Which-Aspell-can-Support.html#Languages-Which-Aspell-can-Support" accesskey="u" rel="up">Languages Which Aspell can Support</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Notes-on-Planned-Dictionaries"></a>
<h3 class="appendixsec">B.4 Notes on Planned Dictionaries</h3>
<p>According to
<a href="http://wiki.services.openoffice.org/wiki/Dictionaries">http://wiki.services.openoffice.org/wiki/Dictionaries</a>, Open
Office dictionaries are available for the following languages, but no
corresponding Aspell dictionary exists:
+</p>
+<ul>
+<li> Coptic (cop)
+</li><li> Dyula (dyu)
+</li><li> Fulah (ff)
+</li><li> Fijian (fj)
+</li><li> Friulian (fur)
+</li><li> Khmer (km)
+</li><li> Luxembourgish (lb)
+</li><li> Mossi (mos)
+</li><li> Nepali (ne)
+</li><li> South Ndebele (nr)
+</li><li> Northern Sotho (nso)
+</li><li> Swati (ss)
+</li><li> Southern Sotho (st)
+</li><li> Tsonga (ts)
+</li><li> Venda (ve)
+</li><li> Xhosa (xh)
+</li></ul>
- <ul>
-<li>Coptic (cop)
-<li>Dyula (dyu)
-<li>Fulah (ff)
-<li>Fijian (fj)
-<li>Friulian (fur)
-<li>Khmer (km)
-<li>Luxembourgish (lb)
-<li>Mossi (mos)
-<li>Nepali (ne)
-<li>South Ndebele (nr)
-<li>Northern Sotho (nso)
-<li>Swati (ss)
-<li>Southern Sotho (st)
-<li>Tsonga (ts)
-<li>Venda (ve)
-<li>Xhosa (xh)
-</ul>
-
-<p class="noindent">If you are interested in converting any of them please coordinate your
-efforts with the dictionary author and submit it to
+<p>If you are interested in converting any of them please coordinate your
+efforts with the dictionary author and submit it to
aspell-dict at gnu org when you have something ready.
-
- <p>An unofficial dictionary for Albanian (sq) is available at
+</p>
+<p>An unofficial dictionary for Albanian (sq) is available at
<a href="http://psychology.rutgers.edu/~zaimi/software.html">http://psychology.rutgers.edu/~zaimi/software.html</a>. However,
I can not find any contact information for the author, thus I have
been unable to contact him. In addition an Albanian (sq) dictionary
is available for Ispell at
-<a href="http://www.7kosova.com/kde-shqip/ispell/ispell.html">http://www.7kosova.com/kde-shqip/ispell/ispell.html</a>.
+<a href="http://www.7kosova.com/kde-shqip/ispell/ispell.html">http://www.7kosova.com/kde-shqip/ispell/ispell.html</a>.
However, the raw word list is not provided and the author has not
-been responding to emails, possibly because he doesn't speak English.
+been responding to emails, possibly because he doesn’t speak English.
If you have any additional information on either of these dictionaries,
or can speak Albanian and can translate for me please let me know at
<a href="mailto:kevina@gnu.org">kevina@gnu.org</a>
-
- <p>An unofficial dictionary for Malayalam (ml) is available at
-<a href="http://in.geocities.com/paivakil/downloads/aspell/">http://in.geocities.com/paivakil/downloads/aspell/</a>.
+</p>
+<p>An unofficial dictionary for Malayalam (ml) is available at
+<a href="http://in.geocities.com/paivakil/downloads/aspell/">http://in.geocities.com/paivakil/downloads/aspell/</a>.
I am working with the author to create an official one.
-
- <p>Kevin Patrick Scannell has word lists available for the following
+</p>
+<p>Kevin Patrick Scannell has word lists available for the following
languages based on his web crawling software
(<a href="http://borel.slu.edu/crubadan/">http://borel.slu.edu/crubadan/</a>) but needs someone to proofread
them:
+</p>
+<ul>
+<li> Afrikaans (af)
+</li><li> Asturian / Bable (ast)
+</li><li> Azerbaijani (az)
+</li><li> Balinese (ban)
+</li><li> Bemba (bem)
+</li><li> Bislama (bi)
+</li><li> Breton (br)
+</li><li> Catalan / Valencian (ca)
+</li><li> Cebuano (ceb)
+</li><li> Chamorro (ch)
+</li><li> Chuukese (chk)
+</li><li> Corsican (co)
+</li><li> Kashubian (csb)
+</li><li> Welsh (cy)
+</li><li> Basque (eu)
+</li><li> Fijian (fj)
+</li><li> Faroese (fo)
+</li><li> Friulian (fur)
+</li><li> Frisian (fy)
+</li><li> Irish (ga)
+</li><li> Scottish Gaelic (gd)
+</li><li> Gallegan (gl)
+</li><li> Guarani (gn)
+</li><li> Manx Gaelic (gv)
+</li><li> Hausa (ha)
+</li><li> Hawaiian (haw)
+</li><li> Hiligaynon (hil)
+</li><li> Haitian Creole (ht)
+</li><li> Iban (iba)
+</li><li> Igbo (ig)
+</li><li> Iloko (ilo)
+</li><li> Javanese (jv)
+</li><li> Kachin (kac)
+</li><li> Khasi (kha)
+</li><li> Kalaallisut / Greenlandic (kl)
+</li><li> Konkani (kok)
+</li><li> Kurdish (ku)
+</li><li> Cornish (kw)
+</li><li> Luxembourgish (lb)
+</li><li> Ganda (lg)
+</li><li> Limburgian (li)
+</li><li> Lingala (ln)
+</li><li> Lozi (loz)
+</li><li> Luo (Kenya and Tanzania) (luo)
+</li><li> Malagasy (mg)
+</li><li> Marshallese (mh)
+</li><li> Maori (mi)
+</li><li> Minangkabau (min)
+</li><li> Mongolian (mn)
+</li><li> Maltese (mt)
+</li><li> North Ndebele (nd)
+</li><li> Low Saxon (nds)
+</li><li> Ndonga (ng)
+</li><li> Niuean (niu)
+</li><li> Norwegian Nynorsk (nn)
+</li><li> Northern Sotho (nso)
+</li><li> Navajo (nv)
+</li><li> Nyanja (ny)
+</li><li> Occitan / Provencal (oc)
+</li><li> Pampanga (pam)
+</li><li> Papiamento (pap)
+</li><li> Quechua (qu)
+</li><li> Rarotongan (rar)
+</li><li> Rundi (rn)
+</li><li> Kinyarwanda (rw)
+</li><li> Sardinian (sc)
+</li><li> Northern Sami (se)
+</li><li> Sango (sg)
+</li><li> Samoan (sm)
+</li><li> Shona (sn)
+</li><li> Somali (so)
+</li><li> Swati (ss)
+</li><li> Southern Sotho (st)
+</li><li> Sundanese (su)
+</li><li> Swahili (sw)
+</li><li> Tetum (tet)
+</li><li> Tajik (tg)
+</li><li> Turkmen (tk)
+</li><li> Tokelau (tkl)
+</li><li> Tagalog (tl)
+</li><li> Tswana (tn)
+</li><li> Tonga (to)
+</li><li> Tok Pisin (tpi)
+</li><li> Tsonga (ts)
+</li><li> Tahitian (ty)
+</li><li> Venda (ve)
+</li><li> Walloon (wa)
+</li><li> Wolof (wo)
+</li><li> Xhosa (xh)
+</li><li> Yoruba (yo)
+</li><li> Zulu (zu)
+</li></ul>
- <ul>
-<li>Afrikaans (af)
-<li>Asturian / Bable (ast)
-<li>Azerbaijani (az)
-<li>Balinese (ban)
-<li>Bemba (bem)
-<li>Bislama (bi)
-<li>Breton (br)
-<li>Catalan / Valencian (ca)
-<li>Cebuano (ceb)
-<li>Chamorro (ch)
-<li>Chuukese (chk)
-<li>Corsican (co)
-<li>Kashubian (csb)
-<li>Welsh (cy)
-<li>Basque (eu)
-<li>Fijian (fj)
-<li>Faroese (fo)
-<li>Friulian (fur)
-<li>Frisian (fy)
-<li>Irish (ga)
-<li>Scottish Gaelic (gd)
-<li>Gallegan (gl)
-<li>Guarani (gn)
-<li>Manx Gaelic (gv)
-<li>Hausa (ha)
-<li>Hawaiian (haw)
-<li>Hiligaynon (hil)
-<li>Haitian Creole (ht)
-<li>Iban (iba)
-<li>Igbo (ig)
-<li>Iloko (ilo)
-<li>Javanese (jv)
-<li>Kachin (kac)
-<li>Khasi (kha)
-<li>Kalaallisut / Greenlandic (kl)
-<li>Konkani (kok)
-<li>Kurdish (ku)
-<li>Cornish (kw)
-<li>Luxembourgish (lb)
-<li>Ganda (lg)
-<li>Limburgian (li)
-<li>Lingala (ln)
-<li>Lozi (loz)
-<li>Luo (Kenya and Tanzania) (luo)
-<li>Malagasy (mg)
-<li>Marshallese (mh)
-<li>Maori (mi)
-<li>Minangkabau (min)
-<li>Mongolian (mn)
-<li>Maltese (mt)
-<li>North Ndebele (nd)
-<li>Low Saxon (nds)
-<li>Ndonga (ng)
-<li>Niuean (niu)
-<li>Norwegian Nynorsk (nn)
-<li>Northern Sotho (nso)
-<li>Navajo (nv)
-<li>Nyanja (ny)
-<li>Occitan / Provencal (oc)
-<li>Pampanga (pam)
-<li>Papiamento (pap)
-<li>Quechua (qu)
-<li>Rarotongan (rar)
-<li>Rundi (rn)
-<li>Kinyarwanda (rw)
-<li>Sardinian (sc)
-<li>Northern Sami (se)
-<li>Sango (sg)
-<li>Samoan (sm)
-<li>Shona (sn)
-<li>Somali (so)
-<li>Swati (ss)
-<li>Southern Sotho (st)
-<li>Sundanese (su)
-<li>Swahili (sw)
-<li>Tetum (tet)
-<li>Tajik (tg)
-<li>Turkmen (tk)
-<li>Tokelau (tkl)
-<li>Tagalog (tl)
-<li>Tswana (tn)
-<li>Tonga (to)
-<li>Tok Pisin (tpi)
-<li>Tsonga (ts)
-<li>Tahitian (ty)
-<li>Venda (ve)
-<li>Walloon (wa)
-<li>Wolof (wo)
-<li>Xhosa (xh)
-<li>Yoruba (yo)
-<li>Zulu (zu)
-</ul>
-
-<p class="noindent">If you are interested, please contact him at scannell at slu edu.
-
- <p>A dictionary marked as "Planned" or "Maybe" but not listed in
+<p>If you are interested, please contact him at scannell at slu edu.
+</p>
+<p>A dictionary marked as "Planned" or "Maybe" but not listed in
the section means that someone has expressed an interest in creating
one. If you are interested in helping please contact me at
<a href="mailto:kevina@gnu.org">kevina@gnu.org</a> so that I can put you in touch with them.
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="References.html#References" accesskey="n" rel="next">References</a>, Previous: <a href="Multiple-Scripts.html#Multiple-Scripts" accesskey="p" rel="prev">Multiple Scripts</a>, Up: <a href="Languages-Which-Aspell-can-Support.html#Languages-Which-Aspell-can-Support" accesskey="u" rel="up">Languages Which Aspell can Support</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>References - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Languages-Which-Aspell-can-Support.html#Languages-Which-Aspell-can-Support" title="Languages Which Aspell can Support">
-<link rel="prev" href="Planned-Dictionaries.html#Planned-Dictionaries" title="Planned Dictionaries">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: References</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: References">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Languages-Which-Aspell-can-Support.html#Languages-Which-Aspell-can-Support" rel="up" title="Languages Which Aspell can Support">
+<link href="Language-Related-Issues.html#Language-Related-Issues" rel="next" title="Language Related Issues">
+<link href="Planned-Dictionaries.html#Planned-Dictionaries" rel="prev" title="Planned Dictionaries">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="References"></a>
-Previous: <a rel="previous" accesskey="p" href="Planned-Dictionaries.html#Planned-Dictionaries">Planned Dictionaries</a>,
-Up: <a rel="up" accesskey="u" href="Languages-Which-Aspell-can-Support.html#Languages-Which-Aspell-can-Support">Languages Which Aspell can Support</a>
-<hr>
+<div class="header">
+<p>
+Previous: <a href="Planned-Dictionaries.html#Planned-Dictionaries" accesskey="p" rel="prev">Planned Dictionaries</a>, Up: <a href="Languages-Which-Aspell-can-Support.html#Languages-Which-Aspell-can-Support" accesskey="u" rel="up">Languages Which Aspell can Support</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="References-1"></a>
<h3 class="appendixsec">B.5 References</h3>
<p>The information in this chapter was gathered from numerous sources,
including:
-
- <ul>
-<li>ISO 639-2 Registration Authority,
+</p>
+<ul>
+<li> ISO 639-2 Registration Authority,
<a href="http://www.loc.gov/standards/iso639-2/">http://www.loc.gov/standards/iso639-2/</a>
- <li>Languages and Scripts (Official Unicode Site),
+</li><li> Languages and Scripts (Official Unicode Site),
<a href="http://www.unicode.org/onlinedat/languages-scripts.html">http://www.unicode.org/onlinedat/languages-scripts.html</a>
- <li>Omniglot - a guide to written language, <a href="http://www.omniglot.com/">http://www.omniglot.com/</a>
+</li><li> Omniglot - a guide to written language, <a href="http://www.omniglot.com/">http://www.omniglot.com/</a>
- <li>Wikipedia - The Free Encyclopedia, <a href="http://wikipedia.org/">http://wikipedia.org/</a>
+</li><li> Wikipedia - The Free Encyclopedia, <a href="http://wikipedia.org/">http://wikipedia.org/</a>
- <li>Ethnologue - Languages of the World,
+</li><li> Ethnologue - Languages of the World,
<a href="http://www.ethnologue.com/">http://www.ethnologue.com/</a>
- <li>World Languages - The Ultimate Language Store,
+</li><li> World Languages - The Ultimate Language Store,
<a href="http://www.worldlanguage.com/">http://www.worldlanguage.com/</a>
- <li>South African Languages Web,
+</li><li> South African Languages Web,
<a href="http://www.languages.web.za/">http://www.languages.web.za/</a>
- <li>The Languages and Writing Systems of Africa (Global Advisor Newsletter),
+</li><li> The Languages and Writing Systems of Africa (Global Advisor Newsletter),
<a href="http://www.intersolinc.com/newsletters/africa.htm">http://www.intersolinc.com/newsletters/africa.htm</a>
- </ul>
+</li></ul>
- <p>Special thanks goes to Era Eriksson for helping me with the information in
+<p>Special thanks goes to Era Eriksson for helping me with the information in
this chapter.
+</p>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Replacement Tables - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" title="Adding Support For Other Languages">
-<link rel="prev" href="The-Simple-Soundslike.html#The-Simple-Soundslike" title="The Simple Soundslike">
-<link rel="next" href="Affix-Compression.html#Affix-Compression" title="Affix Compression">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Replacement Tables</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Replacement Tables">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" rel="up" title="Adding Support For Other Languages">
+<link href="Affix-Compression.html#Affix-Compression" rel="next" title="Affix Compression">
+<link href="The-Simple-Soundslike.html#The-Simple-Soundslike" rel="prev" title="The Simple Soundslike">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Replacement-Tables"></a>
-Next: <a rel="next" accesskey="n" href="Affix-Compression.html#Affix-Compression">Affix Compression</a>,
-Previous: <a rel="previous" accesskey="p" href="The-Simple-Soundslike.html#The-Simple-Soundslike">The Simple Soundslike</a>,
-Up: <a rel="up" accesskey="u" href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages">Adding Support For Other Languages</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Affix-Compression.html#Affix-Compression" accesskey="n" rel="next">Affix Compression</a>, Previous: <a href="The-Simple-Soundslike.html#The-Simple-Soundslike" accesskey="p" rel="prev">The Simple Soundslike</a>, Up: <a href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" accesskey="u" rel="up">Adding Support For Other Languages</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Replacement-Tables-1"></a>
<h3 class="section">7.5 Replacement Tables</h3>
-<p>When phonetic code is not used a replacement table can be used instead.
+<p>When phonetic code is not used a replacement table can be used instead.
To enable the use of a replacement table add the line <code>repl-table
-</code><var>lang</var>, in which case the replacement table is excepted to be in
-the file <samp><var>lang</var><span class="file">_repl.dat</span></samp>. A complete file name can also be
+<var>lang</var></code>, in which case the replacement table is excepted to be in
+the file <samp><var>lang</var>_repl.dat</samp>. A complete file name can also be
specified in place of <var>lang</var>. For compatibility with MySpell the
replacement table can also be part of the affix file, in which case
-<samp><span class="option">repl-table</span></samp> will be <samp><var>lang</var><span class="file">_affix.dat"</span></samp>.
-
- <p>Replacement table syntax:
+<samp>repl-table</samp> will be <samp><var>lang</var>_affix.dat"</samp>.
+</p>
+<p>Replacement table syntax:
+</p>
+<div class="example">
+<pre class="example">REP [number_of_replacement_definitions]
+REP [what] [replacement]
+REP [what] [replacement]
+</pre></div>
-<pre class="example"> REP [number_of_replacement_definitions]
- REP [what] [replacement]
- REP [what] [replacement]
-</pre>
- <p>For example a possible English replacement table definition
+<p>For example a possible English replacement table definition
to handle misspelled consonants:
+</p>
+<div class="example">
+<pre class="example">REP 8
+REP f ph
+REP ph f
+REP f gh
+REP gh f
+REP j dg
+REP dg j
+REP k ch
+REP ch k
+</pre></div>
+
+
-<pre class="example"> REP 8
- REP f ph
- REP ph f
- REP f gh
- REP gh f
- REP j dg
- REP dg j
- REP k ch
- REP ch k
-</pre>
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Specifying Options - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Customizing-Aspell.html#Customizing-Aspell" title="Customizing Aspell">
-<link rel="next" href="The-Options.html#The-Options" title="The Options">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Specifying Options</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Specifying Options">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Customizing-Aspell.html#Customizing-Aspell" rel="up" title="Customizing Aspell">
+<link href="The-Options.html#The-Options" rel="next" title="The Options">
+<link href="Customizing-Aspell.html#Customizing-Aspell" rel="prev" title="Customizing Aspell">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Specifying-Options"></a>
-Next: <a rel="next" accesskey="n" href="The-Options.html#The-Options">The Options</a>,
-Up: <a rel="up" accesskey="u" href="Customizing-Aspell.html#Customizing-Aspell">Customizing Aspell</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="The-Options.html#The-Options" accesskey="n" rel="next">The Options</a>, Up: <a href="Customizing-Aspell.html#Customizing-Aspell" accesskey="u" rel="up">Customizing Aspell</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Specifying-Options-1"></a>
<h3 class="section">4.1 Specifying Options</h3>
+<a name="At-the-Command-Line"></a>
<h4 class="subsection">4.1.1 At the Command Line</h4>
<p>All options specified at the command line have the following basic format:
-
-<pre class="example"> --<var>option</var>[=<var>value</var>]
-</pre>
- <p class="noindent">where the `<samp><span class="samp">=</span></samp>' can be replaced by whitespace.
-
- <p>Some options also have single letter abbreviations of the form:
-
-<pre class="example"> <var>letter</var> [<var>optional_whitespace</var> <var>value</var>]
-</pre>
- <p>Any non-ASCII characters are expected to be in the encoding
+</p>
+<div class="example">
+<pre class="example">--<var>option</var>[=<var>value</var>]
+</pre></div>
+
+<p>where the ‘<samp>=</samp>’ can be replaced by whitespace.
+</p>
+<p>Some options also have single letter abbreviations of the form:
+</p>
+<div class="example">
+<pre class="example"><var>letter</var> [<var>optional_whitespace</var> <var>value</var>]
+</pre></div>
+
+<p>Any non-ASCII characters are expected to be in the encoding
specified by the current locale.
-
- <p>To reset an option to the default value, prefix the option with a
-`<samp><span class="samp">reset-</span></samp>' and don't specify a value.
-
-<h5 class="subsubsection">4.1.1.1 Value options</h5>
+</p>
+<p>To reset an option to the default value, prefix the option with a
+‘<samp>reset-</samp>’ and don’t specify a value.
+</p>
+<a name="Value-options"></a>
+<h4 class="subsubsection">4.1.1.1 Value options</h4>
<p>To specify a value option simply specify the option with its
corresponding value. For example to set the filter mode to TeX use
-`<samp><span class="samp">--mode=tex</span></samp>'.
-
- <p>If a value option has a single letter shortcut simply specify the single
+‘<samp>--mode=tex</samp>’.
+</p>
+<p>If a value option has a single letter shortcut simply specify the single
letter shortcut with its corresponding value. For example to use a the
-accented version of the American English dictionary use `<samp><span class="samp">-d
-en_US-w_accents</span></samp>'.
-
-<h5 class="subsubsection">4.1.1.2 Boolean options</h5>
+accented version of the American English dictionary use ‘<samp>-d
+en_US-w_accents</samp>’.
+</p>
+<a name="Boolean-options"></a>
+<h4 class="subsubsection">4.1.1.2 Boolean options</h4>
<p>To enable a boolean option simply specify the option without any
-corresponding value, or prefix it with an `<samp><span class="samp">enable-</span></samp>'. For example
-to create a backup file use `<samp><span class="samp">--backup</span></samp>'. To disable a boolean
-option prefix the option name with a `<samp><span class="samp">dont-</span></samp>' or `<samp><span class="samp">disable-</span></samp>'.
-To avoid creating a backup file use `<samp><span class="samp">--dont-backup</span></samp>'. Boolean options
+corresponding value, or prefix it with an ‘<samp>enable-</samp>’. For example
+to create a backup file use ‘<samp>--backup</samp>’. To disable a boolean
+option prefix the option name with a ‘<samp>dont-</samp>’ or ‘<samp>disable-</samp>’.
+To avoid creating a backup file use ‘<samp>--dont-backup</samp>’. Boolean options
can also be set directly like a value option where the value is either
-"true" or "false", for example `<samp><span class="samp">--backup=true</span></samp>'.
-
- <p>If a boolean option has a single letter abbreviation simply give the
+"true" or "false", for example ‘<samp>--backup=true</samp>’.
+</p>
+<p>If a boolean option has a single letter abbreviation simply give the
letter corresponding to either enabling or disabling the option
without any corresponding value. For example, to consider run-together
-words valid use `<samp><span class="samp">-C</span></samp>' or to consider them invalid use
-`<samp><span class="samp">-B</span></samp>'
-
-<h5 class="subsubsection">4.1.1.3 List options</h5>
+words valid use ‘<samp>-C</samp>’ or to consider them invalid use
+‘<samp>-B</samp>’
+</p>
+<a name="List-options"></a>
+<h4 class="subsubsection">4.1.1.3 List options</h4>
<p>To add a value to the list, prefix the option name with an
-`<samp><span class="samp">add-</span></samp>' and then specify the value to add. For example, to add
-the URL filter use `<samp><span class="samp">--add-filter url</span></samp>'. To remove a value from
-a list option, prefix the option name with a `<samp><span class="samp">rem-</span></samp>' and then
+‘<samp>add-</samp>’ and then specify the value to add. For example, to add
+the URL filter use ‘<samp>--add-filter url</samp>’. To remove a value from
+a list option, prefix the option name with a ‘<samp>rem-</samp>’ and then
specify the value to remove. For example, to remove the URL filter use
-`<samp><span class="samp">--rem-filter url</span></samp>'. To remove all items from a list prefix the
-option name with a `<samp><span class="samp">clear-</span></samp>' without specify any value. For
-example, to remove all filters use `<samp><span class="samp">--clear-filter</span></samp>'.
-
- <p>A list option can also be set directly, in which case it will be set to
+‘<samp>--rem-filter url</samp>’. To remove all items from a list prefix the
+option name with a ‘<samp>clear-</samp>’ without specify any value. For
+example, to remove all filters use ‘<samp>--clear-filter</samp>’.
+</p>
+<p>A list option can also be set directly, in which case it will be set to
a single value. To directly set a list option to multiple values prefix
-the option name with a `<samp><span class="samp">lset-</span></samp>' and separate each value with a
-`<samp><span class="samp">:</span></samp>'. For example, to use the URL and TeX filter use
-`<samp><span class="samp">--lset-filter url:tex</span></samp>'.
+the option name with a ‘<samp>lset-</samp>’ and separate each value with a
+‘<samp>:</samp>’. For example, to use the URL and TeX filter use
+‘<samp>--lset-filter url:tex</samp>’.
+</p>
+<a name="Via-a-Configuration-File"></a>
<h4 class="subsection">4.1.2 Via a Configuration File</h4>
<p>Aspell can also accept options via a personal or global configuration
file. The exact files to used are specified by the options
-<samp><span class="option">per-conf</span></samp> and <samp><span class="option">conf</span></samp> respectively but the personal
-configuration file is normally <samp><span class="file">.aspell.conf</span></samp> located in the
-<samp><span class="env">HOME</span></samp> directory and the global one is normally <samp><span class="file">aspell.conf</span></samp>
-which is located in the <samp><span class="file">etc</span></samp> directory which is normally
-<samp><span class="file">/usr/etc</span></samp> or <samp><span class="file">/usr/local/etc</span></samp>. To find out the particular
-values for your particular system use <samp><span class="command">aspell dump config</span></samp>.
-
- <p>Each line of the configuration file has the format:
-
-<pre class="example"> <var>option</var> [<var>value</var>]
-</pre>
- <p>There may be any number of spaces between the option and the value
-however it can only be spaces, i.e. there is no `<samp><span class="samp">=</span></samp>' between the
-option name and the value and there are no preceding `<samp><span class="samp">--</span></samp>' as
+<samp>per-conf</samp> and <samp>conf</samp> respectively but the personal
+configuration file is normally <samp>.aspell.conf</samp> located in the
+<code>HOME</code> directory and the global one is normally <samp>aspell.conf</samp>
+which is located in the <samp>etc</samp> directory which is normally
+<samp>/usr/etc</samp> or <samp>/usr/local/etc</samp>. To find out the particular
+values for your particular system use <code>aspell dump config</code>.
+</p>
+<p>Each line of the configuration file has the format:
+</p>
+<div class="example">
+<pre class="example"><var>option</var> [<var>value</var>]
+</pre></div>
+
+<p>There may be any number of spaces between the option and the value
+however it can only be spaces, i.e. there is no ‘<samp>=</samp>’ between the
+option name and the value and there are no preceding ‘<samp>--</samp>’ as
used on the command line.
-
- <p>Comments may also be included by preceding them with a `<samp><span class="samp">#</span></samp>' as
-anything from a `<samp><span class="samp">#</span></samp>' to a newline is ignored. Blank lines are also
+</p>
+<p>Comments may also be included by preceding them with a ‘<samp>#</samp>’ as
+anything from a ‘<samp>#</samp>’ to a newline is ignored. Blank lines are also
allowed.
-
- <p>To include a literal `<samp><span class="samp">#</span></samp>' use `<samp><span class="samp">\#</span></samp>'. To include a literal
-`<samp><span class="samp">\</span></samp>' use `<samp><span class="samp">\\</span></samp>'. Any other non-alpha character can also be
-protected by a `<samp><span class="samp">\</span></samp>' if necessary.
-
- <p>Any non-ASCII characters are expected to be in UTF-8.
-
- <p>To reset an option to the default value prefix the option with a
-`<samp><span class="samp">reset-</span></samp>' and don't specify a value.
-
- <p>Values set in the personal configuration file override those in the
+</p>
+<p>To include a literal ‘<samp>#</samp>’ use ‘<samp>\#</samp>’. To include a literal
+‘<samp>\</samp>’ use ‘<samp>\\</samp>’. Any other non-alpha character can also be
+protected by a ‘<samp>\</samp>’ if necessary.
+</p>
+<p>Any non-ASCII characters are expected to be in UTF-8.
+</p>
+<p>To reset an option to the default value prefix the option with a
+‘<samp>reset-</samp>’ and don’t specify a value.
+</p>
+<p>Values set in the personal configuration file override those in the
global file. Options specified at either the command line or via an
environment variable override those specified by either configuration
file.
+</p>
+<blockquote>
+<p><b>Note:</b> Filters and corresponding options also may be assembled
+inside a special meta filter file named <samp><var>metafilter</var>.flt</samp>. A
+filter has to be loaded via adding a <code>add-filter <var>filtername</var></code>
+line to the meta filter file before its options may be specified.
+</p></blockquote>
- <blockquote>
-<b>Note:</b> Filters and corresponding options also may be assembled
-inside a special meta filter file named <samp><var>metafilter</var><span class="file">.flt</span></samp>. A
-filter has to be loaded via adding a <code>add-filter </code><var>filtername</var>
-line to the meta filter file before its options may be specified.
-</blockquote>
-
-<h5 class="subsubsection">4.1.2.1 Value options</h5>
+<a name="Value-options-1"></a>
+<h4 class="subsubsection">4.1.2.1 Value options</h4>
<p>To specify a value option simply include the option followed by the
corresponding value. For example to set the default language to
-German use <samp><span class="option">lang german</span></samp>.
-
-<h5 class="subsubsection">4.1.2.2 Boolean options</h5>
+German use <samp>lang german</samp>.
+</p>
+<a name="Boolean-options-1"></a>
+<h4 class="subsubsection">4.1.2.2 Boolean options</h4>
<p>To specify a boolean option simply include the option followed by a
-`<samp><span class="samp">true</span></samp>' to enable it or a `<samp><span class="samp">false</span></samp>' to disable it. For example
-to allow run-together words use `<samp><span class="samp">run-together true</span></samp>'.
-
-<h5 class="subsubsection">4.1.2.3 List options</h5>
+‘<samp>true</samp>’ to enable it or a ‘<samp>false</samp>’ to disable it. For example
+to allow run-together words use ‘<samp>run-together true</samp>’.
+</p>
+<a name="List-options-1"></a>
+<h4 class="subsubsection">4.1.2.3 List options</h4>
<p>To add a value to the list, prefix the option name with an
-`<samp><span class="samp">add-</span></samp>' and then specify the value to add. For example to add
-the URL filter use `<samp><span class="samp">add-filter url</span></samp>'. To remove a value from
-a list option prefix the option name with a `<samp><span class="samp">rem-</span></samp>' and then
+‘<samp>add-</samp>’ and then specify the value to add. For example to add
+the URL filter use ‘<samp>add-filter url</samp>’. To remove a value from
+a list option prefix the option name with a ‘<samp>rem-</samp>’ and then
specify the value to remove. For example, to remove the URL filter use
-`<samp><span class="samp">rem-filter url</span></samp>'. To remove all items from a list prefix the
-option name with a `<samp><span class="samp">clear-</span></samp>' without specifying any value. For
-example, to remove all filters use `<samp><span class="samp">clear-filter</span></samp>'.
-
- <p>A list option can also be set directly, in which case it will be set to
+‘<samp>rem-filter url</samp>’. To remove all items from a list prefix the
+option name with a ‘<samp>clear-</samp>’ without specifying any value. For
+example, to remove all filters use ‘<samp>clear-filter</samp>’.
+</p>
+<p>A list option can also be set directly, in which case it will be set to
a single value. To directly set a list option to multiple values prefix
-the option name with a `<samp><span class="samp">lset-</span></samp>' and separate each value with a
-`<samp><span class="samp">:</span></samp>'. For example, to use the URL and TeX filter use
-`<samp><span class="samp">lset-filter url:tex</span></samp>'. To include a literal `<samp><span class="samp">:</span></samp>' use
-`<samp><span class="samp">\:</span></samp>'.
-
+the option name with a ‘<samp>lset-</samp>’ and separate each value with a
+‘<samp>:</samp>’. For example, to use the URL and TeX filter use
+‘<samp>lset-filter url:tex</samp>’. To include a literal ‘<samp>:</samp>’ use
+‘<samp>\:</samp>’.
+</p>
+<a name="Setting-Options-via-an-Environment-Variable"></a>
<h4 class="subsection">4.1.3 Setting Options via an Environment Variable</h4>
-<p>The environment variable <samp><span class="env">ASPELL_CONF</span></samp> may also be used and it
+<p>The environment variable <code>ASPELL_CONF</code> may also be used and it
overrides any options set in the configuration file. The format of
the string is exactly the same as the configuration file except that
-semicolons (`<samp><span class="samp">;</span></samp>') are used instead of newlines.
+semicolons (‘<samp>;</samp>’) are used instead of newlines.
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="The-Options.html#The-Options" accesskey="n" rel="next">The Options</a>, Up: <a href="Customizing-Aspell.html#Customizing-Aspell" accesskey="u" rel="up">Customizing Aspell</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Spellchecking Individual Files - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Basic-Usage.html#Basic-Usage" title="Basic Usage">
-<link rel="next" href="Using-Aspell-as-a-Replacement-for-Ispell.html#Using-Aspell-as-a-Replacement-for-Ispell" title="Using Aspell as a Replacement for Ispell">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Spellchecking Individual Files</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Spellchecking Individual Files">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Basic-Usage.html#Basic-Usage" rel="up" title="Basic Usage">
+<link href="Using-Aspell-as-a-Replacement-for-Ispell.html#Using-Aspell-as-a-Replacement-for-Ispell" rel="next" title="Using Aspell as a Replacement for Ispell">
+<link href="Basic-Usage.html#Basic-Usage" rel="prev" title="Basic Usage">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Spellchecking-Individual-Files"></a>
-Next: <a rel="next" accesskey="n" href="Using-Aspell-as-a-Replacement-for-Ispell.html#Using-Aspell-as-a-Replacement-for-Ispell">Using Aspell as a Replacement for Ispell</a>,
-Up: <a rel="up" accesskey="u" href="Basic-Usage.html#Basic-Usage">Basic Usage</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Using-Aspell-as-a-Replacement-for-Ispell.html#Using-Aspell-as-a-Replacement-for-Ispell" accesskey="n" rel="next">Using Aspell as a Replacement for Ispell</a>, Up: <a href="Basic-Usage.html#Basic-Usage" accesskey="u" rel="up">Basic Usage</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Spellchecking-Individual-Files-1"></a>
<h3 class="section">3.1 Spellchecking Individual Files</h3>
<p>To use Aspell to spellcheck a file use:
+</p>
+<div class="example">
+<pre class="example">aspell check [<var>options</var>] <var>filename</var>
+</pre></div>
-<pre class="example"> aspell check [<var>options</var>] <var>filename</var>
-</pre>
- <p class="noindent">at the command line where <var>filename</var> is the file you want to
-check and <var>options</var> is any number of optional options. Some of
+<p>at the command line where <code><var>filename</var></code> is the file you want to
+check and <code><var>options</var></code> is any number of optional options. Some of
the more useful ones include:
-
- <dl>
-<dt><b>–mode=</b><var>mode</var><dd>the mode to use when checking files. The available modes are
+</p>
+<dl compact="compact">
+<dt><b>–mode=<var>mode</var></b></dt>
+<dd><p>the mode to use when checking files. The available modes are
<code>none</code>, <code>url</code>, <code>email</code>, <code>sgml</code>, <code>tex</code>,
<code>texinfo</code>, <code>nroff</code>, among others. For more information on the
various modes see <a href="Notes-on-Various-Filters-and-Filter-Modes.html#Notes-on-Various-Filters-and-Filter-Modes">Notes on Various Filters and Filter Modes</a>.
-
- <br><dt><b>–dont-backup</b><dd>don't create a backup file. Normally, if there are any corrections
-the Aspell utility will append <samp><span class="file">.bak</span></samp> to the existing file name
+</p>
+</dd>
+<dt><b>–dont-backup</b></dt>
+<dd><p>don’t create a backup file. Normally, if there are any corrections
+the Aspell utility will append <samp>.bak</samp> to the existing file name
and then create a new file with corrections made during spell checking.
-
- <br><dt><b>–sug-mode=</b><var>mode</var><dd>the suggestion mode to use where mode is one of <code>ultra</code>,
+</p>
+</dd>
+<dt><b>–sug-mode=<var>mode</var></b></dt>
+<dd><p>the suggestion mode to use where mode is one of <code>ultra</code>,
<code>fast</code>, <code>normal</code>, or <code>bad-spellers</code>. For more
information on these modes see <a href="Notes-on-the-Different-Suggestion-Modes.html#Notes-on-the-Different-Suggestion-Modes">Notes on the Different Suggestion Modes</a>.
-
- <br><dt><b>–lang=</b><var>name</var><b>/-l </b><var>name</var><dd>the language the document is written in. The default depends on the
+</p>
+</dd>
+<dt><b>–lang=<var>name</var>/-l <var>name</var></b></dt>
+<dd><p>the language the document is written in. The default depends on the
current locale.
-
- <br><dt><b>–encoding=</b><var>name</var><dd>encoding the document is expected to be in. The default depends on the
+</p>
+</dd>
+<dt><b>–encoding=<var>name</var></b></dt>
+<dd><p>encoding the document is expected to be in. The default depends on the
current locale.
-
- <br><dt><b>–master=</b><var>name</var><b>/-d </b><var>name</var><dd>the main dictionary to use.
-
- <br><dt><b>–keymapping=</b><var>name</var><dd>the keymapping to use. Either <samp><span class="option">aspell</span></samp> for the default mapping
-or <samp><span class="option">ispell</span></samp> to use the same mapping that the Ispell utility
-uses.
+</p>
+</dd>
+<dt><b>–master=<var>name</var>/-d <var>name</var></b></dt>
+<dd><p>the main dictionary to use.
+</p>
+</dd>
+<dt><b>–keymapping=<var>name</var></b></dt>
+<dd><p>the keymapping to use. Either <samp>aspell</samp> for the default mapping
+or <samp>ispell</samp> to use the same mapping that the Ispell utility
+uses.
+</p></dd>
</dl>
- <p>For more information on the available options, please see
+<p>For more information on the available options, please see
<a href="Customizing-Aspell.html#Customizing-Aspell">Customizing Aspell</a>.
-
- <p>For example to check the file <samp><span class="file">foo.txt</span></samp>:
-
-<pre class="example"> aspell check foo.txt
-</pre>
- <p class="noindent">and to check the file <samp><span class="file">foo.txt</span></samp> using the <samp><span class="option">bad-spellers</span></samp>
+</p>
+<p>For example to check the file <samp>foo.txt</samp>:
+</p>
+<div class="example">
+<pre class="example">aspell check foo.txt
+</pre></div>
+
+<p>and to check the file <samp>foo.txt</samp> using the <samp>bad-spellers</samp>
suggestion mode and the American English dictionary:
+</p>
+<div class="example">
+<pre class="example">aspell check --sug-mode=bad-spellers -d en_US foo.txt
+</pre></div>
-<pre class="example"> aspell check --sug-mode=bad-spellers -d en_US foo.txt
-</pre>
- <p>If the <samp><span class="option">mode</span></samp> option is not given, then Aspell will use the
+<p>If the <samp>mode</samp> option is not given, then Aspell will use the
extension of the file to determine the current mode. If the extension
-is <samp><span class="file">.tex</span></samp>, then <samp><span class="option">tex</span></samp> mode will be used, if the extension
-is <samp><span class="file">.html</span></samp>, <samp><span class="file">.htm</span></samp>, <samp><span class="file">.php</span></samp>, or <samp><span class="file">.sgml</span></samp> it will
-check the file in <samp><span class="option">sgml</span></samp> mode, otherwise it will use
-<samp><span class="option">url</span></samp> mode.
-
- <p>For more information on the various modes that can be used, see
+is <samp>.tex</samp>, then <samp>tex</samp> mode will be used, if the extension
+is <samp>.html</samp>, <samp>.htm</samp>, <samp>.php</samp>, or <samp>.sgml</samp> it will
+check the file in <samp>sgml</samp> mode, otherwise it will use
+<samp>url</samp> mode.
+</p>
+<p>For more information on the various modes that can be used, see
<a href="Notes-on-Various-Filters-and-Filter-Modes.html#Notes-on-Various-Filters-and-Filter-Modes">Notes on Various Filters and Filter Modes</a>.
-
- <p>If Aspell was compiled with curses support and the <samp><span class="env">TERM</span></samp>
+</p>
+<p>If Aspell was compiled with curses support and the <code>TERM</code>
environment variable is set to a capable terminal type then Aspell
will use a nice full screen interface, otherwise it will use a
simpler “dumb” terminal interface where the misspelled word is
-surrounded by two '*'. In either case the interface should be self
+surrounded by two ’*’. In either case the interface should be self
explanatory.
-
- <p>If Aspell is compiled with a version of the curses library that support
+</p>
+<p>If Aspell is compiled with a version of the curses library that support
wide characters then Aspell can also check UTF-8 text. Furthermore, the
document will be displayed in the encoding defined by the current
locale. This encoding does not necessarily have to be the same encoding
that the document is in. This means that is is possible to check an
8-bit encoding such as ISO-8859-1 on an UTF-8 terminal. To do so
-simply set the <samp><span class="option">encoding</span></samp> option to `<samp><span class="samp">iso-8859-1</span></samp>'.
+simply set the <samp>encoding</samp> option to ‘<samp>iso-8859-1</samp>’.
Furthermore it is also possible to check an UTF-8 document on an 8-bit
terminal provided that the document can be successfully converted into
that encoding.
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Using-Aspell-as-a-Replacement-for-Ispell.html#Using-Aspell-as-a-Replacement-for-Ispell" accesskey="n" rel="next">Using Aspell as a Replacement for Ispell</a>, Up: <a href="Basic-Usage.html#Basic-Usage" accesskey="u" rel="up">Basic Usage</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Support - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="prev" href="Introduction.html#Introduction" title="Introduction">
-<link rel="next" href="Basic-Usage.html#Basic-Usage" title="Basic Usage">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Support</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Support">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Basic-Usage.html#Basic-Usage" rel="next" title="Basic Usage">
+<link href="Introduction.html#Introduction" rel="prev" title="Introduction">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Support"></a>
-Next: <a rel="next" accesskey="n" href="Basic-Usage.html#Basic-Usage">Basic Usage</a>,
-Previous: <a rel="previous" accesskey="p" href="Introduction.html#Introduction">Introduction</a>,
-Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Basic-Usage.html#Basic-Usage" accesskey="n" rel="next">Basic Usage</a>, Previous: <a href="Introduction.html#Introduction" accesskey="p" rel="prev">Introduction</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Support-1"></a>
<h2 class="chapter">2 Support</h2>
-<p>Support for Aspell can be found on the Aspell mailing lists.
+<p>Support for Aspell can be found on the Aspell mailing lists.
Instructions for joining the various mailing lists (and an archive of
them) can be found off the Aspell home page at
<a href="http://aspell.net">http://aspell.net</a>.
+</p>
+<p>Bug reports can also be submitted via GitHub at
+<a href="https://github.com/GNUAspell/aspell/">https://github.com/GNUAspell/aspell/</a>.
+</p>
- <p>Bug reports should be submitted via the Sourceforge Tracker at
-<a href="http://sourceforge.net/tracker/?group_id=245">http://sourceforge.net/tracker/?group_id=245</a> rather than
-being posted to the mailing lists.
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Supported - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Languages-Which-Aspell-can-Support.html#Languages-Which-Aspell-can-Support" title="Languages Which Aspell can Support">
-<link rel="next" href="Unsupported.html#Unsupported" title="Unsupported">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Supported</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Supported">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Languages-Which-Aspell-can-Support.html#Languages-Which-Aspell-can-Support" rel="up" title="Languages Which Aspell can Support">
+<link href="Unsupported.html#Unsupported" rel="next" title="Unsupported">
+<link href="Languages-Which-Aspell-can-Support.html#Languages-Which-Aspell-can-Support" rel="prev" title="Languages Which Aspell can Support">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Supported"></a>
-Next: <a rel="next" accesskey="n" href="Unsupported.html#Unsupported">Unsupported</a>,
-Up: <a rel="up" accesskey="u" href="Languages-Which-Aspell-can-Support.html#Languages-Which-Aspell-can-Support">Languages Which Aspell can Support</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Unsupported.html#Unsupported" accesskey="n" rel="next">Unsupported</a>, Up: <a href="Languages-Which-Aspell-can-Support.html#Languages-Which-Aspell-can-Support" accesskey="u" rel="up">Languages Which Aspell can Support</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Supported-1"></a>
<h3 class="appendixsec">B.1 Supported</h3>
<p>Aspell 0.60 should be able to support the following languages:
+</p>
+<table>
+<tr><td width="5%"><b>Code</b></td><td width="31%"><b>Language Name</b></td><td width="28%"><b>Script</b></td><td width="20%"><b>Dictionary Available</b></td><td width="15%"><b>Gettext Translation</b></td></tr>
+<tr><td width="5%"></td></tr>
+<tr><td width="5%">aa</td><td width="31%">Afar</td><td width="28%">Latin</td><td width="20%">-</td><td width="15%">-</td></tr>
+<tr><td width="5%">af</td><td width="31%">Afrikaans</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">-</td></tr>
+<tr><td width="5%">ak</td><td width="31%">Akan</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">am</td><td width="31%">Amharic</td><td width="28%">Ethiopic</td><td width="20%">0.60</td><td width="15%">-</td></tr>
+<tr><td width="5%">ar</td><td width="31%">Arabic</td><td width="28%">Arabic</td><td width="20%">0.60</td><td width="15%">-</td></tr>
+<tr><td width="5%">as</td><td width="31%">Assamese</td><td width="28%">Bengali</td><td width="20%">-</td><td width="15%">-</td></tr>
+<tr><td width="5%">av</td><td width="31%">Avar</td><td width="28%">Cyrillic</td><td width="20%">-</td><td width="15%">-</td></tr>
+<tr><td width="5%">ay</td><td width="31%">Aymara</td><td width="28%">Latin</td><td width="20%">-</td><td width="15%">-</td></tr>
+<tr><td width="5%">az</td><td width="31%">Azerbaijani</td><td width="28%">Cyrillic, Latin</td><td width="20%">0.60</td><td width="15%">-</td></tr>
+<tr><td width="5%"></td></tr>
+<tr><td width="5%">ba</td><td width="31%">Bashkir</td><td width="28%">Cyrillic</td><td width="20%">-</td><td width="15%">-</td></tr>
+<tr><td width="5%">be</td><td width="31%">Belarusian</td><td width="28%">Cyrillic</td><td width="20%">0.50</td><td width="15%">Incomplete</td></tr>
+<tr><td width="5%">bg</td><td width="31%">Bulgarian</td><td width="28%">Cyrillic</td><td width="20%">0.50</td><td width="15%">-</td></tr>
+<tr><td width="5%">bh</td><td width="31%">Bihari</td><td width="28%">Devanagari</td><td width="20%">-</td><td width="15%">-</td></tr>
+<tr><td width="5%">bm</td><td width="31%">Bambara</td><td width="28%">Latin</td><td width="20%">-</td><td width="15%">-</td></tr>
+<tr><td width="5%">bn</td><td width="31%">Bengali</td><td width="28%">Bengali</td><td width="20%">0.60</td><td width="15%">-</td></tr>
+<tr><td width="5%">bo</td><td width="31%">Tibetan</td><td width="28%">Tibetan</td><td width="20%">-</td><td width="15%">-</td></tr>
+<tr><td width="5%">br</td><td width="31%">Breton</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">-</td></tr>
+<tr><td width="5%">bs</td><td width="31%">Bosnian</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%"></td></tr>
+<tr><td width="5%">ca</td><td width="31%">Catalan / Valencian</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">Yes</td></tr>
+<tr><td width="5%">ce</td><td width="31%">Chechen</td><td width="28%">Cyrillic</td><td width="20%">-</td><td width="15%">-</td></tr>
+<tr><td width="5%">co</td><td width="31%">Corsican</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">cop</td><td width="31%">Coptic</td><td width="28%">Greek</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">cs</td><td width="31%">Czech</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">Yes</td></tr>
+<tr><td width="5%">csb</td><td width="31%">Kashubian</td><td width="28%">Latin</td><td width="20%">0.60</td><td width="15%">-</td></tr>
+<tr><td width="5%">cv</td><td width="31%">Chuvash</td><td width="28%">Cyrillic</td><td width="20%">-</td><td width="15%">-</td></tr>
+<tr><td width="5%">cy</td><td width="31%">Welsh</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">-</td></tr>
+<tr><td width="5%"></td></tr>
+<tr><td width="5%">da</td><td width="31%">Danish</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">Incomplete</td></tr>
+<tr><td width="5%">de</td><td width="31%">German</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">Yes</td></tr>
+<tr><td width="5%">dyu</td><td width="31%">Dyula</td><td width="28%">-</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%"></td></tr>
+<tr><td width="5%">ee</td><td width="31%">Ewe</td><td width="28%">Latin</td><td width="20%">-</td><td width="15%">-</td></tr>
+<tr><td width="5%">el</td><td width="31%">Greek</td><td width="28%">Greek</td><td width="20%">0.50</td><td width="15%">-</td></tr>
+<tr><td width="5%">en</td><td width="31%">English</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">Yes</td></tr>
+<tr><td width="5%">eo</td><td width="31%">Esperanto</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">-</td></tr>
+<tr><td width="5%">es</td><td width="31%">Spanish</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">Incomplete</td></tr>
+<tr><td width="5%">et</td><td width="31%">Estonian</td><td width="28%">Latin</td><td width="20%">0.60</td><td width="15%">-</td></tr>
+<tr><td width="5%">eu</td><td width="31%">Basque</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%"></td></tr>
+<tr><td width="5%">fa</td><td width="31%">Persian</td><td width="28%">Arabic</td><td width="20%">0.60</td><td width="15%">-</td></tr>
+<tr><td width="5%">ff</td><td width="31%">Fulah</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">fi</td><td width="31%">Finnish</td><td width="28%">Latin</td><td width="20%">0.60</td><td width="15%">-</td></tr>
+<tr><td width="5%">fj</td><td width="31%">Fijian</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">fo</td><td width="31%">Faroese</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">-</td></tr>
+<tr><td width="5%">fr</td><td width="31%">French</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">Yes</td></tr>
+<tr><td width="5%">fur</td><td width="31%">Friulian</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">fy</td><td width="31%">Frisian</td><td width="28%">Latin</td><td width="20%">0.60</td><td width="15%">-</td></tr>
+<tr><td width="5%"></td></tr>
+<tr><td width="5%">ga</td><td width="31%">Irish</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">Yes</td></tr>
+<tr><td width="5%">gd</td><td width="31%">Scottish Gaelic</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">-</td></tr>
+<tr><td width="5%">gl</td><td width="31%">Gallegan</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">-</td></tr>
+<tr><td width="5%">gn</td><td width="31%">Guarani</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">gu</td><td width="31%">Gujarati</td><td width="28%">Gujarati</td><td width="20%">0.60</td><td width="15%">-</td></tr>
+<tr><td width="5%">gv</td><td width="31%">Manx Gaelic</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">-</td></tr>
+<tr><td width="5%"></td></tr>
+<tr><td width="5%">ha</td><td width="31%">Hausa</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">he</td><td width="31%">Hebrew</td><td width="28%">Hebrew</td><td width="20%">0.60</td><td width="15%">-</td></tr>
+<tr><td width="5%">hi</td><td width="31%">Hindi</td><td width="28%">Devanagari</td><td width="20%">0.60</td><td width="15%">-</td></tr>
+<tr><td width="5%">hil</td><td width="31%">Hiligaynon</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">-</td></tr>
+<tr><td width="5%">ho</td><td width="31%">Hiri Motu</td><td width="28%">Latin</td><td width="20%">-</td><td width="15%">-</td></tr>
+<tr><td width="5%">hr</td><td width="31%">Croatian</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">-</td></tr>
+<tr><td width="5%">hsb</td><td width="31%">Upper Sorbian</td><td width="28%">Latin</td><td width="20%">0.60</td><td width="15%">-</td></tr>
+<tr><td width="5%">ht</td><td width="31%">Haitian Creole</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">hu</td><td width="31%">Hungarian</td><td width="28%">Latin</td><td width="20%">0.60</td><td width="15%">-</td></tr>
+<tr><td width="5%">hy</td><td width="31%">Armenian</td><td width="28%">Armenian</td><td width="20%">0.60</td><td width="15%">-</td></tr>
+<tr><td width="5%">hz</td><td width="31%">Herero</td><td width="28%">Latin</td><td width="20%">-</td><td width="15%">-</td></tr>
+<tr><td width="5%"></td></tr>
+<tr><td width="5%">ia</td><td width="31%">Interlingua (IALA)</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">-</td></tr>
+<tr><td width="5%">id</td><td width="31%">Indonesian</td><td width="28%">Arabic, Latin</td><td width="20%">0.50</td><td width="15%">-</td></tr>
+<tr><td width="5%">ig</td><td width="31%">Igbo</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">ii</td><td width="31%">Sichuan Yi</td><td width="28%">Yi</td><td width="20%">-</td><td width="15%">-</td></tr>
+<tr><td width="5%">io</td><td width="31%">Ido</td><td width="28%">Latin</td><td width="20%">-</td><td width="15%">-</td></tr>
+<tr><td width="5%">is</td><td width="31%">Icelandic</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">-</td></tr>
+<tr><td width="5%">it</td><td width="31%">Italian</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">Yes</td></tr>
+<tr><td width="5%"></td></tr>
+<tr><td width="5%">jv</td><td width="31%">Javanese</td><td width="28%">Javanese, Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%"></td></tr>
+<tr><td width="5%">ka</td><td width="31%">Georgian</td><td width="28%">Georgian</td><td width="20%">-</td><td width="15%">-</td></tr>
+<tr><td width="5%">kg</td><td width="31%">Kongo</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">ki</td><td width="31%">Kikuyu / Gikuyu</td><td width="28%">Latin</td><td width="20%">-</td><td width="15%">-</td></tr>
+<tr><td width="5%">kj</td><td width="31%">Kwanyama</td><td width="28%">Latin</td><td width="20%">-</td><td width="15%">-</td></tr>
+<tr><td width="5%">kk</td><td width="31%">Kazakh</td><td width="28%">Cyrillic</td><td width="20%">-</td><td width="15%">-</td></tr>
+<tr><td width="5%">km</td><td width="31%">Khmer</td><td width="28%">Khmer</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">kn</td><td width="31%">Kannada</td><td width="28%">Kannada</td><td width="20%">Planned</td><td width="15%">-</td></tr>
+<tr><td width="5%">kr</td><td width="31%">Kanuri</td><td width="28%">Latin</td><td width="20%">-</td><td width="15%">-</td></tr>
+<tr><td width="5%">ks</td><td width="31%">Kashmiri</td><td width="28%">Arabic, Devanagari</td><td width="20%">-</td><td width="15%">-</td></tr>
+<tr><td width="5%">ku</td><td width="31%">Kurdish</td><td width="28%">Arabic, Cyrillic, Latin</td><td width="20%">0.50</td><td width="15%">-</td></tr>
+<tr><td width="5%">kv</td><td width="31%">Komi</td><td width="28%">Cyrillic</td><td width="20%">-</td><td width="15%">-</td></tr>
+<tr><td width="5%">ky</td><td width="31%">Kirghiz</td><td width="28%">Arabic, Cyrillic, Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%"></td></tr>
+<tr><td width="5%">la</td><td width="31%">Latin</td><td width="28%">Latin</td><td width="20%">0.60</td><td width="15%">-</td></tr>
+<tr><td width="5%">lb</td><td width="31%">Luxembourgish</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">lg</td><td width="31%">Ganda</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">li</td><td width="31%">Limburgian</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">ln</td><td width="31%">Lingala</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">lt</td><td width="31%">Lithuanian</td><td width="28%">Latin</td><td width="20%">0.60</td><td width="15%">-</td></tr>
+<tr><td width="5%">lu</td><td width="31%">Luba-Katanga</td><td width="28%">Latin</td><td width="20%">-</td><td width="15%">-</td></tr>
+<tr><td width="5%">lv</td><td width="31%">Latvian</td><td width="28%">Latin</td><td width="20%">0.60</td><td width="15%">-</td></tr>
+<tr><td width="5%"></td></tr>
+<tr><td width="5%">mg</td><td width="31%">Malagasy</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">-</td></tr>
+<tr><td width="5%">mi</td><td width="31%">Maori</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">-</td></tr>
+<tr><td width="5%">mk</td><td width="31%">Macedonian</td><td width="28%">Cyrillic</td><td width="20%">0.50</td><td width="15%">-</td></tr>
+<tr><td width="5%">ml</td><td width="31%">Malayalam</td><td width="28%">Latin, Malayalam</td><td width="20%">0.60</td><td width="15%">-</td></tr>
+<tr><td width="5%">mn</td><td width="31%">Mongolian</td><td width="28%">Cyrillic, Mongolian</td><td width="20%">0.60</td><td width="15%">Incomplete</td></tr>
+<tr><td width="5%">mo</td><td width="31%">Moldavian</td><td width="28%">Cyrillic</td><td width="20%">-</td><td width="15%">-</td></tr>
+<tr><td width="5%">mos</td><td width="31%">Mossi</td><td width="28%">-</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">mr</td><td width="31%">Marathi</td><td width="28%">Devanagari</td><td width="20%">0.60</td><td width="15%">-</td></tr>
+<tr><td width="5%">ms</td><td width="31%">Malay</td><td width="28%">Arabic, Latin</td><td width="20%">0.50</td><td width="15%">-</td></tr>
+<tr><td width="5%">mt</td><td width="31%">Maltese</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">-</td></tr>
+<tr><td width="5%">my</td><td width="31%">Burmese</td><td width="28%">Myanmar</td><td width="20%">-</td><td width="15%">-</td></tr>
+<tr><td width="5%"></td></tr>
+<tr><td width="5%">nb</td><td width="31%">Norwegian Bokmal</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">-</td></tr>
+<tr><td width="5%">nd</td><td width="31%">North Ndebele</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">nds</td><td width="31%">Low Saxon</td><td width="28%">Latin</td><td width="20%">0.60</td><td width="15%">-</td></tr>
+<tr><td width="5%">ne</td><td width="31%">Nepali</td><td width="28%">Devanagari</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">ng</td><td width="31%">Ndonga</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">nl</td><td width="31%">Dutch</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">Yes</td></tr>
+<tr><td width="5%">nn</td><td width="31%">Norwegian Nynorsk</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">-</td></tr>
+<tr><td width="5%">nr</td><td width="31%">South Ndebele</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">nso</td><td width="31%">Northern Sotho</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">nv</td><td width="31%">Navajo</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">ny</td><td width="31%">Nyanja</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">-</td></tr>
+<tr><td width="5%"></td></tr>
+<tr><td width="5%">oc</td><td width="31%">Occitan / Provencal</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">om</td><td width="31%">Oromo</td><td width="28%">Ethiopic, Latin</td><td width="20%">-</td><td width="15%">-</td></tr>
+<tr><td width="5%">or</td><td width="31%">Oriya</td><td width="28%">Oriya</td><td width="20%">0.60</td><td width="15%">-</td></tr>
+<tr><td width="5%">os</td><td width="31%">Ossetic</td><td width="28%">Cyrillic</td><td width="20%">-</td><td width="15%">-</td></tr>
+<tr><td width="5%"></td></tr>
+<tr><td width="5%">pa</td><td width="31%">Punjabi</td><td width="28%">Gurmukhi</td><td width="20%">0.60</td><td width="15%">-</td></tr>
+<tr><td width="5%">pl</td><td width="31%">Polish</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">-</td></tr>
+<tr><td width="5%">ps</td><td width="31%">Pushto</td><td width="28%">Arabic</td><td width="20%">-</td><td width="15%">-</td></tr>
+<tr><td width="5%">pt</td><td width="31%">Portuguese</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">Incomplete</td></tr>
+<tr><td width="5%"></td></tr>
+<tr><td width="5%">qu</td><td width="31%">Quechua</td><td width="28%">Latin</td><td width="20%">0.60</td><td width="15%">-</td></tr>
+<tr><td width="5%"></td></tr>
+<tr><td width="5%">rn</td><td width="31%">Rundi</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">ro</td><td width="31%">Romanian</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">Incomplete</td></tr>
+<tr><td width="5%">ru</td><td width="31%">Russian</td><td width="28%">Cyrillic</td><td width="20%">0.50</td><td width="15%">Yes</td></tr>
+<tr><td width="5%">rw</td><td width="31%">Kinyarwanda</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">-</td></tr>
+<tr><td width="5%"></td></tr>
+<tr><td width="5%">sc</td><td width="31%">Sardinian</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">-</td></tr>
+<tr><td width="5%">sd</td><td width="31%">Sindhi</td><td width="28%">Arabic</td><td width="20%">-</td><td width="15%">-</td></tr>
+<tr><td width="5%">sg</td><td width="31%">Sango</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">si</td><td width="31%">Sinhalese</td><td width="28%">Sinhala</td><td width="20%">-</td><td width="15%">-</td></tr>
+<tr><td width="5%">sk</td><td width="31%">Slovak</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">Yes</td></tr>
+<tr><td width="5%">sl</td><td width="31%">Slovenian</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">Yes</td></tr>
+<tr><td width="5%">sm</td><td width="31%">Samoan</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">sn</td><td width="31%">Shona</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">so</td><td width="31%">Somali</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">sq</td><td width="31%">Albanian</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">sr</td><td width="31%">Serbian</td><td width="28%">Cyrillic, Latin</td><td width="20%">0.60</td><td width="15%">Incomplete</td></tr>
+<tr><td width="5%">ss</td><td width="31%">Swati</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">st</td><td width="31%">Southern Sotho</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">su</td><td width="31%">Sundanese</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">sv</td><td width="31%">Swedish</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">Incomplete</td></tr>
+<tr><td width="5%">sw</td><td width="31%">Swahili</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">-</td></tr>
+<tr><td width="5%"></td></tr>
+<tr><td width="5%">ta</td><td width="31%">Tamil</td><td width="28%">Tamil</td><td width="20%">0.60</td><td width="15%">-</td></tr>
+<tr><td width="5%">te</td><td width="31%">Telugu</td><td width="28%">Telugu</td><td width="20%">0.60</td><td width="15%">-</td></tr>
+<tr><td width="5%">tet</td><td width="31%">Tetum</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">-</td></tr>
+<tr><td width="5%">tg</td><td width="31%">Tajik</td><td width="28%">Arabic, Cyrillic, Latin</td><td width="20%">Maybe</td><td width="15%">Incomplete</td></tr>
+<tr><td width="5%">ti</td><td width="31%">Tigrinya</td><td width="28%">Ethiopic</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">tk</td><td width="31%">Turkmen</td><td width="28%">Arabic, Cyrillic, Latin</td><td width="20%">0.50</td><td width="15%">-</td></tr>
+<tr><td width="5%">tl</td><td width="31%">Tagalog</td><td width="28%">Latin, Tagalog</td><td width="20%">0.50</td><td width="15%">-</td></tr>
+<tr><td width="5%">tn</td><td width="31%">Tswana</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">-</td></tr>
+<tr><td width="5%">to</td><td width="31%">Tonga</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">tr</td><td width="31%">Turkish</td><td width="28%">Arabic, Latin</td><td width="20%">0.50</td><td width="15%">-</td></tr>
+<tr><td width="5%">ts</td><td width="31%">Tsonga</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">tt</td><td width="31%">Tatar</td><td width="28%">Cyrillic</td><td width="20%">-</td><td width="15%">-</td></tr>
+<tr><td width="5%">tw</td><td width="31%">Twi</td><td width="28%">Latin</td><td width="20%">-</td><td width="15%">-</td></tr>
+<tr><td width="5%">ty</td><td width="31%">Tahitian</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%"></td></tr>
+<tr><td width="5%">ug</td><td width="31%">Uighur</td><td width="28%">Arabic, Cyrillic, Latin</td><td width="20%">-</td><td width="15%">-</td></tr>
+<tr><td width="5%">uk</td><td width="31%">Ukrainian</td><td width="28%">Cyrillic</td><td width="20%">0.50</td><td width="15%">Yes</td></tr>
+<tr><td width="5%">ur</td><td width="31%">Urdu</td><td width="28%">Arabic</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">uz</td><td width="31%">Uzbek</td><td width="28%">Cyrillic, Latin</td><td width="20%">0.60</td><td width="15%">-</td></tr>
+<tr><td width="5%"></td></tr>
+<tr><td width="5%">ve</td><td width="31%">Venda</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%">vi</td><td width="31%">Vietnamese</td><td width="28%">Latin</td><td width="20%">0.60</td><td width="15%">Yes</td></tr>
+<tr><td width="5%"></td></tr>
+<tr><td width="5%">wa</td><td width="31%">Walloon</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">Incomplete</td></tr>
+<tr><td width="5%">wo</td><td width="31%">Wolof</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%"></td></tr>
+<tr><td width="5%">xh</td><td width="31%">Xhosa</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%"></td></tr>
+<tr><td width="5%">yi</td><td width="31%">Yiddish</td><td width="28%">Hebrew</td><td width="20%">0.60</td><td width="15%">-</td></tr>
+<tr><td width="5%">yo</td><td width="31%">Yoruba</td><td width="28%">Latin</td><td width="20%">Maybe</td><td width="15%">-</td></tr>
+<tr><td width="5%"></td></tr>
+<tr><td width="5%">za</td><td width="31%">Zhuang</td><td width="28%">Latin</td><td width="20%">-</td><td width="15%">-</td></tr>
+<tr><td width="5%">zu</td><td width="31%">Zulu</td><td width="28%">Latin</td><td width="20%">0.50</td><td width="15%">-</td></tr>
+</table>
- <p><table summary=""><tr align="left"><td valign="top" width="5%"><b>Code</b> </td><td valign="top" width="31%"><b>Language Name</b> </td><td valign="top" width="29%"><b>Script</b> </td><td valign="top" width="20%"><b>Dictionary Available</b> </td><td valign="top" width="15%"><b>Gettext Translation</b>
-<br></td></tr><tr align="left"><td valign="top" width="5%"><br></td></tr><tr align="left"><td valign="top" width="5%">aa </td><td valign="top" width="31%">Afar </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">- </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">af </td><td valign="top" width="31%">Afrikaans </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">ak </td><td valign="top" width="31%">Akan </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">am </td><td valign="top" width="31%">Amharic </td><td valign="top" width="29%">Ethiopic </td><td valign="top" width="20%">0.60 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">ar </td><td valign="top" width="31%">Arabic </td><td valign="top" width="29%">Arabic </td><td valign="top" width="20%">0.60 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">as </td><td valign="top" width="31%">Assamese </td><td valign="top" width="29%">Bengali </td><td valign="top" width="20%">- </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">av </td><td valign="top" width="31%">Avar </td><td valign="top" width="29%">Cyrillic </td><td valign="top" width="20%">- </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">ay </td><td valign="top" width="31%">Aymara </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">- </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">az </td><td valign="top" width="31%">Azerbaijani </td><td valign="top" width="29%">Cyrillic, Latin </td><td valign="top" width="20%">0.60 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%"><br></td></tr><tr align="left"><td valign="top" width="5%">ba </td><td valign="top" width="31%">Bashkir </td><td valign="top" width="29%">Cyrillic </td><td valign="top" width="20%">- </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">be </td><td valign="top" width="31%">Belarusian </td><td valign="top" width="29%">Cyrillic </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">Incomplete
-<br></td></tr><tr align="left"><td valign="top" width="5%">bg </td><td valign="top" width="31%">Bulgarian </td><td valign="top" width="29%">Cyrillic </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">bh </td><td valign="top" width="31%">Bihari </td><td valign="top" width="29%">Devanagari </td><td valign="top" width="20%">- </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">bm </td><td valign="top" width="31%">Bambara </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">- </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">bn </td><td valign="top" width="31%">Bengali </td><td valign="top" width="29%">Bengali </td><td valign="top" width="20%">0.60 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">bo </td><td valign="top" width="31%">Tibetan </td><td valign="top" width="29%">Tibetan </td><td valign="top" width="20%">- </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">br </td><td valign="top" width="31%">Breton </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">bs </td><td valign="top" width="31%">Bosnian </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%"><br></td></tr><tr align="left"><td valign="top" width="5%">ca </td><td valign="top" width="31%">Catalan / Valencian </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">Yes
-<br></td></tr><tr align="left"><td valign="top" width="5%">ce </td><td valign="top" width="31%">Chechen </td><td valign="top" width="29%">Cyrillic </td><td valign="top" width="20%">- </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">co </td><td valign="top" width="31%">Corsican </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">cop </td><td valign="top" width="31%">Coptic </td><td valign="top" width="29%">Greek </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">cs </td><td valign="top" width="31%">Czech </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">Yes
-<br></td></tr><tr align="left"><td valign="top" width="5%">csb </td><td valign="top" width="31%">Kashubian </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.60 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">cv </td><td valign="top" width="31%">Chuvash </td><td valign="top" width="29%">Cyrillic </td><td valign="top" width="20%">- </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">cy </td><td valign="top" width="31%">Welsh </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%"><br></td></tr><tr align="left"><td valign="top" width="5%">da </td><td valign="top" width="31%">Danish </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">Incomplete
-<br></td></tr><tr align="left"><td valign="top" width="5%">de </td><td valign="top" width="31%">German </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">Yes
-<br></td></tr><tr align="left"><td valign="top" width="5%">dyu </td><td valign="top" width="31%">Dyula </td><td valign="top" width="29%">- </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%"><br></td></tr><tr align="left"><td valign="top" width="5%">ee </td><td valign="top" width="31%">Ewe </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">- </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">el </td><td valign="top" width="31%">Greek </td><td valign="top" width="29%">Greek </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">en </td><td valign="top" width="31%">English </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">Yes
-<br></td></tr><tr align="left"><td valign="top" width="5%">eo </td><td valign="top" width="31%">Esperanto </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">es </td><td valign="top" width="31%">Spanish </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">Incomplete
-<br></td></tr><tr align="left"><td valign="top" width="5%">et </td><td valign="top" width="31%">Estonian </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.60 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">eu </td><td valign="top" width="31%">Basque </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%"><br></td></tr><tr align="left"><td valign="top" width="5%">fa </td><td valign="top" width="31%">Persian </td><td valign="top" width="29%">Arabic </td><td valign="top" width="20%">0.60 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">ff </td><td valign="top" width="31%">Fulah </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">fi </td><td valign="top" width="31%">Finnish </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.60 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">fj </td><td valign="top" width="31%">Fijian </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">fo </td><td valign="top" width="31%">Faroese </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">fr </td><td valign="top" width="31%">French </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">Yes
-<br></td></tr><tr align="left"><td valign="top" width="5%">fur </td><td valign="top" width="31%">Friulian </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">fy </td><td valign="top" width="31%">Frisian </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.60 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%"><br></td></tr><tr align="left"><td valign="top" width="5%">ga </td><td valign="top" width="31%">Irish </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">Yes
-<br></td></tr><tr align="left"><td valign="top" width="5%">gd </td><td valign="top" width="31%">Scottish Gaelic </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">gl </td><td valign="top" width="31%">Gallegan </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">gn </td><td valign="top" width="31%">Guarani </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">gu </td><td valign="top" width="31%">Gujarati </td><td valign="top" width="29%">Gujarati </td><td valign="top" width="20%">0.60 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">gv </td><td valign="top" width="31%">Manx Gaelic </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%"><br></td></tr><tr align="left"><td valign="top" width="5%">ha </td><td valign="top" width="31%">Hausa </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">he </td><td valign="top" width="31%">Hebrew </td><td valign="top" width="29%">Hebrew </td><td valign="top" width="20%">0.60 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">hi </td><td valign="top" width="31%">Hindi </td><td valign="top" width="29%">Devanagari </td><td valign="top" width="20%">0.60 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">hil </td><td valign="top" width="31%">Hiligaynon </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">ho </td><td valign="top" width="31%">Hiri Motu </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">- </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">hr </td><td valign="top" width="31%">Croatian </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">hsb </td><td valign="top" width="31%">Upper Sorbian </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.60 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">ht </td><td valign="top" width="31%">Haitian Creole </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">hu </td><td valign="top" width="31%">Hungarian </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.60 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">hy </td><td valign="top" width="31%">Armenian </td><td valign="top" width="29%">Armenian </td><td valign="top" width="20%">0.60 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">hz </td><td valign="top" width="31%">Herero </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">- </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%"><br></td></tr><tr align="left"><td valign="top" width="5%">ia </td><td valign="top" width="31%">Interlingua (IALA) </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">id </td><td valign="top" width="31%">Indonesian </td><td valign="top" width="29%">Arabic, Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">ig </td><td valign="top" width="31%">Igbo </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">ii </td><td valign="top" width="31%">Sichuan Yi </td><td valign="top" width="29%">Yi </td><td valign="top" width="20%">- </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">io </td><td valign="top" width="31%">Ido </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">- </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">is </td><td valign="top" width="31%">Icelandic </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">it </td><td valign="top" width="31%">Italian </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">Yes
-<br></td></tr><tr align="left"><td valign="top" width="5%"><br></td></tr><tr align="left"><td valign="top" width="5%">jv </td><td valign="top" width="31%">Javanese </td><td valign="top" width="29%">Javanese, Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%"><br></td></tr><tr align="left"><td valign="top" width="5%">ka </td><td valign="top" width="31%">Georgian </td><td valign="top" width="29%">Georgian </td><td valign="top" width="20%">- </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">kg </td><td valign="top" width="31%">Kongo </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">ki </td><td valign="top" width="31%">Kikuyu / Gikuyu </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">- </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">kj </td><td valign="top" width="31%">Kwanyama </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">- </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">kk </td><td valign="top" width="31%">Kazakh </td><td valign="top" width="29%">Cyrillic </td><td valign="top" width="20%">- </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">km </td><td valign="top" width="31%">Khmer </td><td valign="top" width="29%">Khmer </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">kn </td><td valign="top" width="31%">Kannada </td><td valign="top" width="29%">Kannada </td><td valign="top" width="20%">Planned </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">kr </td><td valign="top" width="31%">Kanuri </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">- </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">ks </td><td valign="top" width="31%">Kashmiri </td><td valign="top" width="29%">Arabic, Devanagari </td><td valign="top" width="20%">- </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">ku </td><td valign="top" width="31%">Kurdish </td><td valign="top" width="29%">Arabic, Cyrillic, Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">kv </td><td valign="top" width="31%">Komi </td><td valign="top" width="29%">Cyrillic </td><td valign="top" width="20%">- </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">ky </td><td valign="top" width="31%">Kirghiz </td><td valign="top" width="29%">Arabic, Cyrillic, Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%"><br></td></tr><tr align="left"><td valign="top" width="5%">la </td><td valign="top" width="31%">Latin </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.60 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">lb </td><td valign="top" width="31%">Luxembourgish </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">lg </td><td valign="top" width="31%">Ganda </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">li </td><td valign="top" width="31%">Limburgian </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">ln </td><td valign="top" width="31%">Lingala </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">lt </td><td valign="top" width="31%">Lithuanian </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.60 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">lu </td><td valign="top" width="31%">Luba-Katanga </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">- </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">lv </td><td valign="top" width="31%">Latvian </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.60 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%"><br></td></tr><tr align="left"><td valign="top" width="5%">mg </td><td valign="top" width="31%">Malagasy </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">mi </td><td valign="top" width="31%">Maori </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">mk </td><td valign="top" width="31%">Macedonian </td><td valign="top" width="29%">Cyrillic </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">ml </td><td valign="top" width="31%">Malayalam </td><td valign="top" width="29%">Latin, Malayalam </td><td valign="top" width="20%">0.60 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">mn </td><td valign="top" width="31%">Mongolian </td><td valign="top" width="29%">Cyrillic, Mongolian </td><td valign="top" width="20%">0.60 </td><td valign="top" width="15%">Incomplete
-<br></td></tr><tr align="left"><td valign="top" width="5%">mo </td><td valign="top" width="31%">Moldavian </td><td valign="top" width="29%">Cyrillic </td><td valign="top" width="20%">- </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">mos </td><td valign="top" width="31%">Mossi </td><td valign="top" width="29%">- </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">mr </td><td valign="top" width="31%">Marathi </td><td valign="top" width="29%">Devanagari </td><td valign="top" width="20%">0.60 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">ms </td><td valign="top" width="31%">Malay </td><td valign="top" width="29%">Arabic, Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">mt </td><td valign="top" width="31%">Maltese </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">my </td><td valign="top" width="31%">Burmese </td><td valign="top" width="29%">Myanmar </td><td valign="top" width="20%">- </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%"><br></td></tr><tr align="left"><td valign="top" width="5%">nb </td><td valign="top" width="31%">Norwegian Bokmal </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">nd </td><td valign="top" width="31%">North Ndebele </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">nds </td><td valign="top" width="31%">Low Saxon </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.60 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">ne </td><td valign="top" width="31%">Nepali </td><td valign="top" width="29%">Devanagari </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">ng </td><td valign="top" width="31%">Ndonga </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">nl </td><td valign="top" width="31%">Dutch </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">Yes
-<br></td></tr><tr align="left"><td valign="top" width="5%">nn </td><td valign="top" width="31%">Norwegian Nynorsk </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">nr </td><td valign="top" width="31%">South Ndebele </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">nso </td><td valign="top" width="31%">Northern Sotho </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">nv </td><td valign="top" width="31%">Navajo </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">ny </td><td valign="top" width="31%">Nyanja </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%"><br></td></tr><tr align="left"><td valign="top" width="5%">oc </td><td valign="top" width="31%">Occitan / Provencal </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">om </td><td valign="top" width="31%">Oromo </td><td valign="top" width="29%">Ethiopic, Latin </td><td valign="top" width="20%">- </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">or </td><td valign="top" width="31%">Oriya </td><td valign="top" width="29%">Oriya </td><td valign="top" width="20%">0.60 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">os </td><td valign="top" width="31%">Ossetic </td><td valign="top" width="29%">Cyrillic </td><td valign="top" width="20%">- </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%"><br></td></tr><tr align="left"><td valign="top" width="5%">pa </td><td valign="top" width="31%">Punjabi </td><td valign="top" width="29%">Gurmukhi </td><td valign="top" width="20%">0.60 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">pl </td><td valign="top" width="31%">Polish </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">ps </td><td valign="top" width="31%">Pushto </td><td valign="top" width="29%">Arabic </td><td valign="top" width="20%">- </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">pt </td><td valign="top" width="31%">Portuguese </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">Incomplete
-<br></td></tr><tr align="left"><td valign="top" width="5%"><br></td></tr><tr align="left"><td valign="top" width="5%">qu </td><td valign="top" width="31%">Quechua </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.60 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%"><br></td></tr><tr align="left"><td valign="top" width="5%">rn </td><td valign="top" width="31%">Rundi </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">ro </td><td valign="top" width="31%">Romanian </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">Incomplete
-<br></td></tr><tr align="left"><td valign="top" width="5%">ru </td><td valign="top" width="31%">Russian </td><td valign="top" width="29%">Cyrillic </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">Yes
-<br></td></tr><tr align="left"><td valign="top" width="5%">rw </td><td valign="top" width="31%">Kinyarwanda </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%"><br></td></tr><tr align="left"><td valign="top" width="5%">sc </td><td valign="top" width="31%">Sardinian </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">sd </td><td valign="top" width="31%">Sindhi </td><td valign="top" width="29%">Arabic </td><td valign="top" width="20%">- </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">sg </td><td valign="top" width="31%">Sango </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">si </td><td valign="top" width="31%">Sinhalese </td><td valign="top" width="29%">Sinhala </td><td valign="top" width="20%">- </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">sk </td><td valign="top" width="31%">Slovak </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">Yes
-<br></td></tr><tr align="left"><td valign="top" width="5%">sl </td><td valign="top" width="31%">Slovenian </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">Yes
-<br></td></tr><tr align="left"><td valign="top" width="5%">sm </td><td valign="top" width="31%">Samoan </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">sn </td><td valign="top" width="31%">Shona </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">so </td><td valign="top" width="31%">Somali </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">sq </td><td valign="top" width="31%">Albanian </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">sr </td><td valign="top" width="31%">Serbian </td><td valign="top" width="29%">Cyrillic, Latin </td><td valign="top" width="20%">0.60 </td><td valign="top" width="15%">Incomplete
-<br></td></tr><tr align="left"><td valign="top" width="5%">ss </td><td valign="top" width="31%">Swati </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">st </td><td valign="top" width="31%">Southern Sotho </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">su </td><td valign="top" width="31%">Sundanese </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">sv </td><td valign="top" width="31%">Swedish </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">Incomplete
-<br></td></tr><tr align="left"><td valign="top" width="5%">sw </td><td valign="top" width="31%">Swahili </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%"><br></td></tr><tr align="left"><td valign="top" width="5%">ta </td><td valign="top" width="31%">Tamil </td><td valign="top" width="29%">Tamil </td><td valign="top" width="20%">0.60 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">te </td><td valign="top" width="31%">Telugu </td><td valign="top" width="29%">Telugu </td><td valign="top" width="20%">0.60 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">tet </td><td valign="top" width="31%">Tetum </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">tg </td><td valign="top" width="31%">Tajik </td><td valign="top" width="29%">Arabic, Cyrillic, Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">Incomplete
-<br></td></tr><tr align="left"><td valign="top" width="5%">ti </td><td valign="top" width="31%">Tigrinya </td><td valign="top" width="29%">Ethiopic </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">tk </td><td valign="top" width="31%">Turkmen </td><td valign="top" width="29%">Arabic, Cyrillic, Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">tl </td><td valign="top" width="31%">Tagalog </td><td valign="top" width="29%">Latin, Tagalog </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">tn </td><td valign="top" width="31%">Tswana </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">to </td><td valign="top" width="31%">Tonga </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">tr </td><td valign="top" width="31%">Turkish </td><td valign="top" width="29%">Arabic, Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">ts </td><td valign="top" width="31%">Tsonga </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">tt </td><td valign="top" width="31%">Tatar </td><td valign="top" width="29%">Cyrillic </td><td valign="top" width="20%">- </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">tw </td><td valign="top" width="31%">Twi </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">- </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">ty </td><td valign="top" width="31%">Tahitian </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%"><br></td></tr><tr align="left"><td valign="top" width="5%">ug </td><td valign="top" width="31%">Uighur </td><td valign="top" width="29%">Arabic, Cyrillic, Latin </td><td valign="top" width="20%">- </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">uk </td><td valign="top" width="31%">Ukrainian </td><td valign="top" width="29%">Cyrillic </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">Yes
-<br></td></tr><tr align="left"><td valign="top" width="5%">ur </td><td valign="top" width="31%">Urdu </td><td valign="top" width="29%">Arabic </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">uz </td><td valign="top" width="31%">Uzbek </td><td valign="top" width="29%">Cyrillic, Latin </td><td valign="top" width="20%">0.60 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%"><br></td></tr><tr align="left"><td valign="top" width="5%">ve </td><td valign="top" width="31%">Venda </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">vi </td><td valign="top" width="31%">Vietnamese </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.60 </td><td valign="top" width="15%">Yes
-<br></td></tr><tr align="left"><td valign="top" width="5%"><br></td></tr><tr align="left"><td valign="top" width="5%">wa </td><td valign="top" width="31%">Walloon </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">Incomplete
-<br></td></tr><tr align="left"><td valign="top" width="5%">wo </td><td valign="top" width="31%">Wolof </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%"><br></td></tr><tr align="left"><td valign="top" width="5%">xh </td><td valign="top" width="31%">Xhosa </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%"><br></td></tr><tr align="left"><td valign="top" width="5%">yi </td><td valign="top" width="31%">Yiddish </td><td valign="top" width="29%">Hebrew </td><td valign="top" width="20%">0.60 </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">yo </td><td valign="top" width="31%">Yoruba </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">Maybe </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%"><br></td></tr><tr align="left"><td valign="top" width="5%">za </td><td valign="top" width="31%">Zhuang </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">- </td><td valign="top" width="15%">-
-<br></td></tr><tr align="left"><td valign="top" width="5%">zu </td><td valign="top" width="31%">Zulu </td><td valign="top" width="29%">Latin </td><td valign="top" width="20%">0.50 </td><td valign="top" width="15%">-
-
- <br></td></tr></table>
-
- <p>Dictionaries marked as <dfn>0.50</dfn> are available for Aspell 0.50. Ones
-marked as <dfn>0.60</dfn> are available for Aspell 0.60 only. Ones marked as
-<dfn>Planned</dfn> should eventually be available. Ones marked as
-<dfn>Maybe</dfn> might be available in the future.
+<p>Dictionaries marked as <em>0.50</em> are available for Aspell 0.50. Ones
+marked as <em>0.60</em> are available for Aspell 0.60 only. Ones marked as
+<em>Planned</em> should eventually be available. Ones marked as
+<em>Maybe</em> might be available in the future.
See <a href="Planned-Dictionaries.html#Planned-Dictionaries">Planned Dictionaries</a>, for more info.
-
+</p>
+<a name="Notes-on-Latin-Languages"></a>
<h4 class="appendixsubsec">B.1.1 Notes on Latin Languages</h4>
<p>Any word that can be written using one of the Latin ISO-8859 character
sets (ISO-8859-1,2,3,4,9,10,13,14,15,16) can be written, in decomposed
form, using the ASCII characters, the 23 additional letters:
+</p>
+<div class="example">
+<pre class="example">U+00C6 LATIN CAPITAL LETTER AE
+U+00D0 LATIN CAPITAL LETTER ETH
+U+00D8 LATIN CAPITAL LETTER O WITH STROKE
+U+00DE LATIN CAPITAL LETTER THORN
+U+00DE LATIN SMALL LETTER THORN
+U+00DF LATIN SMALL LETTER SHARP S
+U+00E6 LATIN SMALL LETTER AE
+U+00F0 LATIN SMALL LETTER ETH
+U+00F8 LATIN SMALL LETTER O WITH STROKE
+U+0110 LATIN CAPITAL LETTER D WITH STROKE
+U+0111 LATIN SMALL LETTER D WITH STROKE
+U+0126 LATIN CAPITAL LETTER H WITH STROKE
+U+0127 LATIN SMALL LETTER H WITH STROKE
+U+0131 LATIN SMALL LETTER DOTLESS I
+U+0138 LATIN SMALL LETTER KRA
+U+0141 LATIN CAPITAL LETTER L WITH STROKE
+U+0142 LATIN SMALL LETTER L WITH STROKE
+U+014A LATIN CAPITAL LETTER ENG
+U+014B LATIN SMALL LETTER ENG
+U+0152 LATIN CAPITAL LIGATURE OE
+U+0153 LATIN SMALL LIGATURE OE
+U+0166 LATIN CAPITAL LETTER T WITH STROKE
+U+0167 LATIN SMALL LETTER T WITH STROKE
+</pre></div>
-<pre class="example"> U+00C6 LATIN CAPITAL LETTER AE
- U+00D0 LATIN CAPITAL LETTER ETH
- U+00D8 LATIN CAPITAL LETTER O WITH STROKE
- U+00DE LATIN CAPITAL LETTER THORN
- U+00DE LATIN SMALL LETTER THORN
- U+00DF LATIN SMALL LETTER SHARP S
- U+00E6 LATIN SMALL LETTER AE
- U+00F0 LATIN SMALL LETTER ETH
- U+00F8 LATIN SMALL LETTER O WITH STROKE
- U+0110 LATIN CAPITAL LETTER D WITH STROKE
- U+0111 LATIN SMALL LETTER D WITH STROKE
- U+0126 LATIN CAPITAL LETTER H WITH STROKE
- U+0127 LATIN SMALL LETTER H WITH STROKE
- U+0131 LATIN SMALL LETTER DOTLESS I
- U+0138 LATIN SMALL LETTER KRA
- U+0141 LATIN CAPITAL LETTER L WITH STROKE
- U+0142 LATIN SMALL LETTER L WITH STROKE
- U+014A LATIN CAPITAL LETTER ENG
- U+014B LATIN SMALL LETTER ENG
- U+0152 LATIN CAPITAL LIGATURE OE
- U+0153 LATIN SMALL LIGATURE OE
- U+0166 LATIN CAPITAL LETTER T WITH STROKE
- U+0167 LATIN SMALL LETTER T WITH STROKE
-</pre>
- <p>and the 14 modifiers:
+<p>and the 14 modifiers:
+</p>
+<div class="example">
+<pre class="example">U+0300 COMBINING GRAVE ACCENT
+U+0301 COMBINING ACUTE ACCENT
+U+0302 COMBINING CIRCUMFLEX ACCENT
+U+0303 COMBINING TILDE
+U+0304 COMBINING MACRON
+U+0306 COMBINING BREVE
+U+0307 COMBINING DOT ABOVE
+U+0308 COMBINING DIAERESIS
+U+030A COMBINING RING ABOVE
+U+030B COMBINING DOUBLE ACUTE ACCENT
+U+030C COMBINING CARON
+U+0326 COMBINING COMMA BELOW
+U+0327 COMBINING CEDILLA
+U+0328 COMBINING OGONEK
+</pre></div>
-<pre class="example"> U+0300 COMBINING GRAVE ACCENT
- U+0301 COMBINING ACUTE ACCENT
- U+0302 COMBINING CIRCUMFLEX ACCENT
- U+0303 COMBINING TILDE
- U+0304 COMBINING MACRON
- U+0306 COMBINING BREVE
- U+0307 COMBINING DOT ABOVE
- U+0308 COMBINING DIAERESIS
- U+030A COMBINING RING ABOVE
- U+030B COMBINING DOUBLE ACUTE ACCENT
- U+030C COMBINING CARON
- U+0326 COMBINING COMMA BELOW
- U+0327 COMBINING CEDILLA
- U+0328 COMBINING OGONEK
-</pre>
- <p>Which is a total of 37 additional Unicode code points.
-
- <p>All ISO-8859 character leaves the characters 0x00 - 0x1F, and 0x80 -
+<p>Which is a total of 37 additional Unicode code points.
+</p>
+<p>All ISO-8859 character leaves the characters 0x00 - 0x1F, and 0x80 -
0x9F unmapped as they are generally used as control characters. Of
those, 0x01 - 0x0F, 0x11 - 0x1F and 0x80 - 0x9F may be mapped to
anything in Aspell. This is a total of 62 characters which can be
possible to store foreign words in the correctly accented form in the
dictionary even if the precomposed character is not in the current
character set.
-
- <p>Any letter in the Unicode range U+0000 - U+0249, U+1E00 - U+1EFF (Basic
+</p>
+<p>Any letter in the Unicode range U+0000 - U+0249, U+1E00 - U+1EFF (Basic
Latin, Latin-1 Supplement, Latin Extended-A, Latin Extended-B, and Latin
Extended Additional) can be represented using around 175 basic letters,
and 25 modifiers which is less than 210 and can thus fit in an Aspell
8-bit character set. Since this Unicode range covers any possible Latin
language this special character set can be used to represent any word
written using the Latin script if so desired.
-
+</p>
+<a name="Syllabic"></a>
<h4 class="appendixsubsec">B.1.2 Syllabic</h4>
<p>Syllabic languages use a separate symbol for each syllable of the
language. Even thought most of them have more than 210 distinct
symbols Aspell can still support them by breaking them up.
-
-<h5 class="appendixsubsubsec">B.1.2.1 The Ethiopic Syllabary</h5>
+</p>
+<a name="The-Ethiopic-Syllabary"></a>
+<h4 class="appendixsubsubsec">B.1.2.1 The Ethiopic Syllabary</h4>
<p>Even though the Ethiopic script has more than 210 distinct characters
Aspell can still handle it. The idea is to split each character into
well with this encoding without any additional modifications. However,
additional improvements may be possible by taking advantage of the
consonant-vowel structure of this encoding.
-
- <p>In fact, the split consonant-vowel representation may prove to be so
+</p>
+<p>In fact, the split consonant-vowel representation may prove to be so
useful that it may be beneficial to encode other syllabary in this
fashion, even if they are less than 210 of them.
-
- <p>The code to break up a syllabary into the consonant-vowel part is part
+</p>
+<p>The code to break up a syllabary into the consonant-vowel part is part
of the Unicode normalization process.
-
-<h5 class="appendixsubsubsec">B.1.2.2 The Yi Syllabary</h5>
+</p>
+<a name="The-Yi-Syllabary"></a>
+<h4 class="appendixsubsubsec">B.1.2.2 The Yi Syllabary</h4>
<p>A very large syllabary with 819 distinct symbols. However, like
Ethiopic, it should be possible to support this script by breaking it
up.
-
-<h5 class="appendixsubsubsec">B.1.2.3 The Ojibwe Syllabary</h5>
+</p>
+<a name="The-Ojibwe-Syllabary"></a>
+<h4 class="appendixsubsubsec">B.1.2.3 The Ojibwe Syllabary</h4>
<p>With only 120 distinct symbols, Aspell can actually support this one as
is. However, as previously mentioned, it may be beneficial to break it
up into the consonant-vowel representation anyway.
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Unsupported.html#Unsupported" accesskey="n" rel="next">Unsupported</a>, Up: <a href="Languages-Which-Aspell-can-Support.html#Languages-Which-Aspell-can-Support" accesskey="u" rel="up">Languages Which Aspell can Support</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>The Language Data File - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" title="Adding Support For Other Languages">
-<link rel="next" href="Compiling-the-Word-List.html#Compiling-the-Word-List" title="Compiling the Word List">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: The Language Data File</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: The Language Data File">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" rel="up" title="Adding Support For Other Languages">
+<link href="Compiling-the-Word-List.html#Compiling-the-Word-List" rel="next" title="Compiling the Word List">
+<link href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" rel="prev" title="Adding Support For Other Languages">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="The-Language-Data-File"></a>
-Next: <a rel="next" accesskey="n" href="Compiling-the-Word-List.html#Compiling-the-Word-List">Compiling the Word List</a>,
-Up: <a rel="up" accesskey="u" href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages">Adding Support For Other Languages</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Compiling-the-Word-List.html#Compiling-the-Word-List" accesskey="n" rel="next">Compiling the Word List</a>, Up: <a href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" accesskey="u" rel="up">Adding Support For Other Languages</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="The-Language-Data-File-1"></a>
<h3 class="section">7.1 The Language Data File</h3>
<p>The basic format of the language data file is the same as it is for the
-Aspell configuration file. It is named <samp><var>lang</var><span class="file">.dat</span></samp> and is
+Aspell configuration file. It is named <samp><var>lang</var>.dat</samp> and is
located in the architecture independent data dir for Aspell (option
-<samp><span class="option">data-dir</span></samp>) which is usually <samp><var>prefix</var><span class="file">/share/aspell</span></samp>.
-Use <samp><span class="command">aspell config</span></samp> to find out where it is in your
+<samp>data-dir</samp>) which is usually <samp><var>prefix</var>/share/aspell</samp>.
+Use <code>aspell config</code> to find out where it is in your
installation. By convention the language name should be the two letter
ISO 639 language code if it exists, if not use the three letter code.
-
- <p>The language data file has several mandatory fields, and several
+</p>
+<p>The language data file has several mandatory fields, and several
optional ones. All fields are case sensitive and should be in all
lower case.
-
- <p>The two mandatory fields are <samp><span class="option">name</span></samp> and <samp><span class="option">charset</span></samp>.
-
- <p><samp><span class="option">name</span></samp> is the name of the language and should be the same as the
-file name (without the <samp><span class="file">.dat</span></samp>).
-
- <p><samp><span class="option">charset</span></samp> is the 8-bit character set Aspell will expect the
+</p>
+<p>The two mandatory fields are <samp>name</samp> and <samp>charset</samp>.
+</p>
+<p><samp>name</samp> is the name of the language and should be the same as the
+file name (without the <samp>.dat</samp>).
+</p>
+<p><samp>charset</samp> is the 8-bit character set Aspell will expect the
word lists to be formatted in. If possible choose from one of the
-standard ones provided with Aspell. These are `<samp><span class="samp">iso-8859-*</span></samp>',
-`<samp><span class="samp">koi8-*</span></samp>', or `<samp><span class="samp">viscii</span></samp>'. If your language does not require
-any non-ascii characters choose `<samp><span class="samp">iso-8859-1</span></samp>'. If one of these
+standard ones provided with Aspell. These are ‘<samp>iso-8859-*</samp>’,
+‘<samp>koi8-*</samp>’, or ‘<samp>viscii</samp>’. If your language does not require
+any non-ascii characters choose ‘<samp>iso-8859-1</samp>’. If one of these
standard character sets is not suitable for your language then you can
create a new one. See <a href="Creating-A-New-Character-Set.html#Creating-A-New-Character-Set">Creating A New Character Set</a>.
-
- <p>The optional fields are as follows:
-
- <dl>
-<a name="data_002dencoding"></a>
-<dt><samp><span class="option">data-encoding</span></samp><dd>
-The encoding the language data files are expected to be in as well as
+</p>
+<p>The optional fields are as follows:
+</p>
+<dl compact="compact">
+<dd>
+<a name="data_002dencoding"></a></dd>
+<dt><samp>data-encoding</samp></dt>
+<dd>
+<p>The encoding the language data files are expected to be in as well as
the default encoding to use when saving the personal dictionaries. It
-can be either `<samp><span class="samp">utf-8</span></samp>' or any of the 8-bit encoding that Aspell
-supports. If not set, then it defaults to <samp><span class="option">charset</span></samp>.
-
- <br><dt><samp><span class="option">special</span></samp><dd>
-Non-letter characters that can appear in your language such as the
-`<samp><span class="samp">'</span></samp>' and `<samp><span class="samp">-</span></samp>'. The format for the value is a list separated by
+can be either ‘<samp>utf-8</samp>’ or any of the 8-bit encoding that Aspell
+supports. If not set, then it defaults to <samp>charset</samp>.
+</p>
+</dd>
+<dt><samp>special</samp></dt>
+<dd>
+<p>Non-letter characters that can appear in your language such as the
+‘<samp>'</samp>’ and ‘<samp>-</samp>’. The format for the value is a list separated by
spaces. Each item of the list has the following format.
+</p>
+<div class="example">
+<pre class="example"><char> <begin><middle><end>
+</pre></div>
- <pre class="example"> <char> <begin><middle><end>
- </pre>
- <p><var>char</var> is the non-letter character in question.
+<p><var>char</var> is the non-letter character in question.
<var>begin</var>, <var>middle</var>, <var>end</var> are either a
-`<samp><span class="samp">-</span></samp>' or a `<samp><span class="samp">*</span></samp>'. A star for <var>begin</var> means that the
-character can begin a word, a `<samp><span class="samp">-</span></samp>' means it can't. The same is
+‘<samp>-</samp>’ or a ‘<samp>*</samp>’. A star for <var>begin</var> means that the
+character can begin a word, a ‘<samp>-</samp>’ means it can’t. The same is
true for <var>middle</var> and <var>end</var>. For example, the entry
-for the `<samp><span class="samp">'</span></samp>' in English is:
-
- <pre class="example"> ' -*-
- </pre>
- <p>To include more than one middle character just list them one after
-another on the same line. For example, to make both the `<samp><span class="samp">'</span></samp>'
-and the `<samp><span class="samp">-</span></samp>' a middle character, use the following line in the
+for the ‘<samp>'</samp>’ in English is:
+</p>
+<div class="example">
+<pre class="example">' -*-
+</pre></div>
+
+<p>To include more than one middle character just list them one after
+another on the same line. For example, to make both the ‘<samp>'</samp>’
+and the ‘<samp>-</samp>’ a middle character, use the following line in the
language data file:
+</p>
+<div class="example">
+<pre class="example">special ' -*- - -*-
+</pre></div>
- <pre class="example"> special ' -*- - -*-
- </pre>
- <p>However, please be aware that adding special characters can have
+<p>However, please be aware that adding special characters can have
unintended consequences due to limitations of Aspell. For example if
-the `<samp><span class="samp">-</span></samp>' was accepted as a middle character, then <em>every</em>
-word with a `<samp><span class="samp">-</span></samp>' in it would be flagged as a spelling error unless
+the ‘<samp>-</samp>’ was accepted as a middle character, then <em>every</em>
+word with a ‘<samp>-</samp>’ in it would be flagged as a spelling error unless
that exact word is in the dictionary, even if both parts are in the
-dictionary. Also, having a `<samp><span class="samp">.</span></samp>' as an end character will cause
-the `<samp><span class="samp">.</span></samp>' to be part of any misspelled words. Which can get very
+dictionary. Also, having a ‘<samp>.</samp>’ as an end character will cause
+the ‘<samp>.</samp>’ to be part of any misspelled words. Which can get very
annoying if you misspell a word at the end of a sentence.
-
- <br><dt><samp><span class="option">soundslike</span></samp><dd>
-The name of the soundslike data for the language. The data is
-expected to be in the file <samp><var>name</var><span class="file">_phonet.dat</span></samp>.
-
- <p>If <var>name</var> is `<samp><span class="samp">simpile</span></samp>' then a very simple soundslike is
+</p>
+</dd>
+<dt><samp>soundslike</samp></dt>
+<dd>
+<p>The name of the soundslike data for the language. The data is
+expected to be in the file <samp><var>name</var>_phonet.dat</samp>.
+</p>
+<p>If <var>name</var> is ‘<samp>simpile</samp>’ then a very simple soundslike is
used. This is not as powerful as full phonetic soundslike but it
can be computed a lot faster. (see <a href="The-Simple-Soundslike.html#The-Simple-Soundslike">The Simple Soundslike</a>)
-
- <p>If the soundslike name is `<samp><span class="samp">none</span></samp>', or this option is not specified,
+</p>
+<p>If the soundslike name is ‘<samp>none</samp>’, or this option is not specified,
then no soundslike will be used. The effective soundslike is the word
converted to all lowercase and possibly with accents stripped
-depending on the <samp><span class="option">store-as</span></samp> option. For languages with
-phonetic spelling the difference will not be very noticeable.
+depending on the <samp>store-as</samp> option. For languages with
+phonetic spelling the difference will not be very noticeable.
However, for languages with non-phonetic spelling there will be a
noticeable difference. The difference you notice will depend on the
quality of the soundslike data file. If you do not notice much of a
difference for a language with non-phonetic spelling that is a good
indication that the soundslike data is not rough enough—or the words
you are trying are not that badly misspelled.
-
- <br><dt><samp><span class="option">invisible-soundslike</span></samp><dd>
-Avoid storing the soundslike information with the word. Instead it is
+</p>
+</dd>
+<dt><samp>invisible-soundslike</samp></dt>
+<dd>
+<p>Avoid storing the soundslike information with the word. Instead it is
computed as needed. This option defaults to true if the soundslike is
-`<samp><span class="samp">none</span></samp>' or `<samp><span class="samp">simpile</span></samp>', and false when a phonetic soundslike is
+‘<samp>none</samp>’ or ‘<samp>simpile</samp>’, and false when a phonetic soundslike is
used.
+</p>
+</dd>
+<dt><samp>repl-table</samp></dt>
+<dd>
+<p>See <a href="Replacement-Tables.html#Replacement-Tables">Replacement Tables</a>.
+</p>
+</dd>
+<dt><samp>keyboard</samp></dt>
+<dd>
+<p>The base name of the keyboard definition file to use. For more
+information see <a href="Notes-on-Typo_002dAnalysis.html#Notes-on-Typo_002dAnalysis">Notes on Typo-Analysis</a>.
+</p>
+</dd>
+<dt><samp>sug-split-char</samp></dt>
+<dd>
+<p>A list of characters which specifies which characters to insert between
+two words when a word is split. This is a list option.
+</p>
+</dd>
+<dt><samp>affix</samp></dt>
+<dt><samp>affix-compress</samp></dt>
+<dt><samp>partially-expand</samp></dt>
+<dd>
+<p>See <a href="Affix-Compression.html#Affix-Compression">Affix Compression</a>.
+</p>
+</dd>
+<dt><samp>store-as</samp></dt>
+<dd>
+<p>How the words are indexed in the dictionary. If "stripped" then the
+word is indexed in a lower case and de-accented form. If "lower", then
+the word is indexed in a lower case form but with accent info still
+intact. This just controls how the word is indexed, not how it is
+stored. The default is "stripped" unless affix compression is used.
+</p>
- <br><dt><samp><span class="option">repl-table</span></samp><dd>
-See <a href="Replacement-Tables.html#Replacement-Tables">Replacement Tables</a>.
- <br><dt><samp><span class="option">keyboard</span></samp><dd>
-The base name of the keyboard definition file to use. For more
-information see <a href="Notes-on-Typo_002dAnalysis.html#Notes-on-Typo_002dAnalysis">Notes on Typo-Analysis</a>.
- <br><dt><samp><span class="option">sug-split-char</span></samp><dd>
-A list of characters which specifies which characters to insert between
-two words when a word is split. This is a list option.
- <br><dt><samp><span class="option">affix</span></samp><dt><samp><span class="option">affix-compress</span></samp><dt><samp><span class="option">partially-expand</span></samp><dd>
-See <a href="Affix-Compression.html#Affix-Compression">Affix Compression</a>.
- <br><dt><samp><span class="option">store-as</span></samp><dd>
-How the words are indexed in the dictionary. If "stripped" then the
-word is indexed in a lower case and de-accented form. If "lower", then
-the word is indexed in a lower case form but with accent info still
-intact. This just controls how the word is indexed, not how it is
-stored. The default is "stripped" unless affix compression is used.
-
- <!-- @item ignore-accents -->
-<!-- @item affix-char -->
-<!-- Unimplemented -->
-<!-- @item flag-char -->
-<!-- Unimplemented -->
-<br><dt><samp><span class="option">norm-required</span></samp><dd>
-Should be set to true if your language makes use of private use
+</dd>
+<dt><samp>norm-required</samp></dt>
+<dd>
+<p>Should be set to true if your language makes use of private use
characters or when Normalization Form C is not the same as
full composition.
-
- <br><dt><samp><span class="option">normalize</span></samp>
-<br><dt><samp><span class="option">norm-form</span></samp><dd>
+</p>
+</dd>
+<dt><samp>normalize</samp></dt>
+<dt><samp>norm-form</samp></dt>
</dl>
- <p>Additional options includes options to control how run-together words
+<p>Additional options includes options to control how run-together words
are handled the same way as they are in the normal configuration
files. for more information, please <a href="Controlling-the-Behavior-of-Run_002dtogether-Words.html#Controlling-the-Behavior-of-Run_002dtogether-Words">Controlling the Behavior of Run-together Words</a>.
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Compiling-the-Word-List.html#Compiling-the-Word-List" accesskey="n" rel="next">Compiling the Word List</a>, Up: <a href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" accesskey="u" rel="up">Adding Support For Other Languages</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>The Options - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Customizing-Aspell.html#Customizing-Aspell" title="Customizing Aspell">
-<link rel="prev" href="Specifying-Options.html#Specifying-Options" title="Specifying Options">
-<link rel="next" href="Dumping-Configuration-Values.html#Dumping-Configuration-Values" title="Dumping Configuration Values">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: The Options</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: The Options">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Customizing-Aspell.html#Customizing-Aspell" rel="up" title="Customizing Aspell">
+<link href="Dumping-Configuration-Values.html#Dumping-Configuration-Values" rel="next" title="Dumping Configuration Values">
+<link href="Specifying-Options.html#Specifying-Options" rel="prev" title="Specifying Options">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="The-Options"></a>
-Next: <a rel="next" accesskey="n" href="Dumping-Configuration-Values.html#Dumping-Configuration-Values">Dumping Configuration Values</a>,
-Previous: <a rel="previous" accesskey="p" href="Specifying-Options.html#Specifying-Options">Specifying Options</a>,
-Up: <a rel="up" accesskey="u" href="Customizing-Aspell.html#Customizing-Aspell">Customizing Aspell</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Dumping-Configuration-Values.html#Dumping-Configuration-Values" accesskey="n" rel="next">Dumping Configuration Values</a>, Previous: <a href="Specifying-Options.html#Specifying-Options" accesskey="p" rel="prev">Specifying Options</a>, Up: <a href="Customizing-Aspell.html#Customizing-Aspell" accesskey="u" rel="up">Customizing Aspell</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="The-Options-1"></a>
<h3 class="section">4.2 The Options</h3>
-<p>The following is a list of available options broken down by category.
+<p>The following is a list of available options broken down by category.
Each entry has the following format:
-
- <blockquote>
- <dl>
-<dt><var>option</var><b>[,</b><var>single-letter-abbreviation</var><b>]</b><dd><i>(</i><var>type</var><i>)</i> <var>description</var>
+</p>
+<blockquote>
+<dl compact="compact">
+<dt><b><var>option</var>[,<var>single-letter-abbreviation</var>]</b></dt>
+<dd><p><i>(<var>type</var>)</i> <var>description</var>
+</p></dd>
</dl>
- </blockquote>
+</blockquote>
- <p>Where single letter options are specified as they would appear at the
+<p>Where single letter options are specified as they would appear at the
command line, ie with the preceding dash. Boolean single letter
options are specified in the following format:
+</p>
+<blockquote>
+<p>-<abbreviation to enable>|-<abbreviation to disable>
+</p></blockquote>
- <blockquote>
--<abbreviation to enable>|-<abbreviation to disable>
-</blockquote>
-
- <p><var>option</var> is one of the following: <em>boolean</em>, <em>string</em>,
+<p><var>option</var> is one of the following: <em>boolean</em>, <em>string</em>,
<em>file</em>, <em>dir</em>, <em>integer</em>, or <em>list</em>.
-
- <p><em>String</em>, <em>file</em>, <em>dir</em>, and <em>integer</em> types are all
+</p>
+<p><em>String</em>, <em>file</em>, <em>dir</em>, and <em>integer</em> types are all
value options which can only take a specific type of value.
-
+</p>
+<a name="Dictionary-Options"></a>
<h4 class="subsection">4.2.1 Dictionary Options</h4>
<p>The following options may be used to control which dictionaries to use
and how they behave (for more information see <a href="How-Aspell-Selects-an-Appropriate-Dictionary.html#How-Aspell-Selects-an-Appropriate-Dictionary">How Aspell Selects an Appropriate Dictionary</a>):
-
- <dl>
-<dt><b>master,-d</b><dd><i>(string)</i>
+</p>
+<dl compact="compact">
+<dt><b>master,-d</b></dt>
+<dd><p><i>(string)</i>
Base name of the dictionary to use. If this option is specified then
Aspell will either use this dictionary or die.
-
- <br><dt><b>dict-dir</b><dd><i>(dir)</i>
+</p>
+</dd>
+<dt><b>dict-dir</b></dt>
+<dd><p><i>(dir)</i>
Location of the main word list.
-
- <br><dt><b>lang</b><dd><i>(string)</i>
-Language to use. It follows the same format of the <samp><span class="env">LANG</span></samp>
+</p>
+</dd>
+<dt><b>lang</b></dt>
+<dd><p><i>(string)</i>
+Language to use. It follows the same format of the <code>LANG</code>
environment variable on most systems. It consists of the two letter
<acronym>ISO 639</acronym> language code and an optional two letter
<acronym>ISO 3166</acronym> country code after a dash or underscore. The
-default value is based on the value of the <samp><span class="env">LC_MESSAGES</span></samp> locale.
-
- <br><dt><b>size</b><dd><i>(string)</i>
+default value is based on the value of the <code>LC_MESSAGES</code> locale.
+</p>
+</dd>
+<dt><b>size</b></dt>
+<dd><p><i>(string)</i>
The preferred size of the word list. This consists of a
two char digit code describing the size of the list, with typical
values of: 10=tiny, 20=really small, 30=small, 40=med-small, 50=med,
60=med-large, 70=large, 80=huge, 90=insane.
-
- <br><dt><b>variety</b><dd><i>(list)</i>
+</p>
+</dd>
+<dt><b>variety</b></dt>
+<dd><p><i>(list)</i>
Any extra information to distinguish two different words lists that
have the same lang and size.
-
- <br><dt><b>word-list-path</b><dd><i>(list)</i>
+</p>
+</dd>
+<dt><b>word-list-path</b></dt>
+<dd><p><i>(list)</i>
Search path for word list information files.
+</p>
- <!-- @item module-search-order (@i{list}) -->
-<!-- list of available modules, modules that come first on this list have a -->
-<!-- higher priority. Currently there is only one speller module. -->
-<br><dt><b>personal,-p</b><dd><i>(file)</i>
+</dd>
+<dt><b>personal,-p</b></dt>
+<dd><p><i>(file)</i>
Personal word list file name.
-
- <br><dt><b>repl</b><dd><i>(file)</i>
+</p>
+</dd>
+<dt><b>repl</b></dt>
+<dd><p><i>(file)</i>
Replacements list file name.
-
- <br><dt><b>extra-dicts</b><dd><i>(list)</i>
+</p>
+</dd>
+<dt><b>extra-dicts</b></dt>
+<dd><p><i>(list)</i>
Extra dictionaries to use.
+</p>
+</dd>
+<dt><b>dict-alias</b></dt>
+<dd><p><i>(list)</i>
+create dictionary aliases. Each entry has the form ‘<samp><var>from</var>
+<var>to</var></samp>’. Will override any system dictionaries that are present.
+</p>
+</dd>
+<dt><b>dont-use-other-dicts</b></dt>
+<dd><p><i>(boolean)</i>
+</p>
+<p>Disable use of personal, replacement & session dictionaries. Any
+dictionaries specified using ‘<samp>extra-dicts</samp>’ will still be used.
+</p>
+</dd>
+</dl>
- <br><dt><b>dict-alias</b><dd><i>(list)</i>
-create dictionary aliases. Each entry has the form `<samp><var>from</var>
-<var>to</var></samp>'. Will override any system dictionaries that are present.
-
- </dl>
-
+<a name="Encoding-Options"></a>
<h4 class="subsection">4.2.2 Encoding Options</h4>
<p>These options control the encoding the document is expected to be in and
how it is displayed.
-
- <dl>
-<dt><b>encoding</b><dd><i>(string)</i>
+</p>
+<dl compact="compact">
+<dt><b>encoding</b></dt>
+<dd><p><i>(string)</i>
The encoding the input text is in. Valid values include, but not
-limited to, `<samp><span class="samp">iso-8859-*</span></samp>', `<samp><span class="samp">utf-8</span></samp>', `<samp><span class="samp">ucs-2</span></samp>',
-`<samp><span class="samp">ucs-4</span></samp>'. When using the Aspell utility the default encoding is
+limited to, ‘<samp>iso-8859-*</samp>’, ‘<samp>utf-8</samp>’, ‘<samp>ucs-2</samp>’,
+‘<samp>ucs-4</samp>’. When using the Aspell utility the default encoding is
based on the current locale. Thus if your locale currently uses the
-`<samp><span class="samp">utf-8</span></samp>' encoding than everything will be in <acronym>UTF-8</acronym>. The
-`<samp><span class="samp">ucs-2</span></samp>' and `<samp><span class="samp">ucs-4</span></samp>' encodings are intended to be used by other
+‘<samp>utf-8</samp>’ encoding than everything will be in <acronym>UTF-8</acronym>. The
+‘<samp>ucs-2</samp>’ and ‘<samp>ucs-4</samp>’ encodings are intended to be used by other
programs using the Aspell library and is not supported by the Aspell
utility.
-
- <br><dt><b>normalize</b><dd><i>(boolean)</i>
+</p>
+</dd>
+<dt><b>normalize</b></dt>
+<dd><p><i>(boolean)</i>
Perform Unicode normalization. Enabled by default.
-
- <br><dt><b>norm-strict</b><dd><i>(boolean)</i>
+</p>
+</dd>
+<dt><b>norm-strict</b></dt>
+<dd><p><i>(boolean)</i>
Avoid lossy conversions when normalizing. Lossy conversions includes
-compatibility mappings such as splitting the letter `<samp><span class="samp">OE</span></samp>' (U+152)
-into `<samp><span class="samp">O</span></samp>' and `<samp><span class="samp">E</span></samp>' (when the combined letter is not available),
+compatibility mappings such as splitting the letter ‘<samp>OE</samp>’ (U+152)
+into ‘<samp>O</samp>’ and ‘<samp>E</samp>’ (when the combined letter is not available),
and mappings which will remove accents. Disabled by default except when
creating dictionaries.
-
- <br><dt><b>norm-form</b><dd><i>(string)</i>
+</p>
+</dd>
+<dt><b>norm-form</b></dt>
+<dd><p><i>(string)</i>
The normalization form the output should be in. This option primarily
effects the normalization form of the suggestions as when spell
-checkering as the actual text is unchanged unless there is an error.
-Valid values are `<samp><span class="samp">none</span></samp>', `<samp><span class="samp">nfd</span></samp>' for fully decomposition
-(Normalization Form D), `<samp><span class="samp">nfc</span></samp>' for Normalization Form C, or
-`<samp><span class="samp">comp</span></samp>' for fully composed. `<samp><span class="samp">comp</span></samp>' is like `<samp><span class="samp">nfc</span></samp>' except
+checkering as the actual text is unchanged unless there is an error.
+Valid values are ‘<samp>none</samp>’, ‘<samp>nfd</samp>’ for fully decomposition
+(Normalization Form D), ‘<samp>nfc</samp>’ for Normalization Form C, or
+‘<samp>comp</samp>’ for fully composed. ‘<samp>comp</samp>’ is like ‘<samp>nfc</samp>’ except
that <em>full</em> composition is used rather than <em>canonical</em>
-composition. The <samp><span class="option">normalize</span></samp> option must be enabled for this
+composition. The <samp>normalize</samp> option must be enabled for this
option to be used.
-
- <br><dt><b>norm-required</b><dd><i>(boolean)</i>
-Set to true when the current language requires Unicode normalization.
+</p>
+</dd>
+<dt><b>norm-required</b></dt>
+<dd><p><i>(boolean)</i>
+Set to true when the current language requires Unicode normalization.
This is generally the case when private use characters are used
internally by Aspell or when Normalization Form C is not the same as
full composition.
+</p>
+</dd>
+</dl>
- </dl>
-
+<a name="Checker-Options"></a>
<h4 class="subsection">4.2.3 Checker Options</h4>
<p>These options control the behavior of Aspell when checking
documents.
-
- <dl>
-<dt><b>ignore,-W</b><dd><i>(integer)</i>
+</p>
+<dl compact="compact">
+<dt><b>ignore,-W</b></dt>
+<dd><p><i>(integer)</i>
Ignore words with N characters or less
-
- <br><dt><b>ignore-repl</b><dd><i>(boolean)</i>
+</p>
+</dd>
+<dt><b>ignore-repl</b></dt>
+<dd><p><i>(boolean)</i>
Ignore commands to store replacement pairs.
-
- <br><dt><b>save-repl</b><dd><i>(boolean)</i>
+</p>
+</dd>
+<dt><b>save-repl</b></dt>
+<dd><p><i>(boolean)</i>
Save the replacement word list on save all.
-
- <br><dt><b>keyboard</b><dd><i>(file)</i>
+</p>
+</dd>
+<dt><b>keyboard</b></dt>
+<dd><p><i>(file)</i>
The base name of the keyboard definition file to use (see <a href="Notes-on-Typo_002dAnalysis.html#Notes-on-Typo_002dAnalysis">Notes on Typo-Analysis</a>)
-
- <br><dt><b>sug-mode</b><dd><i>(mode)</i>
-Suggestion mode = `<samp><span class="samp">ultra</span></samp>' | `<samp><span class="samp">fast</span></samp>' | `<samp><span class="samp">normal</span></samp>' | `<samp><span class="samp">slow</span></samp>' |
-`<samp><span class="samp">bad-spellers</span></samp>' (see <a href="Notes-on-the-Different-Suggestion-Modes.html#Notes-on-the-Different-Suggestion-Modes">Notes on the Different Suggestion Modes</a>)
-
- <br><dt><b>ignore-case</b><dd><i>(boolean)</i>
+</p>
+</dd>
+<dt><b>sug-mode</b></dt>
+<dd><p><i>(mode)</i>
+Suggestion mode = ‘<samp>ultra</samp>’ | ‘<samp>fast</samp>’ | ‘<samp>normal</samp>’ | ‘<samp>slow</samp>’ |
+‘<samp>bad-spellers</samp>’ (see <a href="Notes-on-the-Different-Suggestion-Modes.html#Notes-on-the-Different-Suggestion-Modes">Notes on the Different Suggestion Modes</a>)
+</p>
+</dd>
+<dt><b>ignore-case</b></dt>
+<dd><p><i>(boolean)</i>
Ignore case when checking words.
-
- <br><dt><b>ignore-accents</b><dd><i>(boolean)</i>
+</p>
+</dd>
+<dt><b>ignore-accents</b></dt>
+<dd><p><i>(boolean)</i>
Ignore accents when checking words – <em>currently ignored</em>.
+</p>
+</dd>
+</dl>
- </dl>
-
+<a name="Filter-Options"></a>
<h4 class="subsection">4.2.4 Filter Options</h4>
<p>These options modify the behavior of the Aspell filter interface in
general (for more information see see <a href="Notes-on-Various-Filters-and-Filter-Modes.html#Notes-on-Various-Filters-and-Filter-Modes">Notes on Various Filters and Filter Modes</a>).
-
- <dl>
-<dt><b>filter</b><dd><i>(list)</i>
+</p>
+<dl compact="compact">
+<dt><b>filter</b></dt>
+<dd><p><i>(list)</i>
filters to use
-
- <br><dt><b>filter-path</b><dd><i>(list)</i>
+</p>
+</dd>
+<dt><b>filter-path</b></dt>
+<dd><p><i>(list)</i>
Where to look when loading filter and filter modes.
-
- <br><dt><b>mode</b><dd><i>(string)</i>
+</p>
+</dd>
+<dt><b>mode</b></dt>
+<dd><p><i>(string)</i>
Sets the filter mode. Possible values include, but not limited to,
-`<samp><span class="samp">none</span></samp>', `<samp><span class="samp">url</span></samp>', `<samp><span class="samp">email</span></samp>', `<samp><span class="samp">sgml</span></samp>', or `<samp><span class="samp">tex</span></samp>'. (The
-shortcut options <samp><span class="option">-e</span></samp> may be used for email, <samp><span class="option">-H</span></samp> for
-HTML, or <samp><span class="option">-t</span></samp> for TeX).
-
- </dl>
+‘<samp>none</samp>’, ‘<samp>url</samp>’, ‘<samp>email</samp>’, ‘<samp>sgml</samp>’, or ‘<samp>tex</samp>’. (The
+shortcut options <samp>-e</samp> may be used for email, <samp>-H</samp> for
+HTML, or <samp>-t</samp> for TeX).
+</p>
+</dd>
+</dl>
- <p>These options belong to filters packaged along with Aspell standard
+<p>These options belong to filters packaged along with Aspell standard
distribution. These options may be prefixed by the keyword
<code>f-</code> in order to explicitly indicate that they are options
recognized by a filter and not by Aspell itself.
-
-<h5 class="subsubsection">4.2.4.1 email</h5>
-
+</p>
+<a name="email"></a>
+<h4 class="subsubsection">4.2.4.1 email</h4>
<p>This filter hides quoting characters and email preamble and other
parts of an email which need not to be spell checked.
-
- <dl>
-<dt><b>email-quote</b><dd><i>(list)</i>
+</p>
+<dl compact="compact">
+<dt><b>email-quote</b></dt>
+<dd><p><i>(list)</i>
Email quote characters.
-
- <br><dt><b>email-margin</b><dd><i>(integer)</i>
+</p>
+</dd>
+<dt><b>email-margin</b></dt>
+<dd><p><i>(integer)</i>
The number of characters that can appear before the quote character
+</p></dd>
</dl>
-<h5 class="subsubsection">4.2.4.2 html</h5>
-
+<a name="html"></a>
+<h4 class="subsubsection">4.2.4.2 html</h4>
<p>This filter converts an HTML source file into a format which eases
spell checking of HTML texts by Aspell.
-
- <dl>
-<dt><b>html-check</b><dd><i>(list)</i>
+</p>
+<dl compact="compact">
+<dt><b>html-check</b></dt>
+<dd><p><i>(list)</i>
HTML attributes to always check, such as alt= (alternate text).
-
- <br><dt><b>html-skip</b><dd><i>(list)</i>
-HTML tags to always skip the contents of, such as <script>.
+</p>
+</dd>
+<dt><b>html-skip</b></dt>
+<dd><p><i>(list)</i>
+HTML tags to always skip the contents of, such as <script>.
+</p></dd>
</dl>
-<h5 class="subsubsection">4.2.4.3 sgml</h5>
-
+<a name="sgml"></a>
+<h4 class="subsubsection">4.2.4.3 sgml</h4>
<p>This filter is identical to the HTML filter except that its options has
different default values which are currently the empty list.
-
-<h5 class="subsubsection">4.2.4.4 tex/latex</h5>
-
+</p>
+<a name="tex_002flatex"></a>
+<h4 class="subsubsection">4.2.4.4 tex/latex</h4>
<p>This filter hides all LaTeX commands and corresponding parameters not
being readable text in LaTeX output from Aspell.
-
- <dl>
-<dt><b>tex-command</b><dd><i>(list)</i>
+</p>
+<dl compact="compact">
+<dt><b>tex-command</b></dt>
+<dd><p><i>(list)</i>
TeX commands
-
- <br><dt><b>tex-check-comments</b><dd><i>(boolean)</i>
+</p>
+</dd>
+<dt><b>tex-check-comments</b></dt>
+<dd><p><i>(boolean)</i>
check TeX comments
+</p>
- <!-- @item tex-multi-byte -->
-<!-- (@i{list}) TeX multi byte letter en|decoding -->
+</dd>
</dl>
-<h5 class="subsubsection">4.2.4.5 texinfo</h5>
-
+<a name="texinfo"></a>
+<h4 class="subsubsection">4.2.4.5 texinfo</h4>
<p>This filter hides all Texinfo commands from Aspell. It can also hide
Texinfo parameters and environments not corresponding to readable text.
+</p>
+<dl compact="compact">
+<dt><b>texinfo-ignore</b></dt>
+<dd><p><i>(list)</i> Texinfo command to ignore the parameters of.
+</p>
+</dd>
+<dt><b>texinfo-ignore-env</b></dt>
+<dd><p><i>(list)</i> Texinfo environments to ignore.
+</p>
+</dd>
+</dl>
- <dl>
-<dt><b>texinfo-ignore</b><dd><i>(list)</i> Texinfo command to ignore the parameters of.
-
- <br><dt><b>texinfo-ignore-env</b><dd><i>(list)</i> Texinfo environments to ignore.
-
- </dl>
-
-<h5 class="subsubsection">4.2.4.6 context</h5>
-
-<!-- FIXME: Shorten -->
+<a name="context"></a>
+<h4 class="subsubsection">4.2.4.6 context</h4>
<p>This filter can be used to spell check source
codes, HTML sources and other texts which consist of different
contexts. These contexts must be separated by pairs of unique
delimiters. The different contexts may not be dependent upon each
other except for initial context which is assumed if not any other
context applies.
-
- <dl>
-<dt><b>context-visible-first</b><dd><i>(boolean)</i> Switches the context which should be visible to Aspell.
+</p>
+<dl compact="compact">
+<dt><b>context-visible-first</b></dt>
+<dd><p><i>(boolean)</i> Switches the context which should be visible to Aspell.
Per default the initial context is assumed to be invisible as one
would expect when spell checking source files of programs where
relevant parts are contained in string constants and comments but not
in the remaining code. If set to true the initial context is visible
while the delimited ones are hidden.
-
- <br><dt><b>add|rem-context-delimiters</b><dd><i>(list)</i> Add or remove pairs of delimiters. This allows you to
+</p>
+</dd>
+<dt><b>add|rem-context-delimiters</b></dt>
+<dd><p><i>(list)</i> Add or remove pairs of delimiters. This allows you to
specify the character, or sequences of characters, which should be
-used to switch contexts and therefore have to be escaped by `<samp><span class="samp">\</span></samp>' if
+used to switch contexts and therefore have to be escaped by ‘<samp>\</samp>’ if
they should appear literally. The two delimiting chars belonging to
one pair have to be separated by a space character. If multiple pairs
-are specified by one <samp><span class="option">add|rem-context-delimiters</span></samp> call the
+are specified by one <samp>add|rem-context-delimiters</samp> call the
different pairs have to be separated by a literal comma. Per default
the delimiters are set to C/C++ comment and string constant
delimiters. If the end of line delimits a context than this has to be
-indicated by the literal `<samp><span class="samp">\0</span></samp>' string.
+indicated by the literal ‘<samp>\0</samp>’ string.
+</p></dd>
</dl>
+<a name="Run_002dtogether-Word-Options"></a>
<h4 class="subsection">4.2.5 Run-together Word Options</h4>
<p>These may be used to control the behavior of run-together words (for
more information see <a href="Controlling-the-Behavior-of-Run_002dtogether-Words.html#Controlling-the-Behavior-of-Run_002dtogether-Words">Controlling the Behavior of Run-together Words</a>):
- <dl>
-<dt><b>run-together,-C|-B</b><dd><i>(boolean)</i>
+</p><dl compact="compact">
+<dt><b>run-together,-C|-B</b></dt>
+<dd><p><i>(boolean)</i>
consider run-together words valid
-<br><dt><b>run-together-limit</b><dd><i>(integer)</i>
+</p></dd>
+<dt><b>run-together-limit</b></dt>
+<dd><p><i>(integer)</i>
maximum number of words that can be strung together
-
- <br><dt><b>run-together-min</b><dd><i>(integer)</i>
+</p>
+</dd>
+<dt><b>run-together-min</b></dt>
+<dd><p><i>(integer)</i>
minimal length of interior words
+</p></dd>
</dl>
+<a name="Miscellaneous-Options"></a>
<h4 class="subsection">4.2.6 Miscellaneous Options</h4>
-<p>Miscellaneous other options that don't fall under any other category
- <dl>
-<dt><b>conf</b><dd><i>(file)</i>
-Main configuration file. This file overrides Aspell's global defaults.
-
- <br><dt><b>conf-dir</b><dd><i>(dir)</i>
+<p>Miscellaneous other options that don’t fall under any other category
+</p><dl compact="compact">
+<dt><b>conf</b></dt>
+<dd><p><i>(file)</i>
+Main configuration file. This file overrides Aspell’s global defaults.
+</p>
+</dd>
+<dt><b>conf-dir</b></dt>
+<dd><p><i>(dir)</i>
location of main configuration file
-
- <br><dt><b>data-dir</b><dd><i>(dir)</i>
+</p>
+</dd>
+<dt><b>data-dir</b></dt>
+<dd><p><i>(dir)</i>
location of language data files
-
- <br><dt><b>local-data-dir</b><dd><i>(dir)</i>
+</p>
+</dd>
+<dt><b>local-data-dir</b></dt>
+<dd><p><i>(dir)</i>
alternative location of language data files. This directory is
-searched before <samp><span class="option">data-dir</span></samp>. It defaults to the same directory
+searched before <samp>data-dir</samp>. It defaults to the same directory
the actual main word list is in (which is not necessarily
-<samp><span class="option">dict-dir</span></samp>)
-
- <br><dt><b>home-dir</b><dd><i>(dir)</i>
+<samp>dict-dir</samp>)
+</p>
+</dd>
+<dt><b>home-dir</b></dt>
+<dd><p><i>(dir)</i>
location for personal files
-
- <br><dt><b>per-conf</b><dd><i>(file)</i>
+</p>
+</dd>
+<dt><b>per-conf</b></dt>
+<dd><p><i>(file)</i>
personal configuration file. This file overrides options found in
-the global <samp><span class="option">conf</span></samp> file
-
- <br><dt><b>keyboard</b><dd><i>(file)</i>
+the global <samp>conf</samp> file
+</p>
+</dd>
+<dt><b>keyboard</b></dt>
+<dd><p><i>(file)</i>
use this keyboard layout for suggesting possible words. These spelling
errors happen if a user accidently presses a key next to the intended
correct key. The default is keyboard standard. If you are creating
keyboard. If spellchecking documents created elsewhere, you might
want to set this to the keyboard type for that locale. If you are not
sure, just leave this as standard
-
- <br><dt><b>prefix</b><dd><i>(dir)</i>
+</p>
+</dd>
+<dt><b>prefix</b></dt>
+<dd><p><i>(dir)</i>
prefix directory
-
- <br><dt><b>set-prefix</b><dd><i>(boolean)</i>
+</p>
+</dd>
+<dt><b>set-prefix</b></dt>
+<dd><p><i>(boolean)</i>
set the prefix based on executable location (only works on WIN32 and
-when compiled with <samp><span class="option">--enable-win32-relocatable</span></samp>)
+when compiled with <samp>--enable-win32-relocatable</samp>)
+</p></dd>
</dl>
+<a name="Aspell-Utility-Options"></a>
<h4 class="subsection">4.2.7 Aspell Utility Options</h4>
- <dl>
-<dt><b>backup,-b|-x</b><dd><i>(boolean)</i>
-Create a backup file by appending <samp><span class="file">.bak</span></samp> to the file name. This
-applies when the command is <samp><span class="command">check</span></samp> and the backup file is
+<dl compact="compact">
+<dt><b>backup,-b|-x</b></dt>
+<dd><p><i>(boolean)</i>
+Create a backup file by appending <samp>.bak</samp> to the file name. This
+applies when the command is <code>check</code> and the backup file is
only created if any spelling modifications take place.
-
- <br><dt><b>time</b><dd><i>(boolean)</i>
-Time load time and suggest time in <samp><span class="command">pipe</span></samp> mode.
-
- <br><dt><b>byte-offsets</b><dd><i>(boolean)</i>
-Use byte offsets instead of character offsets in <samp><span class="command">pipe</span></samp> mode.
-
- <br><dt><b>reverse</b><dd><i>(boolean)</i>
-Reverse the order of the suggestions list in <samp><span class="command">pipe</span></samp> mode.
-
- <br><dt><b>keymapping</b><dd><i>(string)</i>
-the keymapping to use. Either <samp><span class="option">aspell</span></samp> for the default mapping
-or <samp><span class="option">ispell</span></samp> to use the same mapping that the Ispell utility
+</p>
+</dd>
+<dt><b>time</b></dt>
+<dd><p><i>(boolean)</i>
+Time load time and suggest time in <code>pipe</code> mode.
+</p>
+</dd>
+<dt><b>byte-offsets</b></dt>
+<dd><p><i>(boolean)</i>
+Use byte offsets instead of character offsets in <code>pipe</code> mode.
+</p>
+</dd>
+<dt><b>reverse</b></dt>
+<dd><p><i>(boolean)</i>
+Reverse the order of the suggestions list in <code>pipe</code> mode.
+</p>
+</dd>
+<dt><b>keymapping</b></dt>
+<dd><p><i>(string)</i>
+the keymapping to use. Either <samp>aspell</samp> for the default mapping
+or <samp>ispell</samp> to use the same mapping that the Ispell utility
uses.
-
- <br><dt><b>guess</b><dd><i>(boolean)</i>
+</p>
+</dd>
+<dt><b>guess</b></dt>
+<dd><p><i>(boolean)</i>
make possible root/affix combinations not in the dictionary in
-<samp><span class="command">pipe</span></samp> mode.
-
- <br><dt><b>suggest</b><dd><i>(boolean)</i>
-Suggest possible replacements in <samp><span class="command">pipe</span></samp> mode. If false Aspell
+<code>pipe</code> mode.
+</p>
+</dd>
+<dt><b>suggest</b></dt>
+<dd><p><i>(boolean)</i>
+Suggest possible replacements in <code>pipe</code> mode. If false Aspell
will simply report the misspelling and make no attempt at suggestions
-or possible corrections.
+or possible corrections.
+</p></dd>
</dl>
- </body></html>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Dumping-Configuration-Values.html#Dumping-Configuration-Values" accesskey="n" rel="next">Dumping Configuration Values</a>, Previous: <a href="Specifying-Options.html#Specifying-Options" accesskey="p" rel="prev">Specifying Options</a>, Up: <a href="Customizing-Aspell.html#Customizing-Aspell" accesskey="u" rel="up">Customizing Aspell</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
+
+</body>
+</html>
-<html lang="en">
-<head>
-<title>The Simple Soundslike - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" title="Adding Support For Other Languages">
-<link rel="prev" href="Phonetic-Code.html#Phonetic-Code" title="Phonetic Code">
-<link rel="next" href="Replacement-Tables.html#Replacement-Tables" title="Replacement Tables">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: The Simple Soundslike</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: The Simple Soundslike">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" rel="up" title="Adding Support For Other Languages">
+<link href="Replacement-Tables.html#Replacement-Tables" rel="next" title="Replacement Tables">
+<link href="Phonetic-Code.html#Phonetic-Code" rel="prev" title="Phonetic Code">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="The-Simple-Soundslike"></a>
-Next: <a rel="next" accesskey="n" href="Replacement-Tables.html#Replacement-Tables">Replacement Tables</a>,
-Previous: <a rel="previous" accesskey="p" href="Phonetic-Code.html#Phonetic-Code">Phonetic Code</a>,
-Up: <a rel="up" accesskey="u" href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages">Adding Support For Other Languages</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Replacement-Tables.html#Replacement-Tables" accesskey="n" rel="next">Replacement Tables</a>, Previous: <a href="Phonetic-Code.html#Phonetic-Code" accesskey="p" rel="prev">Phonetic Code</a>, Up: <a href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" accesskey="u" rel="up">Adding Support For Other Languages</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="The-Simple-Soundslike-1"></a>
<h3 class="section">7.4 The Simple Soundslike</h3>
<p>The simple soundslike goes something like this:
+</p>
+<div class="example">
+<pre class="example">sl0[0] = lookup0(word[0])
+for (i = 1; i < size; i++)
+ sl0[i] = lookup(word[i]);
+s = 0;
+for (i = 0; i < size; i++)
+ sl.append(al0[i]) unless sl0[i] == 0 || sl0[i] == sl0[i-1];
+</pre></div>
-<pre class="example"> sl0[0] = lookup0(word[0])
- for (i = 1; i < size; i++)
- sl0[i] = lookup(word[i]);
- s = 0;
- for (i = 0; i < size; i++)
- sl.append(al0[i]) unless sl0[i] == 0 || sl0[i] == sl0[i-1];
-</pre>
- <p>Basically each character can be converted to another character or deleted.
+<p>Basically each character can be converted to another character or deleted.
A separate lookup table is used for the first character. If the same
soundslike letter is repeated, the duplicate is removed.
-
- <p>By default all accents are removed, and all vowels are deleted unless
+</p>
+<p>By default all accents are removed, and all vowels are deleted unless
they appear at the start of the word in which case they are converted
-to a `<samp><span class="samp">*</span></samp>'. The exact behavior can be customized via the character
+to a ‘<samp>*</samp>’. The exact behavior can be customized via the character
data file.
-
- <p>The simplified soundslike has the advantage that it is very fast to
+</p>
+<p>The simplified soundslike has the advantage that it is very fast to
compute and thus does not need to be stored with a word. Also, when
-affix compression is used and the <samp><span class="option">partially-expand</span></samp> is given
+affix compression is used and the <samp>partially-expand</samp> is given
the results will be identical to the results when affix compression is
not used.
+</p>
+<p>Of course it is not nearly as powerful as the phonetic soundslike.
+</p>
- <p>Of course it is not nearly as powerful as the phonetic soundslike.
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Through A Pipe - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Writing-programs-to-use-Aspell.html#Writing-programs-to-use-Aspell" title="Writing programs to use Aspell">
-<link rel="prev" href="Through-the-C-API.html#Through-the-C-API" title="Through the C API">
-<link rel="next" href="Notes-on-Storing-Replacement-Pairs.html#Notes-on-Storing-Replacement-Pairs" title="Notes on Storing Replacement Pairs">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Through A Pipe</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Through A Pipe">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Writing-programs-to-use-Aspell.html#Writing-programs-to-use-Aspell" rel="up" title="Writing programs to use Aspell">
+<link href="Notes-on-Storing-Replacement-Pairs.html#Notes-on-Storing-Replacement-Pairs" rel="next" title="Notes on Storing Replacement Pairs">
+<link href="Through-the-C-API.html#Through-the-C-API" rel="prev" title="Through the C API">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Through-A-Pipe"></a>
-Next: <a rel="next" accesskey="n" href="Notes-on-Storing-Replacement-Pairs.html#Notes-on-Storing-Replacement-Pairs">Notes on Storing Replacement Pairs</a>,
-Previous: <a rel="previous" accesskey="p" href="Through-the-C-API.html#Through-the-C-API">Through the C API</a>,
-Up: <a rel="up" accesskey="u" href="Writing-programs-to-use-Aspell.html#Writing-programs-to-use-Aspell">Writing programs to use Aspell</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Notes-on-Storing-Replacement-Pairs.html#Notes-on-Storing-Replacement-Pairs" accesskey="n" rel="next">Notes on Storing Replacement Pairs</a>, Previous: <a href="Through-the-C-API.html#Through-the-C-API" accesskey="p" rel="prev">Through the C API</a>, Up: <a href="Writing-programs-to-use-Aspell.html#Writing-programs-to-use-Aspell" accesskey="u" rel="up">Writing programs to use Aspell</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Through-A-Pipe-1"></a>
<h3 class="section">6.2 Through A Pipe</h3>
-<p>When given the <samp><span class="command">pipe</span></samp> or <samp><span class="command">-a</span></samp> command, Aspell goes
-into a pipe mode that is compatible with <samp><span class="command">ispell -a</span></samp>. Aspell
+<p>When given the <code>pipe</code> or <code>-a</code> command, Aspell goes
+into a pipe mode that is compatible with <code>ispell -a</code>. Aspell
also defines its own set of extensions to Ispell pipe mode.
-
+</p>
+<a name="Format-of-the-Data-Stream"></a>
<h4 class="subsection">6.2.1 Format of the Data Stream</h4>
<p>In this mode, Aspell prints a one-line version identification message,
and then begins reading lines of input. For each input line, a single
line is written to the standard output for each word checked for
spelling on the line. If the word was found in the main dictionary,
-or your personal dictionary, then the line contains only a `<samp><span class="samp">*</span></samp>'.
-
- <p>If the word is not in the dictionary, but there are suggestions, then
-the line contains an `<samp><span class="samp">&</span></samp>', a space, the misspelled word, a space,
+or your personal dictionary, then the line contains only a ‘<samp>*</samp>’.
+</p>
+<p>If the word is not in the dictionary, but there are suggestions, then
+the line contains an ‘<samp>&</samp>’, a space, the misspelled word, a space,
the number of near misses, the number of characters between the
beginning of the line and the beginning of the misspelled word, a
colon, another space, and a list of the suggestions separated by
commas and spaces.
-
- <p>If you set the option <samp><span class="command">run-together</span></samp> and Aspell thinks this word
+</p>
+<p>If you set the option <code>run-together</code> and Aspell thinks this word
is a combination of two words in the dictionary, then it prints a single
-`<samp><span class="samp">-</span></samp>' in one line.
-
- <p>Finally, if the word does not appear in the dictionary, and there are
-no suggestions, then the line contains a `<samp><span class="samp">#</span></samp>', a space, the
+‘<samp>-</samp>’ in one line.
+</p>
+<p>Finally, if the word does not appear in the dictionary, and there are
+no suggestions, then the line contains a ‘<samp>#</samp>’, a space, the
misspelled word, a space, and the character offset from the beginning
of the line. Each sentence of text input is terminated with an
additional blank line, indicating that Aspell has completed processing
the input line.
-
- <p>These output lines can be summarized as follows:
-
-<pre class="example"> <strong>OK</strong>: *
- <strong>Suggestions</strong>: & <i>original</i> <i>count</i> <i>offset</i>: <i>miss</i>, <i>miss</i>, ...
- <strong>None</strong>: # <i>original</i> <i>offset</i>
-</pre>
- <p>When in the <samp><span class="option">-a</span></samp> mode, Aspell will also accept lines of single
-words prefixed with any of `<samp><span class="samp">*</span></samp>', `<samp><span class="samp">&</span></samp>', `<samp><span class="samp">@</span></samp>',
-`<samp><span class="samp">+</span></samp>', `<samp><span class="samp">-</span></samp>', `<samp><span class="samp">~</span></samp>', `<samp><span class="samp">#</span></samp>', `<samp><span class="samp">!</span></samp>', `<samp><span class="samp">%</span></samp>', or
-`<samp><span class="samp">^</span></samp>'. A line starting with `<samp><span class="samp">*</span></samp>' tells Aspell to insert the
-word into the user's dictionary. A line starting with `<samp><span class="samp">&</span></samp>' tells
-Aspell to insert an all-lowercase version of the word into the user's
-dictionary. A line starting with `<samp><span class="samp">@</span></samp>' causes Aspell to accept
-this word in the future. A line starting with `<samp><span class="samp">+</span></samp>', followed
+</p>
+<p>These output lines can be summarized as follows:
+</p>
+<div class="example">
+<pre class="example"><strong>OK</strong>: *
+<strong>Suggestions</strong>: & <i>original</i> <i>count</i> <i>offset</i>: <i>miss</i>, <i>miss</i>, …
+<strong>None</strong>: # <i>original</i> <i>offset</i>
+</pre></div>
+
+<p>When in the <samp>-a</samp> mode, Aspell will also accept lines of single
+words prefixed with any of ‘<samp>*</samp>’, ‘<samp>&</samp>’, ‘<samp>@</samp>’,
+‘<samp>+</samp>’, ‘<samp>-</samp>’, ‘<samp>~</samp>’, ‘<samp>#</samp>’, ‘<samp>!</samp>’, ‘<samp>%</samp>’, or
+‘<samp>^</samp>’. A line starting with ‘<samp>*</samp>’ tells Aspell to insert the
+word into the user’s dictionary. A line starting with ‘<samp>&</samp>’ tells
+Aspell to insert an all-lowercase version of the word into the user’s
+dictionary. A line starting with ‘<samp>@</samp>’ causes Aspell to accept
+this word in the future. A line starting with ‘<samp>+</samp>’, followed
immediately by a valid mode will cause Aspell to parse future input
according the syntax of that formatter. A line consisting solely of a
-`<samp><span class="samp">+</span></samp>' will place Aspell in TeX/LaTeX mode (similar to the
-<samp><span class="option">-t</span></samp> option) and `<samp><span class="samp">-</span></samp>' returns Aspell to its default mode
-(which is Nroff unless otherwise specified).
-(but these commands are obsolete). A line `<samp><span class="samp">~</span></samp>', is ignored for
-Ispell compatibility. A line prefixed with `<samp><span class="samp">#</span></samp>' will cause the
-personal dictionaries to be saved. A line prefixed with `<samp><span class="samp">!</span></samp>'
+‘<samp>+</samp>’ will place Aspell in TeX/LaTeX mode (similar to the
+<samp>-t</samp> option) and ‘<samp>-</samp>’ returns Aspell to its default mode
+(which is Nroff unless otherwise specified).
+(but these commands are obsolete). A line ‘<samp>~</samp>’, is ignored for
+Ispell compatibility. A line prefixed with ‘<samp>#</samp>’ will cause the
+personal dictionaries to be saved. A line prefixed with ‘<samp>!</samp>’
will turn on terse mode (see below), and a line prefixed with
-`<samp><span class="samp">%</span></samp>' will return Aspell to normal (non-terse) mode. Any input
-following the prefix characters `<samp><span class="samp">+</span></samp>', `<samp><span class="samp">-</span></samp>', `<samp><span class="samp">#</span></samp>',
-`<samp><span class="samp">!</span></samp>', `<samp><span class="samp">~</span></samp>', or `<samp><span class="samp">%</span></samp>' is ignored, as is any input
+‘<samp>%</samp>’ will return Aspell to normal (non-terse) mode. Any input
+following the prefix characters ‘<samp>+</samp>’, ‘<samp>-</samp>’, ‘<samp>#</samp>’,
+‘<samp>!</samp>’, ‘<samp>~</samp>’, or ‘<samp>%</samp>’ is ignored, as is any input
following. To allow spell-checking of lines beginning with these
-characters, a line starting with `<samp><span class="samp">^</span></samp>' has that character removed
+characters, a line starting with ‘<samp>^</samp>’ has that character removed
before it is passed to the spell-checking code. It is recommended
that programmatic interfaces prefix every data line with an uparrow to
protect themselves against future changes in Aspell.
-
- <p>To summarize these:
-
- <p><table summary=""><tr align="left"><td valign="top" width="10%"><kbd>*</kbd><var>word</var>
- </td><td valign="top" width="90%">Add a word to the personal dictionary
-<br></td></tr><tr align="left"><td valign="top" width="10%"><kbd>&</kbd><var>word</var>
- </td><td valign="top" width="90%">Insert the all-lowercase version of the word in the personal dictionary
-<br></td></tr><tr align="left"><td valign="top" width="10%"><kbd>@</kbd><var>word</var>
- </td><td valign="top" width="90%">Accept the word, but leave it out of the dictionary
-<br></td></tr><tr align="left"><td valign="top" width="10%"><kbd>#</kbd>
- </td><td valign="top" width="90%">Save the current personal dictionary
-<br></td></tr><tr align="left"><td valign="top" width="10%"><kbd>~</kbd> </td><td valign="top" width="90%">Ignored for Ispell compatibility.
-<br></td></tr><tr align="left"><td valign="top" width="10%"><kbd>+</kbd> </td><td valign="top" width="90%">Enter TeX mode.
-<br></td></tr><tr align="left"><td valign="top" width="10%"><kbd>+</kbd><var>mode</var> </td><td valign="top" width="90%">Enter the mode specified by <var>mode</var>.
-<br></td></tr><tr align="left"><td valign="top" width="10%"><kbd>-</kbd> </td><td valign="top" width="90%">Enter the default mode.
-<br></td></tr><tr align="left"><td valign="top" width="10%"><kbd>!</kbd> </td><td valign="top" width="90%">Enter terse mode
-<br></td></tr><tr align="left"><td valign="top" width="10%"><kbd>%</kbd> </td><td valign="top" width="90%">Exit terse mode
-<br></td></tr><tr align="left"><td valign="top" width="10%"><kbd>^</kbd> </td><td valign="top" width="90%">Spell-check the rest of the line
- <br></td></tr></table>
-
- <p>In terse mode, Aspell will not print lines beginning with `<samp><span class="samp">*</span></samp>',
+</p>
+<p>To summarize these:
+</p>
+<table>
+<tr><td width="10%"><kbd>*<var>word</var></kbd></td><td width="90%">Add a word to the personal dictionary</td></tr>
+<tr><td width="10%"><kbd>&<var>word</var></kbd></td><td width="90%">Insert the all-lowercase version of the word in the personal dictionary</td></tr>
+<tr><td width="10%"><kbd>@<var>word</var></kbd></td><td width="90%">Accept the word, but leave it out of the dictionary</td></tr>
+<tr><td width="10%"><kbd>#</kbd></td><td width="90%">Save the current personal dictionary</td></tr>
+<tr><td width="10%"><kbd>~</kbd></td><td width="90%">Ignored for Ispell compatibility.</td></tr>
+<tr><td width="10%"><kbd>+</kbd></td><td width="90%">Enter TeX mode.</td></tr>
+<tr><td width="10%"><kbd>+<var>mode</var></kbd></td><td width="90%">Enter the mode specified by <var>mode</var>.</td></tr>
+<tr><td width="10%"><kbd>-</kbd></td><td width="90%">Enter the default mode.</td></tr>
+<tr><td width="10%"><kbd>!</kbd></td><td width="90%">Enter terse mode</td></tr>
+<tr><td width="10%"><kbd>%</kbd></td><td width="90%">Exit terse mode</td></tr>
+<tr><td width="10%"><kbd>^</kbd></td><td width="90%">Spell-check the rest of the line</td></tr>
+</table>
+
+<p>In terse mode, Aspell will not print lines beginning with ‘<samp>*</samp>’,
which indicate correct words. This significantly improves running
speed when the driving program is going to ignore correct words
anyway.
-
- <p>In addition to the above commands which are designed for Ispell
+</p>
+<p>In addition to the above commands which are designed for Ispell
compatibility Aspell also supports its own extensions. All Aspell
extensions follow the following format.
+</p>
+<div class="example">
+<pre class="example">$$<var>command</var> [<var>data</var>]
+</pre></div>
-<pre class="example"> $$<var>command</var> [<var>data</var>]
-</pre>
- <p>Where <var>data</var> may or may not be required depending on the
+<p>Where <var>data</var> may or may not be required depending on the
particular command. Aspell currently supports the following commands:
-
- <p><table summary=""><tr align="left"><td valign="top" width="33%"><code>cs </code><var>option</var><code>,</code><var>value</var> </td><td valign="top" width="67%">Change a configuration option.
-<br></td></tr><tr align="left"><td valign="top" width="33%"><code>cr </code><var>option</var> </td><td valign="top" width="67%">Prints the value of a configuration option.
-<br></td></tr><tr align="left"><td valign="top" width="33%"><code>pp</code>
- </td><td valign="top" width="67%">Returns a list of all words in the current personal wordlist.
-<br></td></tr><tr align="left"><td valign="top" width="33%"><code>ps</code>
- </td><td valign="top" width="67%">Returns a list of all words in the current session dictionary.
-<br></td></tr><tr align="left"><td valign="top" width="33%"><code>l</code> </td><td valign="top" width="67%">Returns the current language name.
-<br></td></tr><tr align="left"><td valign="top" width="33%"><code>ra </code><var>mis</var><code>,</code><var>cor</var> </td><td valign="top" width="67%">Add the word pair to the
- replacement dictionary for later use. Returns nothing.
- <br></td></tr></table>
-
- <p>Anything returned is returned on its own line. All lists returned
+</p>
+<table>
+<tr><td width="33%"><code>cs <var>option</var>,<var>value</var></code></td><td width="67%">Change a configuration option.</td></tr>
+<tr><td width="33%"><code>cr <var>option</var></code></td><td width="67%">Prints the value of a configuration option.</td></tr>
+<tr><td width="33%"><code>pp</code></td><td width="67%">Returns a list of all words in the current personal wordlist.</td></tr>
+<tr><td width="33%"><code>ps</code></td><td width="67%">Returns a list of all words in the current session dictionary.</td></tr>
+<tr><td width="33%"><code>l</code></td><td width="67%">Returns the current language name.</td></tr>
+<tr><td width="33%"><code>ra <var>mis</var>,<var>cor</var></code></td><td width="67%">Add the word pair to the
+ replacement dictionary for later use. Returns nothing.</td></tr>
+</table>
+
+<p>Anything returned is returned on its own line. All lists returned
have the following format
+</p>
+<div class="example">
+<pre class="example"><i>num of items</i>: <i>item1</i>, <i>item2</i>, <i>etc</i>
+</pre></div>
+
-<pre class="example"> <i>num of items</i>: <i>item1</i>, <i>item2</i>, <i>etc</i>
-</pre>
- <!-- FIXME: Add note about byte-offset option. -->
<p><em>(Part of the preceding section was directly copied out of the
Ispell manual)</em>
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Notes-on-Storing-Replacement-Pairs.html#Notes-on-Storing-Replacement-Pairs" accesskey="n" rel="next">Notes on Storing Replacement Pairs</a>, Previous: <a href="Through-the-C-API.html#Through-the-C-API" accesskey="p" rel="prev">Through the C API</a>, Up: <a href="Writing-programs-to-use-Aspell.html#Writing-programs-to-use-Aspell" accesskey="u" rel="up">Writing programs to use Aspell</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Through the C API - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Writing-programs-to-use-Aspell.html#Writing-programs-to-use-Aspell" title="Writing programs to use Aspell">
-<link rel="next" href="Through-A-Pipe.html#Through-A-Pipe" title="Through A Pipe">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Through the C API</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Through the C API">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Writing-programs-to-use-Aspell.html#Writing-programs-to-use-Aspell" rel="up" title="Writing programs to use Aspell">
+<link href="Through-A-Pipe.html#Through-A-Pipe" rel="next" title="Through A Pipe">
+<link href="Writing-programs-to-use-Aspell.html#Writing-programs-to-use-Aspell" rel="prev" title="Writing programs to use Aspell">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Through-the-C-API"></a>
-Next: <a rel="next" accesskey="n" href="Through-A-Pipe.html#Through-A-Pipe">Through A Pipe</a>,
-Up: <a rel="up" accesskey="u" href="Writing-programs-to-use-Aspell.html#Writing-programs-to-use-Aspell">Writing programs to use Aspell</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Through-A-Pipe.html#Through-A-Pipe" accesskey="n" rel="next">Through A Pipe</a>, Up: <a href="Writing-programs-to-use-Aspell.html#Writing-programs-to-use-Aspell" accesskey="u" rel="up">Writing programs to use Aspell</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Through-the-C-API-1"></a>
<h3 class="section">6.1 Through the C API</h3>
<p>The Aspell library contains two main classes and several helper
<code>AspellMutableWordList</code> is used to manage the personal, and
perhaps other, word lists. The <code>Aspell*Enumeration</code> classes are
used for iterating through a list.
-
+</p>
+<a name="Usage"></a>
<h4 class="subsection">6.1.1 Usage</h4>
-<p>To use Aspell your application should include <samp><span class="file">aspell.h</span></samp>. In
+<p>To use Aspell your application should include <samp>aspell.h</samp>. In
order to ensure that all the necessary libraries are linked in libtool
should be used to perform the linking. When using libtool simply
linking with <code>-laspell</code> should be all that is necessary. When
<code>-laspell</code>, but this is not recommended. This version of Aspell
uses the CVS version of libtool however released versions of libtool
should also work.
-
- <p>When your application first starts you should get a new configuration
+</p>
+<p>When your application first starts you should get a new configuration
class with the command:
+</p>
+<div class="smallexample">
+<pre class="smallexample">AspellConfig * spell_config = new_aspell_config();
+</pre></div>
-<pre class="smallexample"> AspellConfig * spell_config = new_aspell_config();
-</pre>
- <p class="noindent">which will create a new <code>AspellConfig</code> class. It is allocated
-with <samp><span class="command">new</span></samp> and it is your responsibility to delete it with
+<p>which will create a new <code>AspellConfig</code> class. It is allocated
+with <code>new</code> and it is your responsibility to delete it with
<code>delete_aspell_config</code>. Once you have the config class you
should set some variables. The most important one is the language
variable. To do so use the command:
+</p>
+<div class="smallexample">
+<pre class="smallexample">aspell_config_replace(spell_config, "lang", "en_US");
+</pre></div>
-<pre class="smallexample"> aspell_config_replace(spell_config, "lang", "en_US");
-</pre>
- <p class="noindent">which will set the default language to use to American English. The
+<p>which will set the default language to use to American English. The
language is expected to be the standard two letter ISO 639 language
code, with an optional two letter ISO 3166 country code after an
-underscore. You can set the preferred size via the <samp><span class="option">size</span></samp>
-option, any extra info via the <samp><span class="option">variety</span></samp> option, and the
-encoding via the <samp><span class="option">encoding</span></samp> option. Other things you might
+underscore. You can set the preferred size via the <samp>size</samp>
+option, any extra info via the <samp>variety</samp> option, and the
+encoding via the <samp>encoding</samp> option. Other things you might
want to set is the preferred spell checker to use, the search path for
dictionaries, and the like — see <a href="The-Options.html#The-Options">The Options</a>, for a list of
all available options.
-
- <p>Whenever a new document is created a new <code>AspellSpeller</code> class
+</p>
+<p>Whenever a new document is created a new <code>AspellSpeller</code> class
should also be created. There should be one speller class per
document. To create a new speller class use the
<code>new_aspell_speller</code> and then cast it up using
<code>to_aspell_speller</code> like so:
+</p>
+<div class="smallexample">
+<pre class="smallexample">AspellCanHaveError * possible_err = new_aspell_speller(spell_config);
+AspellSpeller * spell_checker = 0;
+if (aspell_error_number(possible_err) != 0)
+ puts(aspell_error_message(possible_err));
+else
+ spell_checker = to_aspell_speller(possible_err);
+</pre></div>
-<pre class="smallexample"> AspellCanHaveError * possible_err = new_aspell_speller(spell_config);
- AspellSpeller * spell_checker = 0;
- if (aspell_error_number(possible_err) != 0)
- puts(aspell_error_message(possible_err));
- else
- spell_checker = to_aspell_speller(possible_err);
-</pre>
- <p class="noindent">which will create a new <code>AspellSpeller</code> class using the defaults
+<p>which will create a new <code>AspellSpeller</code> class using the defaults
found in <code>spell_config</code>. To find out which dictionary is
-selected the <samp><span class="option">lang</span></samp>, <samp><span class="option">size</span></samp>, and <samp><span class="option">variety</span></samp> options
+selected the <samp>lang</samp>, <samp>size</samp>, and <samp>variety</samp> options
may be examined. To find out the exact name of the dictionary the
-<samp><span class="option">master</span></samp> option may be examined as well as the
-<samp><span class="option">master-flags</span></samp> options to see if there were any special flags
-that were passed on to the module. The <samp><span class="option">module</span></samp> option way
+<samp>master</samp> option may be examined as well as the
+<samp>master-flags</samp> options to see if there were any special flags
+that were passed on to the module. The <samp>module</samp> option way
also be examined to figure out which speller module was selected, but
since there is only one this option will always be the same.
-
- <p>If for some reason you want to use different defaults simply clone
+</p>
+<p>If for some reason you want to use different defaults simply clone
<code>spell_config</code> and change the setting like so:
+</p>
+<div class="smallexample">
+<pre class="smallexample">AspellConfig * spell_config2 = aspell_config_clone(spell_config);
+aspell_config_replace(spell_config2, "lang","nl");
+possible_err = new_aspell_speller(spell_config2);
+delete_aspell_config(spell_config2);
+</pre></div>
-<pre class="smallexample"> AspellConfig * spell_config2 = aspell_config_clone(spell_config);
- aspell_config_replace(spell_config2, "lang","nl");
- possible_err = new_aspell_speller(spell_config2);
- delete_aspell_config(spell_config2);
-</pre>
- <p>Once the speller class is created you can use the <code>check</code> method
+<p>Once the speller class is created you can use the <code>check</code> method
to see if a word in the document is correct like so:
+</p>
+<div class="smallexample">
+<pre class="smallexample">int correct = aspell_speller_check(spell_checker, <var>word</var>, <var>size</var>);
+</pre></div>
-<pre class="smallexample"> int correct = aspell_speller_check(spell_checker, <var>word</var>, <var>size</var>);
-</pre>
- <p class="noindent"><var>word</var> is expected to be a <code>const char *</code> character
+<p><var>word</var> is expected to be a <code>const char *</code> character
string. If the encoding is set to be <code>ucs-2</code> or
<code>ucs-4</code> <var>word</var> is expected to be a cast
from either <code>const u16int *</code> or <code>const u32int *</code>
respectively. <code>u16int</code> and <code>u32int</code> are generally
-<code>unsigned short</code> and <code>unsigned int</code> respectively.
+<code>unsigned short</code> and <code>unsigned int</code> respectively.
<var>size</var> is the length of the string or <code>-1</code> if the string
is null terminated. If the string is a cast from <code>const u16int
-*</code> or <code>const u32int *</code> then <i>size</i> is the amount of
+*</code> or <code>const u32int *</code> then <code><i>size</i></code> is the amount of
space in bytes the string takes up after being cast to <code>const
char *</code> and not the true size of the string. <code>sspell_speller_check</code>
will return <code>0</code> if it is not found and non-zero otherwise.
-
- <p>If the word is not correct, then the <code>suggest</code> method can be used
+</p>
+<p>If the word is not correct, then the <code>suggest</code> method can be used
to come up with likely replacements.
+</p>
+<div class="smallexample">
+<pre class="smallexample">AspellWordList * suggestions = aspell_speller_suggest(spell_checker,
+ <var>word</var>, <var>size</var>);
+AspellStringEnumeration * elements = aspell_word_list_elements(suggestions);
+const char * word;
+while ( (word = aspell_string_enumeration_next(aspell_elements)) != NULL )
+{
+ // add to suggestion list
+}
+delete_aspell_string_enumeration(elements);
+</pre></div>
-<pre class="smallexample"> AspellWordList * suggestions = aspell_speller_suggest(spell_checker,
- <var>word</var>, <var>size</var>);
- AspellStringEnumeration * elements = aspell_word_list_elements(suggestions);
- const char * word;
- while ( (word = aspell_string_enumeration_next(aspell_elements)) != NULL )
- {
- // add to suggestion list
- }
- delete_aspell_string_enumeration(elements);
-</pre>
- <p>Notice how <code>elements</code> is deleted but <code>suggestions</code> is not.
+<p>Notice how <code>elements</code> is deleted but <code>suggestions</code> is not.
The value returned by <code>suggestions</code> is only valid to the next
call to <code>suggest</code>. Once a replacement is made the
<code>store_repl</code> method should be used to communicate the replacement
pair back to the spell checker (for the reason, see <a href="Notes-on-Storing-Replacement-Pairs.html#Notes-on-Storing-Replacement-Pairs">Notes on Storing Replacement Pairs</a>). Its usage is as follows:
+</p>
+<div class="smallexample">
+<pre class="smallexample">aspell_speller_store_repl(spell_checker, <var>misspelled_word</var>, <var>size</var>,
+ <var>correctly_spelled_word</var>, <var>size</var>);
+</pre></div>
-<pre class="smallexample"> aspell_speller_store_repl(spell_checker, <var>misspelled_word</var>, <var>size</var>,
- <var>correctly_spelled_word</var>, <var>size</var>);
-</pre>
- <p>If the user decided to add the word to the session or personal
+<p>If the user decided to add the word to the session or personal
dictionary the the word can be be added using the
<code>add_to_session</code> or <code>add_to_personal</code> methods respectively
like so:
+</p>
+<div class="smallexample">
+<pre class="smallexample">aspell_speller_add_to_session|personal(spell_checker, <i>word</i>, <i>size</i>);
+</pre></div>
-<pre class="smallexample"> aspell_speller_add_to_session|personal(spell_checker, <i>word</i>, <i>size</i>);
-</pre>
- <p>It is better to let the spell checker manage these words rather than
+<p>It is better to let the spell checker manage these words rather than
doing it yourself so that the words have a chance of appearing in the
suggestion list.
-
- <p>Finally, when the document is closed the <code>AspellSpeller</code> class
+</p>
+<p>Finally, when the document is closed the <code>AspellSpeller</code> class
should be deleted like so:
+</p>
+<div class="smallexample">
+<pre class="smallexample">delete_aspell_speller(spell_checker);
+</pre></div>
-<pre class="smallexample"> delete_aspell_speller(spell_checker);
-</pre>
- <h4 class="subsection">6.1.2 API Reference</h4>
+<a name="API-Reference"></a>
+<h4 class="subsection">6.1.2 API Reference</h4>
<p>Methods that return a boolean result generally return <code>false</code> on
error and <code>true</code> otherwise. To find out what went wrong use the
<code>NULL</code> on error. In general, the character string returned is
only valid until the next method which returns a <code>const char *</code>
is called.
-
- <p>For the details of the various classes please see the header files.
+</p>
+<p>For the details of the various classes please see the header files.
In the future I will generate class references using some automated
tool.
-
+</p>
+<a name="Examples"></a>
<h4 class="subsection">6.1.3 Examples</h4>
<p>Two simple examples are included in the examples directory. The
<code>example-c</code> program demonstrates most of the Aspell library
functionality and the <code>list-dicts</code> lists the available
dictionaries.
-
+</p>
+<a name="Notes-About-Thread-Safety"></a>
<h4 class="subsection">6.1.4 Notes About Thread Safety</h4>
<p>Aspell should be thread safe, when used properly, as long as the
<code>const</code> object is passed in. Many methods that seam to be
read-only are not because they may store state information in the
object.
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Through-A-Pipe.html#Through-A-Pipe" accesskey="n" rel="next">Through A Pipe</a>, Up: <a href="Writing-programs-to-use-Aspell.html#Writing-programs-to-use-Aspell" accesskey="u" rel="up">Writing programs to use Aspell</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>To Do - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="prev" href="Language-Related-Issues.html#Language-Related-Issues" title="Language Related Issues">
-<link rel="next" href="Installing.html#Installing" title="Installing">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: To Do</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: To Do">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Important-Items.html#Important-Items" rel="next" title="Important Items">
+<link href="Context-Sensitive-Spelling.html#Context-Sensitive-Spelling" rel="prev" title="Context Sensitive Spelling">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="To-Do"></a>
-Next: <a rel="next" accesskey="n" href="Installing.html#Installing">Installing</a>,
-Previous: <a rel="previous" accesskey="p" href="Language-Related-Issues.html#Language-Related-Issues">Language Related Issues</a>,
-Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Installing.html#Installing" accesskey="n" rel="next">Installing</a>, Previous: <a href="Language-Related-Issues.html#Language-Related-Issues" accesskey="p" rel="prev">Language Related Issues</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="To-Do-1"></a>
<h2 class="appendix">Appendix D To Do</h2>
-<ul class="menu">
-<li><a accesskey="1" href="Important-Items.html#Important-Items">Important Items</a>
-<li><a accesskey="2" href="Other-Items.html#Other-Items">Other Items</a>
-<li><a accesskey="3" href="Notes-on-Various-Items.html#Notes-on-Various-Items">Notes on Various Items</a>
-</ul>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="Important-Items.html#Important-Items" accesskey="1">Important Items</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Other-Items.html#Other-Items" accesskey="2">Other Items</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Notes-on-Various-Items.html#Notes-on-Various-Items" accesskey="3">Notes on Various Items</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
-</body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Unicode Normalization - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Language-Related-Issues.html#Language-Related-Issues" title="Language Related Issues">
-<link rel="prev" href="Words-With-Symbols-in-Them.html#Words-With-Symbols-in-Them" title="Words With Symbols in Them">
-<link rel="next" href="German-Sharp-S.html#German-Sharp-S" title="German Sharp S">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Unicode Normalization</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Unicode Normalization">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Language-Related-Issues.html#Language-Related-Issues" rel="up" title="Language Related Issues">
+<link href="German-Sharp-S.html#German-Sharp-S" rel="next" title="German Sharp S">
+<link href="Words-With-Symbols-in-Them.html#Words-With-Symbols-in-Them" rel="prev" title="Words With Symbols in Them">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Unicode-Normalization"></a>
-Next: <a rel="next" accesskey="n" href="German-Sharp-S.html#German-Sharp-S">German Sharp S</a>,
-Previous: <a rel="previous" accesskey="p" href="Words-With-Symbols-in-Them.html#Words-With-Symbols-in-Them">Words With Symbols in Them</a>,
-Up: <a rel="up" accesskey="u" href="Language-Related-Issues.html#Language-Related-Issues">Language Related Issues</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="German-Sharp-S.html#German-Sharp-S" accesskey="n" rel="next">German Sharp S</a>, Previous: <a href="Words-With-Symbols-in-Them.html#Words-With-Symbols-in-Them" accesskey="p" rel="prev">Words With Symbols in Them</a>, Up: <a href="Language-Related-Issues.html#Language-Related-Issues" accesskey="u" rel="up">Language Related Issues</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Unicode-Normalization-1"></a>
<h3 class="appendixsec">C.3 Unicode Normalization</h3>
<p>Because Unicode contains a large number of precomposed characters there
are multiple ways a character can be represented. For example letter
-ö can either be represented as
+ö can either be represented as
+</p>
+<div class="example">
+<pre class="example">U+00F6 LATIN SMALL LETTER O WITH DIAERESIS
+</pre><pre class="example">or
+</pre><pre class="example">U+0061 LATIN SMALL LETTER O + U+0308 COMBINING DIAERESIS
+</pre></div>
-<pre class="example"> U+00F6 LATIN SMALL LETTER O WITH DIAERESIS
-<br>or<br>
- U+0061 LATIN SMALL LETTER O + U+0308 COMBINING DIAERESIS
-</pre>
- <p>By performing normalization first, Aspell will only see one of these
+<p>By performing normalization first, Aspell will only see one of these
representations. The exact form of normalization depends on the
language. Give the choice of:
+</p>
+<ol>
+<li> Precomposed character
+</li><li> Base letter + combining character(s)
+</li><li> Base letter only
+</li></ol>
- <ol type=1 start=1>
-<li>Precomposed character
-<li>Base letter + combining character(s)
-<li>Base letter only
- </ol>
-
-<p class="noindent">if the precomposed character is in the target character set, then (1),
+<p>if the precomposed character is in the target character set, then (1),
if both base and combining character is present, then (2), otherwise (3).
+</p>
+<p>Unicode Normalization is now implemented in Aspell 0.60.
+</p>
- <p>Unicode Normalization is now implemented in Aspell 0.60.
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Unsupported - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Languages-Which-Aspell-can-Support.html#Languages-Which-Aspell-can-Support" title="Languages Which Aspell can Support">
-<link rel="prev" href="Supported.html#Supported" title="Supported">
-<link rel="next" href="Multiple-Scripts.html#Multiple-Scripts" title="Multiple Scripts">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Unsupported</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Unsupported">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Languages-Which-Aspell-can-Support.html#Languages-Which-Aspell-can-Support" rel="up" title="Languages Which Aspell can Support">
+<link href="Multiple-Scripts.html#Multiple-Scripts" rel="next" title="Multiple Scripts">
+<link href="Supported.html#Supported" rel="prev" title="Supported">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Unsupported"></a>
-Next: <a rel="next" accesskey="n" href="Multiple-Scripts.html#Multiple-Scripts">Multiple Scripts</a>,
-Previous: <a rel="previous" accesskey="p" href="Supported.html#Supported">Supported</a>,
-Up: <a rel="up" accesskey="u" href="Languages-Which-Aspell-can-Support.html#Languages-Which-Aspell-can-Support">Languages Which Aspell can Support</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Multiple-Scripts.html#Multiple-Scripts" accesskey="n" rel="next">Multiple Scripts</a>, Previous: <a href="Supported.html#Supported" accesskey="p" rel="prev">Supported</a>, Up: <a href="Languages-Which-Aspell-can-Support.html#Languages-Which-Aspell-can-Support" accesskey="u" rel="up">Languages Which Aspell can Support</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Unsupported-1"></a>
<h3 class="appendixsec">B.2 Unsupported</h3>
<p>These languages, when written in the given script, are currently
unsupported by Aspell for one reason or another.
-
- <p><table summary=""><tr align="left"><td valign="top"><b>Code</b> </td><td valign="top"><b>Language Name</b> </td><td valign="top"><b>Script</b>
-<br></td></tr><tr align="left"><td valign="top">ja </td><td valign="top">Japanese </td><td valign="top">Japanese
-<br></td></tr><tr align="left"><td valign="top">km </td><td valign="top">Khmer </td><td valign="top">Khmer
-<br></td></tr><tr align="left"><td valign="top">ko </td><td valign="top">Korean </td><td valign="top">Han, Hangul
-<br></td></tr><tr align="left"><td valign="top">lo </td><td valign="top">Lao </td><td valign="top">Lao
-<br></td></tr><tr align="left"><td valign="top">th </td><td valign="top">Thai </td><td valign="top">Thai
-<br></td></tr><tr align="left"><td valign="top">zh </td><td valign="top">Chinese </td><td valign="top">Han
-
- <br></td></tr></table>
-
+</p>
+<table>
+<tr><td><b>Code</b></td><td><b>Language Name</b></td><td><b>Script</b></td></tr>
+<tr><td>ja</td><td>Japanese</td><td>Japanese</td></tr>
+<tr><td>km</td><td>Khmer</td><td>Khmer</td></tr>
+<tr><td>ko</td><td>Korean</td><td>Han, Hangul</td></tr>
+<tr><td>lo</td><td>Lao</td><td>Lao</td></tr>
+<tr><td>th</td><td>Thai</td><td>Thai</td></tr>
+<tr><td>zh</td><td>Chinese</td><td>Han</td></tr>
+</table>
+
+<a name="The-Thai_002c-Khmer_002c-and-Lao-Scripts"></a>
<h4 class="appendixsubsec">B.2.1 The Thai, Khmer, and Lao Scripts</h4>
<p>The Thai, Khmer, and Lao scripts presents a different problem for
difficult. I will be happy to work with someone who is interested in
adding Thai, Khmer, or Lao support to Aspell, but it is not likely
something I will do on my own in the foreseeable future.
+</p>
+<a name="Languages-which-use-Hanzi-Characters"></a>
+<h4 class="appendixsubsec">B.2.2 Languages which use Hànzi Characters</h4>
-<h4 class="appendixsubsec">B.2.2 Languages which use Hànzi Characters</h4>
-
-<p>Hànzi Characters are used to write Chinese, Japanese, Korean, and were
-once used to write Vietnamese. Each hànzi character represents a
+<p>Hànzi Characters are used to write Chinese, Japanese, Korean, and were
+once used to write Vietnamese. Each hànzi character represents a
syllable of a spoken word and also has a meaning. Since there are
around 3,000 of them in common usage it is unlikely that Aspell will
-ever be able to support spell checking languages written using hànzi
+ever be able to support spell checking languages written using hànzi
until full Unicode support is implemented. However, I am not even sure
-if these languages need spell checking since hànzi characters are
+if these languages need spell checking since hànzi characters are
generally not entered in directly. Furthermore even if Aspell could
-spell check hànzi the existing suggestion strategy will not work well
-at all, and thus a completely new strategy will need to be developed.
-However, if it is the case that hànzi needs to be spell checked and
+spell check hànzi the existing suggestion strategy will not work well
+at all, and thus a completely new strategy will need to be developed.
+However, if it is the case that hànzi needs to be spell checked and
you know something about the issues involved please fell free to contact
me.
-
+</p>
+<a name="Japanese"></a>
<h4 class="appendixsubsec">B.2.3 Japanese</h4>
-<p>Modern Japanese is written in a mixture of <dfn>hiragana</dfn>,
-<dfn>katakana</dfn>, <dfn>kanji</dfn>, and sometimes <dfn>romaji</dfn>. <dfn>Hiragana</dfn>
-and <dfn>katakana</dfn> are both syllabaries unique to Japan, <dfn>kanji</dfn> is
-a modified form of hànzi, and <dfn>romaji</dfn> uses the Latin alphabet.
+<p>Modern Japanese is written in a mixture of <em>hiragana</em>,
+<em>katakana</em>, <em>kanji</em>, and sometimes <em>romaji</em>. <em>Hiragana</em>
+and <em>katakana</em> are both syllabaries unique to Japan, <em>kanji</em> is
+a modified form of hànzi, and <em>romaji</em> uses the Latin alphabet.
With some work, Aspell should be able to check the non-kanji part of
Japanese text. However, based on my limited understanding of Japanese
hiragana is often used at the end of kanji. Thus if Aspell was to
simply separate out the hiragana from kanji it would end up with a lot
of word endings which are not proper words and will thus be flagged as
misspellings. However, this can be fairly easily rectified as text is
-tokenized into words before it is converted into Aspell's internal
+tokenized into words before it is converted into Aspell’s internal
encoding. In fact, some Japanese text is written in entirely in one
script. For example books for children and foreigners are sometimes
written entirely in hiragana. Thus, Aspell, in its current state, could
prove at least somewhat useful for spell checking Japanese.
-
+</p>
+<a name="Hangul"></a>
<h4 class="appendixsubsec">B.2.4 Hangul</h4>
<p>Korean is generally written in hangul or a mixture of han and hangul. In
precoposed sylable blocks (Hangul Syllables, U+AC00 - U+D7AF). In order
for Aspell to work with Hangul it needs to be form A. Unfortunately the
existing Normalization code in Aspell will not be able to adequately
-deal with converting Hangul from form D and C to form A and back again.
+deal with converting Hangul from form D and C to form A and back again.
However, once this code is written, Aspell should be able to spell check
Hangul without any problem.
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Multiple-Scripts.html#Multiple-Scripts" accesskey="n" rel="next">Multiple Scripts</a>, Previous: <a href="Supported.html#Supported" accesskey="p" rel="prev">Supported</a>, Up: <a href="Languages-Which-Aspell-can-Support.html#Languages-Which-Aspell-can-Support" accesskey="u" rel="up">Languages Which Aspell can Support</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Upgrading from Aspell 0.50 - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Installing.html#Installing" title="Installing">
-<link rel="prev" href="Loadable-Filter-Notes.html#Loadable-Filter-Notes" title="Loadable Filter Notes">
-<link rel="next" href="Upgrading-from-Aspell-_002e33_002fPspell-_002e12.html#Upgrading-from-Aspell-_002e33_002fPspell-_002e12" title="Upgrading from Aspell .33/Pspell .12">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Upgrading from Aspell 0.50</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Upgrading from Aspell 0.50">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Installing.html#Installing" rel="up" title="Installing">
+<link href="Upgrading-from-Aspell-_002e33_002fPspell-_002e12.html#Upgrading-from-Aspell-_002e33_002fPspell-_002e12" rel="next" title="Upgrading from Aspell .33/Pspell .12">
+<link href="Using-32_002dBit-Dictionaries-on-a-64_002dBit-System.html#Using-32_002dBit-Dictionaries-on-a-64_002dBit-System" rel="prev" title="Using 32-Bit Dictionaries on a 64-Bit System">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
-<a name="Upgrading-from-Aspell-0.50"></a>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Upgrading-from-Aspell-0_002e50"></a>
-Next: <a rel="next" accesskey="n" href="Upgrading-from-Aspell-_002e33_002fPspell-_002e12.html#Upgrading-from-Aspell-_002e33_002fPspell-_002e12">Upgrading from Aspell .33/Pspell .12</a>,
-Previous: <a rel="previous" accesskey="p" href="Loadable-Filter-Notes.html#Loadable-Filter-Notes">Loadable Filter Notes</a>,
-Up: <a rel="up" accesskey="u" href="Installing.html#Installing">Installing</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Upgrading-from-Aspell-_002e33_002fPspell-_002e12.html#Upgrading-from-Aspell-_002e33_002fPspell-_002e12" accesskey="n" rel="next">Upgrading from Aspell .33/Pspell .12</a>, Previous: <a href="Using-32_002dBit-Dictionaries-on-a-64_002dBit-System.html#Using-32_002dBit-Dictionaries-on-a-64_002dBit-System" accesskey="p" rel="prev">Using 32-Bit Dictionaries on a 64-Bit System</a>, Up: <a href="Installing.html#Installing" accesskey="u" rel="up">Installing</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
-<h3 class="appendixsec">E.5 Upgrading from Aspell 0.50</h3>
+<hr>
+<a name="Upgrading-from-Aspell-0_002e50-1"></a>
+<h3 class="appendixsec">E.6 Upgrading from Aspell 0.50</h3>
<p>The dictionary format has changed so dictionaries will need to be
recompiled.
-
- <p>All data, by default, is now included in <samp><var>libdir</var><span class="file">/aspell-0.60</span></samp> so
+</p>
+<p>All data, by default, is now included in <samp><var>libdir</var>/aspell-0.60</samp> so
that multiple versions of Aspell can more peacefully coexist. This
included both the dictionaries and the language data files which were
-stored in <samp><var>sharedir</var><span class="file">/aspell</span></samp> before Aspell 0.60.
-
- <p>The format of the character data files has changed. The new character
+stored in <samp><var>sharedir</var>/aspell</samp> before Aspell 0.60.
+</p>
+<p>The format of the character data files has changed. The new character
data files are installed with Aspell so you should not have to worry
about it unless you made a custom one.
-
- <p>The dictionary option <samp><span class="option">strip-accents</span></samp> has been removed. For
+</p>
+<p>The dictionary option <samp>strip-accents</samp> has been removed. For
this reason the old English dictionary (up to 0.51) will no longer
work. A new English dictionary is now available which avoids using
-this option. In addition the <samp><span class="option">ignore-accents</span></samp> option is
+this option. In addition the <samp>ignore-accents</samp> option is
currently unimplemented.
-
- <p>The flag <samp><span class="option">-l</span></samp> is now a shortcut for <samp><span class="option">--lang</span></samp>, instead of
-<samp><span class="option">--list</span></samp> as it was with Aspell 0.50.
-
- <p><a name="Binary-Compatibility"></a>
-
-<h4 class="appendixsubsec">E.5.1 Binary Compatibility</h4>
+</p>
+<p>The flag <samp>-l</samp> is now a shortcut for <samp>--lang</samp>, instead of
+<samp>--list</samp> as it was with Aspell 0.50.
+</p>
+<a name="Binary-Compatibility"></a><a name="Binary-Compatibility-1"></a>
+<h4 class="appendixsubsec">E.6.1 Binary Compatibility</h4>
<p>The Aspell 0.60 library is binary compatible with the Aspell 0.50
library. For this reason I chose <em>not</em> to increment the major
0.60. However, this means that having both Aspell 0.50 and Aspell 0.60
installed at the same time can be pragmatic. If you wish to allow both
Aspell 0.50 and 0.60 to be installed at the same time then you can use
-the configure option <samp><span class="option">--incremented-soname</span></samp> which will increment
+the configure option <samp>--incremented-soname</samp> which will increment
so-name. You should only use this option if you know what you are
doing. It is up to you to somehow ensure that both the Aspell 0.50 and
0.60 executables can coexist.
-
- <p>If after incrementing the so-name you wish to allow programs compiled
+</p>
+<p>If after incrementing the so-name you wish to allow programs compiled
for Aspell 0.50 to use Aspell 0.60 instead (thus implying that Aspell
0.50 is not installed) then you can use a special compatibility library
-which can be found in the <samp><span class="file">lib5</span></samp> directory. This directory will
+which can be found in the <samp>lib5</samp> directory. This directory will
not be entered when building or installing Aspell so you must manually
build and install this library. You should build it after the rest of
Aspell is built. The order in which this library is installed, with
library (which will work for Aspell 0.50 or 0.60) when built, if
installed <em>before</em>, new programs will link with the new library
(Aspell 0.60 only).
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Upgrading-from-Aspell-_002e33_002fPspell-_002e12.html#Upgrading-from-Aspell-_002e33_002fPspell-_002e12" accesskey="n" rel="next">Upgrading from Aspell .33/Pspell .12</a>, Previous: <a href="Using-32_002dBit-Dictionaries-on-a-64_002dBit-System.html#Using-32_002dBit-Dictionaries-on-a-64_002dBit-System" accesskey="p" rel="prev">Using 32-Bit Dictionaries on a 64-Bit System</a>, Up: <a href="Installing.html#Installing" accesskey="u" rel="up">Installing</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Upgrading from Aspell .33/Pspell .12 - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Installing.html#Installing" title="Installing">
-<link rel="prev" href="Upgrading-from-Aspell-0_002e50.html#Upgrading-from-Aspell-0_002e50" title="Upgrading from Aspell 0.50">
-<link rel="next" href="Upgrading-from-a-Pre_002d0_002e50-snapshot.html#Upgrading-from-a-Pre_002d0_002e50-snapshot" title="Upgrading from a Pre-0.50 snapshot">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Upgrading from Aspell .33/Pspell .12</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Upgrading from Aspell .33/Pspell .12">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Installing.html#Installing" rel="up" title="Installing">
+<link href="Upgrading-from-a-Pre_002d0_002e50-snapshot.html#Upgrading-from-a-Pre_002d0_002e50-snapshot" rel="next" title="Upgrading from a Pre-0.50 snapshot">
+<link href="Upgrading-from-Aspell-0_002e50.html#Upgrading-from-Aspell-0_002e50" rel="prev" title="Upgrading from Aspell 0.50">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
-<a name="Upgrading-from-Aspell-.33%2fPspell-.12"></a>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Upgrading-from-Aspell-_002e33_002fPspell-_002e12"></a>
-Next: <a rel="next" accesskey="n" href="Upgrading-from-a-Pre_002d0_002e50-snapshot.html#Upgrading-from-a-Pre_002d0_002e50-snapshot">Upgrading from a Pre-0.50 snapshot</a>,
-Previous: <a rel="previous" accesskey="p" href="Upgrading-from-Aspell-0_002e50.html#Upgrading-from-Aspell-0_002e50">Upgrading from Aspell 0.50</a>,
-Up: <a rel="up" accesskey="u" href="Installing.html#Installing">Installing</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Upgrading-from-a-Pre_002d0_002e50-snapshot.html#Upgrading-from-a-Pre_002d0_002e50-snapshot" accesskey="n" rel="next">Upgrading from a Pre-0.50 snapshot</a>, Previous: <a href="Upgrading-from-Aspell-0_002e50.html#Upgrading-from-Aspell-0_002e50" accesskey="p" rel="prev">Upgrading from Aspell 0.50</a>, Up: <a href="Installing.html#Installing" accesskey="u" rel="up">Installing</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
-<h3 class="appendixsec">E.6 Upgrading from Aspell .33/Pspell .12</h3>
+<hr>
+<a name="Upgrading-from-Aspell-_002e33_002fPspell-_002e12-1"></a>
+<h3 class="appendixsec">E.7 Upgrading from Aspell .33/Pspell .12</h3>
<p>Aspell has undergone an extremely large number of changes since the
previous Aspell/Pspell release. For one thing Pspell has been merged
with Aspell so there in no longer two separate libraries you have to
worry about.
-
- <p>Because of the massive changes between Aspell/Pspell and Aspell 0.50
+</p>
+<p>Because of the massive changes between Aspell/Pspell and Aspell 0.50
you may want to clean out the old files before installing the the new
-Aspell. To do so do a `<samp><span class="samp">make uninstall</span></samp>' in the original Aspell
+Aspell. To do so do a ‘<samp>make uninstall</samp>’ in the original Aspell
and Pspell source directories.
-
- <p>The way dictionaries are handled has also changed. This includes a
+</p>
+<p>The way dictionaries are handled has also changed. This includes a
change in the naming conventions of both language names and
dictionaries. Due to the language name change, your old personal
dictionaries will not be recognized. However, you can import the old
-dictionaries by running the <samp><span class="command">aspell-import</span></samp> script. This also
+dictionaries by running the <code>aspell-import</code> script. This also
means that dictionaries designed to work with older versions of Aspell
are not likely to function correctly. Fortunately new dictionary
packages are available for most languages. You can find them off of
the Aspell home page at <a href="http://aspell.net">http://aspell.net</a>.
-
- <p>The Pspell ABI is now part of Aspell except that the name of
+</p>
+<p>The Pspell ABI is now part of Aspell except that the name of
everything has changed due to the renaming of Pspell to Aspell. In
particular please note the following name changes:
+</p>
+<div class="example">
+<pre class="example">pspell -> aspell
+manager -> speller
+emulation -> enumeration
+master_word_list -> main_word_list
+</pre></div>
-<pre class="example"> pspell -> aspell
- manager -> speller
- emulation -> enumeration
- master_word_list -> main_word_list
-</pre>
- <p>Please also note that the name of the <samp><span class="option">language-tag</span></samp> option has
-changed to <samp><span class="option">lang</span></samp>. However, for backward compatibility the
-<samp><span class="option">language-tag</span></samp> option will still work.
-
- <p>However, you should also be able to build applications that require
+<p>Please also note that the name of the <samp>language-tag</samp> option has
+changed to <samp>lang</samp>. However, for backward compatibility the
+<samp>language-tag</samp> option will still work.
+</p>
+<p>However, you should also be able to build applications that require
Pspell with the new Aspell as a backward compatibility header file is
provided.
-
- <p>Due to a change in the way dictionaries are handled, scanning for
-<samp><span class="file">.pwli</span></samp> files in order to find out which dictionaries are
+</p>
+<p>Due to a change in the way dictionaries are handled, scanning for
+<samp>.pwli</samp> files in order to find out which dictionaries are
available will no longer work. This means that programs that relied
-on this technique may have problems finding dictionaries.
+on this technique may have problems finding dictionaries.
Fortunately, GNU Aspell now provided a uniform way to list all
installed dictionaries via the c API. See the file
-<samp><span class="file">list-dicts.c</span></samp> in the <samp><span class="file">examples/</span></samp> directory for an example
-of how to do this. Unfortunately there isn't any simple way to find
+<samp>list-dicts.c</samp> in the <samp>examples/</samp> directory for an example
+of how to do this. Unfortunately there isn’t any simple way to find
out which dictionaries are installed which will work with both the old
Aspell/Pspell and the new GNU Aspell.
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Upgrading-from-a-Pre_002d0_002e50-snapshot.html#Upgrading-from-a-Pre_002d0_002e50-snapshot" accesskey="n" rel="next">Upgrading from a Pre-0.50 snapshot</a>, Previous: <a href="Upgrading-from-Aspell-0_002e50.html#Upgrading-from-Aspell-0_002e50" accesskey="p" rel="prev">Upgrading from Aspell 0.50</a>, Up: <a href="Installing.html#Installing" accesskey="u" rel="up">Installing</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Upgrading from a Pre-0.50 snapshot - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Installing.html#Installing" title="Installing">
-<link rel="prev" href="Upgrading-from-Aspell-_002e33_002fPspell-_002e12.html#Upgrading-from-Aspell-_002e33_002fPspell-_002e12" title="Upgrading from Aspell .33/Pspell .12">
-<link rel="next" href="WIN32-Notes.html#WIN32-Notes" title="WIN32 Notes">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Upgrading from a Pre-0.50 snapshot</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Upgrading from a Pre-0.50 snapshot">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Installing.html#Installing" rel="up" title="Installing">
+<link href="WIN32-Notes.html#WIN32-Notes" rel="next" title="WIN32 Notes">
+<link href="Upgrading-from-Aspell-_002e33_002fPspell-_002e12.html#Upgrading-from-Aspell-_002e33_002fPspell-_002e12" rel="prev" title="Upgrading from Aspell .33/Pspell .12">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
-<a name="Upgrading-from-a-Pre-0.50-snapshot"></a>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Upgrading-from-a-Pre_002d0_002e50-snapshot"></a>
-Next: <a rel="next" accesskey="n" href="WIN32-Notes.html#WIN32-Notes">WIN32 Notes</a>,
-Previous: <a rel="previous" accesskey="p" href="Upgrading-from-Aspell-_002e33_002fPspell-_002e12.html#Upgrading-from-Aspell-_002e33_002fPspell-_002e12">Upgrading from Aspell .33/Pspell .12</a>,
-Up: <a rel="up" accesskey="u" href="Installing.html#Installing">Installing</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="WIN32-Notes.html#WIN32-Notes" accesskey="n" rel="next">WIN32 Notes</a>, Previous: <a href="Upgrading-from-Aspell-_002e33_002fPspell-_002e12.html#Upgrading-from-Aspell-_002e33_002fPspell-_002e12" accesskey="p" rel="prev">Upgrading from Aspell .33/Pspell .12</a>, Up: <a href="Installing.html#Installing" accesskey="u" rel="up">Installing</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
+<hr>
+<a name="Upgrading-from-a-Pre_002d0_002e50-snapshot-1"></a>
+<h3 class="appendixsec">E.8 Upgrading from a Pre-0.50 snapshot</h3>
-<h3 class="appendixsec">E.7 Upgrading from a Pre-0.50 snapshot</h3>
-
-<p>At the last minute I decided to merge the <samp><span class="file">speller-util</span></samp> program
-into the main <samp><span class="file">aspell</span></samp> program. You may wish to remove that
-<samp><span class="file">speller-util</span></samp> program to avoid confusion. This also means that
+<p>At the last minute I decided to merge the <samp>speller-util</samp> program
+into the main <samp>aspell</samp> program. You may wish to remove that
+<samp>speller-util</samp> program to avoid confusion. This also means that
dictionaries designed to work with the snapshot will no longer work
with the official release.
+</p>
+
- </body></html>
+</body>
+</html>
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
+
+GNU Aspell is a spell checker designed to eventually replace Ispell.
+It can either be used as a library or as an independent spell checker.
+
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Using 32-Bit Dictionaries on a 64-Bit System</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Using 32-Bit Dictionaries on a 64-Bit System">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Installing.html#Installing" rel="up" title="Installing">
+<link href="Upgrading-from-Aspell-0_002e50.html#Upgrading-from-Aspell-0_002e50" rel="next" title="Upgrading from Aspell 0.50">
+<link href="Loadable-Filter-Notes.html#Loadable-Filter-Notes" rel="prev" title="Loadable Filter Notes">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Using-32_002dBit-Dictionaries-on-a-64_002dBit-System"></a>
+<div class="header">
+<p>
+Next: <a href="Upgrading-from-Aspell-0_002e50.html#Upgrading-from-Aspell-0_002e50" accesskey="n" rel="next">Upgrading from Aspell 0.50</a>, Previous: <a href="Loadable-Filter-Notes.html#Loadable-Filter-Notes" accesskey="p" rel="prev">Loadable Filter Notes</a>, Up: <a href="Installing.html#Installing" accesskey="u" rel="up">Installing</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<hr>
+<a name="Using-32_002dBit-Dictionaries-on-a-64_002dBit-System-1"></a>
+<h3 class="appendixsec">E.5 Using 32-Bit Dictionaries on a 64-Bit System</h3>
+
+<p>Due to an oversight, Aspell compiled dictionaries not only depend on
+the endian order, they also depend on the the size of the
+<code>size_t</code> type, which is generally different on 32 and
+64-bit systems. The <code>size_t</code> type is used in the hash function
+of the compiled dictionaries. To force the hash function to use a
+32-bit integer instead, use the <samp>--enable-32-bit-hash-fun</samp>
+configure option. This option will allow you to use dictionaries
+compiled on a 32-bit machine on a 64-bit one as long as the endian
+order is the same. Of course, dictionaries compiled on a 64-bit
+machine without this option enabled will no longer be usable. If
+Aspell detects that an incompatible hash function is used, it will fail
+with:
+</p><blockquote>
+<p>Error: The file “<var>some-file</var>” is not in the proper format. Incompatible hash function.
+</p></blockquote>
+
+
+
+
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Using Aspell as a Replacement for Ispell - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Basic-Usage.html#Basic-Usage" title="Basic Usage">
-<link rel="prev" href="Spellchecking-Individual-Files.html#Spellchecking-Individual-Files" title="Spellchecking Individual Files">
-<link rel="next" href="Using-Aspell-with-other-Applications.html#Using-Aspell-with-other-Applications" title="Using Aspell with other Applications">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Using Aspell as a Replacement for Ispell</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Using Aspell as a Replacement for Ispell">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Basic-Usage.html#Basic-Usage" rel="up" title="Basic Usage">
+<link href="Using-Aspell-with-other-Applications.html#Using-Aspell-with-other-Applications" rel="next" title="Using Aspell with other Applications">
+<link href="Spellchecking-Individual-Files.html#Spellchecking-Individual-Files" rel="prev" title="Spellchecking Individual Files">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Using-Aspell-as-a-Replacement-for-Ispell"></a>
-Next: <a rel="next" accesskey="n" href="Using-Aspell-with-other-Applications.html#Using-Aspell-with-other-Applications">Using Aspell with other Applications</a>,
-Previous: <a rel="previous" accesskey="p" href="Spellchecking-Individual-Files.html#Spellchecking-Individual-Files">Spellchecking Individual Files</a>,
-Up: <a rel="up" accesskey="u" href="Basic-Usage.html#Basic-Usage">Basic Usage</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Using-Aspell-with-other-Applications.html#Using-Aspell-with-other-Applications" accesskey="n" rel="next">Using Aspell with other Applications</a>, Previous: <a href="Spellchecking-Individual-Files.html#Spellchecking-Individual-Files" accesskey="p" rel="prev">Spellchecking Individual Files</a>, Up: <a href="Basic-Usage.html#Basic-Usage" accesskey="u" rel="up">Basic Usage</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Using-Aspell-as-a-Replacement-for-Ispell-1"></a>
<h3 class="section">3.2 Using Aspell as a Replacement for Ispell</h3>
<p>As of GNU Aspell 0.60.1 Aspell should be able to completely replace
Ispell for most applications. The Ispell compatibility script should
work for most applications which expect Ispell. However there are
some differences which you should be aware of.
-
+</p>
+<a name="As-a-Drop-In-Replacement"></a>
<h4 class="subsection">3.2.1 As a Drop In Replacement</h4>
<p>Aspell can be used as a drop in replacement for Ispell for programs
that use Ispell through a pipe such as Emacs and LyX. It can also be
-used with programs that simply call the <samp><span class="command">ispell</span></samp> command and
+used with programs that simply call the <code>ispell</code> command and
expect the original file to be overwritten with the corrected version.
-
- <p>If you do not have Ispell installed on your system and have installed
+</p>
+<p>If you do not have Ispell installed on your system and have installed
the Ispell compatibility script then you should not need to do anything
as most applications that expect Ispell will work as expected
with Aspell via the Ispell compatibility script.
-
- <p>Otherwise, the recommended way to use Aspell as a replacement for
-Ispell is to change the <samp><span class="command">ispell</span></samp> command from within the
-program being used. If the program uses <samp><span class="command">ispell</span></samp> in pipe mode
-simply change <samp><span class="command">ispell</span></samp> to <samp><span class="command">aspell</span></samp>. If the program
-calls the <samp><span class="command">ispell</span></samp> command to check the file, then change
-<samp><span class="command">ispell</span></samp> with <samp><span class="command">aspell check</span></samp>.
-
- <p>If that is impossible then the <samp><span class="command">run-with-aspell</span></samp> script can be
+</p>
+<p>Otherwise, the recommended way to use Aspell as a replacement for
+Ispell is to change the <code>ispell</code> command from within the
+program being used. If the program uses <code>ispell</code> in pipe mode
+simply change <code>ispell</code> to <code>aspell</code>. If the program
+calls the <code>ispell</code> command to check the file, then change
+<code>ispell</code> with <code>aspell check</code>.
+</p>
+<p>If that is impossible then the <code>run-with-aspell</code> script can be
used. This script modifies the patch so that programs see the Ispell
-compatibility script instead of the actual true <samp><span class="command">ispell</span></samp>
+compatibility script instead of the actual true <code>ispell</code>
command. The format of the script is:
+</p>
+<div class="example">
+<pre class="example">run-with-aspell <var>command</var>
+</pre></div>
-<pre class="example"> run-with-aspell <var>command</var>
-</pre>
- <p class="noindent">where <var>command</var> is the name of the program with any optional
+<p>where <var>command</var> is the name of the program with any optional
arguments.
-
- <p>The old method of mapping Ispell to Aspell is discouraged because it
+</p>
+<p>The old method of mapping Ispell to Aspell is discouraged because it
can create compatibility problems with programs that actually require
-Ispell such as Ispell's own scripts.
-
- <p><a name="Differences-From-Ispell"></a>
-
+Ispell such as Ispell’s own scripts.
+</p>
+<a name="Differences-From-Ispell"></a><a name="Differences-From-Ispell-1"></a>
<h4 class="subsection">3.2.2 Differences From Ispell</h4>
<p>Nevertheless, Aspell is not Ispell, nor is it meant to completely
-emulate the behavior of Ispell. The <samp><span class="command">aspell</span></samp> command is not
-identical to the <samp><span class="command">ispell</span></samp> command when not used in “pipe”
-mode. If an application expects the <samp><span class="command">ispell</span></samp> command, then
+emulate the behavior of Ispell. The <code>aspell</code> command is not
+identical to the <code>ispell</code> command when not used in “pipe”
+mode. If an application expects the <code>ispell</code> command, then
the Ispell compatibility script should be used instead.
-
-<h5 class="subsubsection">3.2.2.1 Functionality of the Ispell Compatibility Script</h5>
+</p>
+<a name="Functionality-of-the-Ispell-Compatibility-Script"></a>
+<h4 class="subsubsection">3.2.2.1 Functionality of the Ispell Compatibility Script</h4>
<p>The Ispell compatibility script provides the following Ispell
functionally.
+</p>
+<ul>
+<li> The ability to check a file when called without any mode parameters.
- <ul>
-<li>The ability to check a file when called without any mode parameters.
+</li><li> The pipe or -a mode.
- <li>The pipe or -a mode.
+</li><li> The list or -l mode.
- <li>The list or -l mode.
-
- <li>The version or -v mode. A single line is returned which, while not
+</li><li> The version or -v mode. A single line is returned which, while not
being identical to the line Ispell returns, is sufficient to fool most
programs.
- <li>The munch or -c mode.
+</li><li> The munch or -c mode.
- <li>The expand or -e mode.
+</li><li> The expand or -e mode.
- <li>The ability to dump the affix file when called with '-D'. However the
+</li><li> The ability to dump the affix file when called with ’-D’. However the
format of the affix file is different. Furthermore, not all languages
have an affix file.
- </ul>
+</li></ul>
- <p>However the Ispell script is currently unable to emulate
-the '-A' pipe mode. This is different from the normal pipe mode in
+<p>However the Ispell script is currently unable to emulate
+the ’-A’ pipe mode. This is different from the normal pipe mode in
that the special <code>&Include_File&</code> command is recognized.
-
-<h5 class="subsubsection">3.2.2.2 Recognized Options</h5>
+</p>
+<a name="Recognized-Options"></a>
+<h4 class="subsubsection">3.2.2.2 Recognized Options</h4>
<p>Aspell, and thus the Ispell compatibility script, recognizes most of
-the options that Ispell uses except for the '-S', '-w' and '-T'
+the options that Ispell uses except for the ’-S’, ’-w’ and ’-T’
options. The Aspell command will simply ignore these options if it
sees them.
-
-<h5 class="subsubsection">3.2.2.3 Check Mode Compatibility</h5>
+</p>
+<a name="Check-Mode-Compatibility"></a>
+<h4 class="subsubsection">3.2.2.3 Check Mode Compatibility</h4>
<p>The interface used by Aspell when checking individual files is
-slightly different than Ispell's. In particular the default
+slightly different than Ispell’s. In particular the default
keymappings are not the same as the ones Ispell uses. However Aspell
-supports using the Ispell keymappings via the <samp><span class="option">keymapping</span></samp>
-option. To use the Ispell keymappings set the <samp><span class="option">kepmapping</span></samp>
+supports using the Ispell keymappings via the <samp>keymapping</samp>
+option. To use the Ispell keymappings set the <samp>kepmapping</samp>
option to <code>ispell</code>. This can be done on the command line by
adding using the command:
-
-<pre class="example"> aspell check --keymapping=ispell ...
-<br>or with the Ispell compatibility script<br>
- ispell --keymapping=ispell ...
-</pre>
- <p>The Ispell keymapping can always be used when the Ispell compatibly
+</p>
+<div class="example">
+<pre class="example"> aspell check --keymapping=ispell …
+</pre><pre class="example">or with the Ispell compatibility script
+</pre><pre class="example"> ispell --keymapping=ispell …
+</pre></div>
+
+<p>The Ispell keymapping can always be used when the Ispell compatibly
script is called by uncommenting the indicated line in the
-<samp><span class="command">ispell</span></samp> script.
-
-<h5 class="subsubsection">3.2.2.4 Pipe Mode Compatibility</h5>
+<code>ispell</code> script.
+</p>
+<a name="Pipe-Mode-Compatibility"></a>
+<h4 class="subsubsection">3.2.2.4 Pipe Mode Compatibility</h4>
<p>The Aspell pipe mode should be identical to the Ispell pipe mode except
-if the line starts with a '$$' as that will trigger special Aspell
-only commands or if the line starts with a '~' which is ignored by Aspell.
-
-<h5 class="subsubsection">3.2.2.5 Other Differences</h5>
-
-<p>The compiled dictionary format is completely different than Ispell's.
-Furthermore the format of the language data files' are different than
-Ispell's affix file. However, all known Ispell dictionaries were
+if the line starts with a ’$$’ as that will trigger special Aspell
+only commands or if the line starts with a ’~’ which is ignored by Aspell.
+</p>
+<a name="Other-Differences"></a>
+<h4 class="subsubsection">3.2.2.5 Other Differences</h4>
+
+<p>The compiled dictionary format is completely different than Ispell’s.
+Furthermore the format of the language data files’ are different than
+Ispell’s affix file. However, all known Ispell dictionaries were
converted to Aspell format, except for Albanian (sq) as I was unable
to find the source word list.
-
- <p>The naming and format of the personal dictionary is also different.
+</p>
+<p>The naming and format of the personal dictionary is also different.
However, Ispell personal dictionaries can be imported using the
-<samp><span class="command">aspell-import</span></samp> script. See <a href="Using-aspell_002dimport.html#Using-aspell_002dimport">Using aspell-import</a>. The
+<code>aspell-import</code> script. See <a href="Using-aspell_002dimport.html#Using-aspell_002dimport">Using aspell-import</a>. The
Ispell personal dictionary is simply a list of words while the Aspell
one is a list of words with a header line. Thus it is also fairly
-easy to convert between the two. See <a href="Format-of-the-Personal-Dictionary.html#Format-of-the-Personal-Dictionary">Format of the Personal Dictionary</a>.
-
-<h5 class="subsubsection">3.2.2.6 Missing Functionally</h5>
+easy to convert between the two. See <a href="Format-of-the-Personal-and-Replacement-Dictionaries.html#Format-of-the-Personal-Dictionary">Format of the Personal Dictionary</a>.
+</p>
+<a name="Missing-Functionally"></a>
+<h4 class="subsubsection">3.2.2.6 Missing Functionally</h4>
<p>The only major area where Ispell is superior to Aspell is in the
handling of multi character letters such as old ASCII encoding of
accented characters.
-
- <p>However, Aspell can handle UTF-8 documents far better than Ispell
+</p>
+<p>However, Aspell can handle UTF-8 documents far better than Ispell
can.
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Using-Aspell-with-other-Applications.html#Using-Aspell-with-other-Applications" accesskey="n" rel="next">Using Aspell with other Applications</a>, Previous: <a href="Spellchecking-Individual-Files.html#Spellchecking-Individual-Files" accesskey="p" rel="prev">Spellchecking Individual Files</a>, Up: <a href="Basic-Usage.html#Basic-Usage" accesskey="u" rel="up">Basic Usage</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Using Aspell with other Applications - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Basic-Usage.html#Basic-Usage" title="Basic Usage">
-<link rel="prev" href="Using-Aspell-as-a-Replacement-for-Ispell.html#Using-Aspell-as-a-Replacement-for-Ispell" title="Using Aspell as a Replacement for Ispell">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Using Aspell with other Applications</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Using Aspell with other Applications">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Basic-Usage.html#Basic-Usage" rel="up" title="Basic Usage">
+<link href="Customizing-Aspell.html#Customizing-Aspell" rel="next" title="Customizing Aspell">
+<link href="Using-Aspell-as-a-Replacement-for-Ispell.html#Using-Aspell-as-a-Replacement-for-Ispell" rel="prev" title="Using Aspell as a Replacement for Ispell">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Using-Aspell-with-other-Applications"></a>
-Previous: <a rel="previous" accesskey="p" href="Using-Aspell-as-a-Replacement-for-Ispell.html#Using-Aspell-as-a-Replacement-for-Ispell">Using Aspell as a Replacement for Ispell</a>,
-Up: <a rel="up" accesskey="u" href="Basic-Usage.html#Basic-Usage">Basic Usage</a>
-<hr>
+<div class="header">
+<p>
+Previous: <a href="Using-Aspell-as-a-Replacement-for-Ispell.html#Using-Aspell-as-a-Replacement-for-Ispell" accesskey="p" rel="prev">Using Aspell as a Replacement for Ispell</a>, Up: <a href="Basic-Usage.html#Basic-Usage" accesskey="u" rel="up">Basic Usage</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Using-Aspell-with-other-Applications-1"></a>
<h3 class="section">3.3 Using Aspell with other Applications</h3>
+<a name="With-Emacs-and-XEmacs"></a>
<h4 class="subsection">3.3.1 With Emacs and XEmacs</h4>
<p>The easiest way to use Aspell with Emacs or XEmacs is to add this
line:
-
-<pre class="verbatim">
-(setq-default ispell-program-name "aspell")
+</p>
+<pre class="verbatim">(setq-default ispell-program-name "aspell")
</pre>
-
- <p>to the end of your <samp><span class="file">.emacs</span></samp> file.
-
- <p>For some reason version 3.0 of ispell.el (the lisp program that
+<p>to the end of your <samp>.emacs</samp> file.
+</p>
+<p>For some reason version 3.0 of ispell.el (the lisp program that
(x)emacs uses) wants to reverse the suggestion list. To fix this add
this line:
-
-<pre class="verbatim">
-(setq-default ispell-extra-args '("--reverse"))
+</p>
+<pre class="verbatim">(setq-default ispell-extra-args '("--reverse"))
</pre>
-
- <p>after the previous line in your .emacs file and it should solve the problem.
-
- <p>Ispell.el, version 3.1 (December 1, 1998) and better, has the list
+<p>after the previous line in your .emacs file and it should solve the problem.
+</p>
+<p>Ispell.el, version 3.1 (December 1, 1998) and better, has the list
reversing problem fixed. You can find it at
<a href="http://www.kdstevens.com/~stevens/ispell-page.html">http://www.kdstevens.com/~stevens/ispell-page.html</a>.
-
+</p>
+<a name="With-LyX"></a>
<h4 class="subsection">3.3.2 With LyX</h4>
-<p>Version 1.0 of LyX provides support for Aspell's learning from user's
+<p>Version 1.0 of LyX provides support for Aspell’s learning from user’s
mistakes feature.
-
- <p>To use Aspell with LyX 1.0 either change the <samp><span class="option">spell_command</span></samp>
-option in the <samp><span class="file">.lyxrc</span></samp> file or use the <samp><span class="command">run-with-aspell</span></samp>
+</p>
+<p>To use Aspell with LyX 1.0 either change the <samp>spell_command</samp>
+option in the <samp>.lyxrc</samp> file or use the <code>run-with-aspell</code>
utility.
-
+</p>
+<a name="With-VIM"></a>
<h4 class="subsection">3.3.3 With VIM</h4>
-<!-- @emph{(The following section was written by ``R. Marc'', rmarc at -->
-<!-- copacetic net.)} -->
-<p>To use Aspell in VIM you simply need to add the following line to your
-<samp><span class="file">.vimrc</span></samp> file:
-<pre class="verbatim">
-map ^T :w!<CR>:!aspell check %<CR>:e! %<CR>
+<p>To use Aspell in VIM you simply need to add the following line to your
+<samp>.vimrc</samp> file:
+</p>
+<pre class="verbatim">map ^T :w!<CR>:!aspell check %<CR>:e! %<CR>
</pre>
-
- <p>I use <kbd>Ctrl-T</kbd> since that's the way you spell check in
-<samp><span class="command">pico</span></samp>. In order to add a control character to your
+<p>I use <kbd>Ctrl-T</kbd> since that’s the way you spell check in
+<code>pico</code>. In order to add a control character to your
<code>.vimrc</code> you must type <kbd>Ctrl-v</kbd> first. In this case
<kbd>Ctrl-v Ctrl-t</kbd>.
-
- <p>A more useful way to use Aspell, IMHO, is in combination with Newsbody
+</p>
+<p>A more useful way to use Aspell, IMHO, is in combination with Newsbody
(<a href="http://www.image.dk/~byrial/newsbody/">http://www.image.dk/~byrial/newsbody/</a>) which is how I use it
since VIM is my editor for my mailer and my news reader.
-<pre class="verbatim">
-map ^T\\1\\2<CR>:e! %<CR>
-map \\1 :w!<CR>
-map \\2 :!newsbody -qs -n % -p aspell check \\%f<CR>
+</p><pre class="verbatim">map ^T\\1\\2<CR>:e! %<CR>
+map \\1 :w!<CR>
+map \\2 :!newsbody -qs -n % -p aspell check \\%f<CR>
</pre>
-
+<a name="With-Pine"></a>
<h4 class="subsection">3.3.4 With Pine</h4>
-<p>To use Aspell in Pine simply change the option <samp><span class="option">speller</span></samp> to
+<p>To use Aspell in Pine simply change the option <samp>speller</samp> to
+</p>
+<div class="example">
+<pre class="example">aspell --mode=email check
+</pre></div>
-<pre class="example"> aspell --mode=email check
-</pre>
- <p>To change the <samp><span class="option">speller</span></samp> option go to the main menu. Type
+<p>To change the <samp>speller</samp> option go to the main menu. Type
<kbd>S</kbd> for <em>setup</em>, <kbd>C</kbd> for <em>config</em>, then <kbd>W</kbd> for
<em>where is</em>. Type in <kbd>speller</kbd> as the word to find. The
speller option should be highlighted now. Hit enter, type in the
above line, and hit enter again. Then type <kbd>E</kbd> for <em>exit
setup</em> and <kbd>Y</kbd> to save the change.
+</p>
+<p>If you have a strong desire to check other people’s comments change
+<samp>speller</samp> to
+</p>
+<div class="example">
+<pre class="example">aspell check
+</pre></div>
+
+<p>instead which will avoid switching Aspell into email mode.
+</p>
+<hr>
+<div class="header">
+<p>
+Previous: <a href="Using-Aspell-as-a-Replacement-for-Ispell.html#Using-Aspell-as-a-Replacement-for-Ispell" accesskey="p" rel="prev">Using Aspell as a Replacement for Ispell</a>, Up: <a href="Basic-Usage.html#Basic-Usage" accesskey="u" rel="up">Basic Usage</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
- <p>If you have a strong desire to check other people's comments change
-<samp><span class="option">speller</span></samp> to
-
-<pre class="example"> aspell check
-</pre>
- <p class="noindent">instead which will avoid switching Aspell into email mode.
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Using Multi Dictionaries - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Working-With-Dictionaries.html#Working-With-Dictionaries" title="Working With Dictionaries">
-<link rel="prev" href="Format-of-the-Personal-and-Replacement-Dictionaries.html#Format-of-the-Personal-and-Replacement-Dictionaries" title="Format of the Personal and Replacement Dictionaries">
-<link rel="next" href="Dictionary-Naming.html#Dictionary-Naming" title="Dictionary Naming">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Using Multi Dictionaries</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Using Multi Dictionaries">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Working-With-Dictionaries.html#Working-With-Dictionaries" rel="up" title="Working With Dictionaries">
+<link href="Dictionary-Naming.html#Dictionary-Naming" rel="next" title="Dictionary Naming">
+<link href="Format-of-the-Personal-and-Replacement-Dictionaries.html#Format-of-the-Personal-and-Replacement-Dictionaries" rel="prev" title="Format of the Personal and Replacement Dictionaries">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Using-Multi-Dictionaries"></a>
-Next: <a rel="next" accesskey="n" href="Dictionary-Naming.html#Dictionary-Naming">Dictionary Naming</a>,
-Previous: <a rel="previous" accesskey="p" href="Format-of-the-Personal-and-Replacement-Dictionaries.html#Format-of-the-Personal-and-Replacement-Dictionaries">Format of the Personal and Replacement Dictionaries</a>,
-Up: <a rel="up" accesskey="u" href="Working-With-Dictionaries.html#Working-With-Dictionaries">Working With Dictionaries</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Dictionary-Naming.html#Dictionary-Naming" accesskey="n" rel="next">Dictionary Naming</a>, Previous: <a href="Format-of-the-Personal-and-Replacement-Dictionaries.html#Format-of-the-Personal-and-Replacement-Dictionaries" accesskey="p" rel="prev">Format of the Personal and Replacement Dictionaries</a>, Up: <a href="Working-With-Dictionaries.html#Working-With-Dictionaries" accesskey="u" rel="up">Working With Dictionaries</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Using-Multi-Dictionaries-1"></a>
<h3 class="section">5.8 Using Multi Dictionaries</h3>
<p>As with previous versions of Aspell you can specify the main
-dictionary to use via the <samp><span class="option">-d</span></samp> or <samp><span class="option">--master</span></samp> option.
+dictionary to use via the <samp>-d</samp> or <samp>--master</samp> option.
However as of <acronym>Aspell .32</acronym> you can now also:
+</p>
+<ol>
+<li> Specify more than word list to use with the
+<samp>extra-dicts</samp> option.
- <ol type=1 start=1>
-<li>Specify more than word list to use with the
-<samp><span class="option">extra-dicts</span></samp> option.
-
- <li>Specify special <em>multi</em> dictionaries.
- </ol>
+</li><li> Specify special <em>multi</em> dictionaries.
+</li></ol>
- <p>The <samp><span class="option">extra-dicts</span></samp> is a list option. To add a dictionary use
-<samp><span class="option">add-extra-dicts</span></samp> or to remove a dictionary from the list
-use <samp><span class="option">rem-extra-dicts</span></samp>.
-
- <p>A <em>multi</em> dictionary is a special file which is basically a list
+<p>The <samp>extra-dicts</samp> is a list option. To add a dictionary use
+<samp>add-extra-dicts</samp> or to remove a dictionary from the list
+use <samp>rem-extra-dicts</samp>.
+</p>
+<p>A <em>multi</em> dictionary is a special file which is basically a list
of dictionary files to use. A <em>multi</em> dictionary must end in
-<samp><span class="file">.multi</span></samp> and has roughly the same format as a configuration file
-with the only accepted key being <samp><span class="option">add</span></samp>.
+<samp>.multi</samp> and has roughly the same format as a configuration file
+with the only accepted key being <samp>add</samp>.
+</p>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Using aspell-import - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Working-With-Dictionaries.html#Working-With-Dictionaries" title="Working With Dictionaries">
-<link rel="next" href="How-Aspell-Selects-an-Appropriate-Dictionary.html#How-Aspell-Selects-an-Appropriate-Dictionary" title="How Aspell Selects an Appropriate Dictionary">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Using aspell-import</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Using aspell-import">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Working-With-Dictionaries.html#Working-With-Dictionaries" rel="up" title="Working With Dictionaries">
+<link href="How-Aspell-Selects-an-Appropriate-Dictionary.html#How-Aspell-Selects-an-Appropriate-Dictionary" rel="next" title="How Aspell Selects an Appropriate Dictionary">
+<link href="Working-With-Dictionaries.html#Working-With-Dictionaries" rel="prev" title="Working With Dictionaries">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
-<a name="Using-aspell-import"></a>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Using-aspell_002dimport"></a>
-Next: <a rel="next" accesskey="n" href="How-Aspell-Selects-an-Appropriate-Dictionary.html#How-Aspell-Selects-an-Appropriate-Dictionary">How Aspell Selects an Appropriate Dictionary</a>,
-Up: <a rel="up" accesskey="u" href="Working-With-Dictionaries.html#Working-With-Dictionaries">Working With Dictionaries</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="How-Aspell-Selects-an-Appropriate-Dictionary.html#How-Aspell-Selects-an-Appropriate-Dictionary" accesskey="n" rel="next">How Aspell Selects an Appropriate Dictionary</a>, Up: <a href="Working-With-Dictionaries.html#Working-With-Dictionaries" accesskey="u" rel="up">Working With Dictionaries</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
+<hr>
+<a name="Using-aspell_002dimport-1"></a>
+<h3 class="section">5.1 Using <code>aspell-import</code></h3>
-<h3 class="section">5.1 Using <samp><span class="command">aspell-import</span></samp></h3>
-
-<p>The <samp><span class="command">aspell-import</span></samp> Perl script will look for old personal
+<p>The <code>aspell-import</code> Perl script will look for old personal
dictionaries and will import them into GNU Aspell. It will look for
both Ispell and Aspell ones. To use it, just run it from the command
-prompt. If you get an error about <samp><span class="file">/usr/bin/perl</span></samp> not being
-found, then instead try <samp><span class="command">perl </span><var>bindir</var><span class="command">/aspell-import</span></samp>. When
+prompt. If you get an error about <samp>/usr/bin/perl</samp> not being
+found, then instead try <code>perl <var>bindir</var>/aspell-import</code>. When
running the script if you get a message like:
-
-<pre class="verbatim">
-Error: No word lists can be found for the language "de".
+</p>
+<pre class="verbatim">Error: No word lists can be found for the language "de".
</pre>
-
- <p>This means that you have not installed support for the given language,
+<p>This means that you have not installed support for the given language,
in this case <code>de</code> for German. To rectify the situation download
and install a dictionary designed to work with GNU Aspell 0.50 or
better.
+</p>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>WIN32 Notes - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Installing.html#Installing" title="Installing">
-<link rel="prev" href="Upgrading-from-a-Pre_002d0_002e50-snapshot.html#Upgrading-from-a-Pre_002d0_002e50-snapshot" title="Upgrading from a Pre-0.50 snapshot">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: WIN32 Notes</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: WIN32 Notes">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Installing.html#Installing" rel="up" title="Installing">
+<link href="ChangeLog.html#ChangeLog" rel="next" title="ChangeLog">
+<link href="Upgrading-from-a-Pre_002d0_002e50-snapshot.html#Upgrading-from-a-Pre_002d0_002e50-snapshot" rel="prev" title="Upgrading from a Pre-0.50 snapshot">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="WIN32-Notes"></a>
-Previous: <a rel="previous" accesskey="p" href="Upgrading-from-a-Pre_002d0_002e50-snapshot.html#Upgrading-from-a-Pre_002d0_002e50-snapshot">Upgrading from a Pre-0.50 snapshot</a>,
-Up: <a rel="up" accesskey="u" href="Installing.html#Installing">Installing</a>
-<hr>
+<div class="header">
+<p>
+Previous: <a href="Upgrading-from-a-Pre_002d0_002e50-snapshot.html#Upgrading-from-a-Pre_002d0_002e50-snapshot" accesskey="p" rel="prev">Upgrading from a Pre-0.50 snapshot</a>, Up: <a href="Installing.html#Installing" accesskey="u" rel="up">Installing</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
+<hr>
+<a name="WIN32-Notes-1"></a>
+<h3 class="appendixsec">E.9 WIN32 Notes</h3>
-<h3 class="appendixsec">E.8 WIN32 Notes</h3>
-
-<h4 class="appendixsubsec">E.8.1 Getting the WIN32 version</h4>
+<a name="Getting-the-WIN32-version"></a>
+<h4 class="appendixsubsec">E.9.1 Getting the WIN32 version</h4>
<p>The latest version of the native Aspell/WIN32 port, including
binaries, can be found at <a href="http://aspell.net/win32">http://aspell.net/win32</a>. This page
has, unfortunately, not been updated for Aspell 0.60. If you are
interested in updated the native port please let me know.
-
-<h4 class="appendixsubsec">E.8.2 Building the WIN32 version</h4>
+</p>
+<a name="Building-the-WIN32-version"></a>
+<h4 class="appendixsubsec">E.9.2 Building the WIN32 version</h4>
<p>There are two basically different ways of building Aspell using GCC
for WIN32: You can either use the Cygwin compiler, which will produce
-binaries that depend on the POSIX layer in <samp><span class="file">cygwin1.dll</span></samp>. The
+binaries that depend on the POSIX layer in <samp>cygwin1.dll</samp>. The
other way is using MinGW GCC, those binaries use the native C runtime
-from Microsoft (MSVCRT.DLL).
+from Microsoft (MSVCRT.DLL).
+</p>
-<!-- FIXME: Is the following true? -->
-<!-- If you intend to use or link against the -->
-<!-- Aspell libraries using a native WIN32 compiler (e.g. MS Visual C++), -->
-<!-- you will need the MinGW built ones to avoid problems caused by the -->
-<!-- different runtime libraries. -->
-<h5 class="appendixsubsubsec">E.8.2.1 Building Aspell using Cygwin</h5>
+<a name="Building-Aspell-using-Cygwin"></a>
+<h4 class="appendixsubsubsec">E.9.2.1 Building Aspell using Cygwin</h4>
<p>This works exactly like on other POSIX
-compatible systems using the `<samp><span class="samp">./configure && make && make install</span></samp>'
+compatible systems using the ‘<samp>./configure && make && make install</samp>’
cycle. Some versions of Cygwin GCC will fail to link, this is caused
-by an incorrect <samp><span class="file">libstdc++.la</span></samp> in the <samp><span class="file">/lib</span></samp> directory.
+by an incorrect <samp>libstdc++.la</samp> in the <samp>/lib</samp> directory.
After removing or renaming this file, the build progress should work
(GCC-2.95 and GCC-3.x should work).
-
-<h5 class="appendixsubsubsec">E.8.2.2 Building Aspell using MinGW</h5>
+</p>
+<a name="Building-Aspell-using-MinGW"></a>
+<h4 class="appendixsubsubsec">E.9.2.2 Building Aspell using MinGW</h4>
<p>There are several different ways to build Aspell using MinGW. The
easiest way is to use a Cygwin compiler but instruct it to build a
native binary rather than a Cygwin one. To do this configure with:
-
-<pre class="example"> ./configure CFLAGS='-O2 -mno-cygwin' CXXFLAGS='-O2 -mno-cygwin'
-</pre>
- <p>You may also want to add the option
-<samp><span class="option">--enable-win32-relocatable</span></samp> to use more windows friendly
-directories. See <a href="Win32_002dDirectories.html#Win32_002dDirectories">Win32-Directories</a>. In this case configure with:
-
-<pre class="smallexample"> ./configure CFLAGS='-O2 -mno-cygwin' CXXFLAGS='-O2 -mno-cygwin' --enable-win32-relocatable
-</pre>
- <p>It should also be possible to build Aspell using the MSYS environment.
+</p>
+<div class="example">
+<pre class="example">./configure CFLAGS='-O2 -mno-cygwin' CXXFLAGS='-O2 -mno-cygwin'
+</pre></div>
+
+<p>You may also want to add the option
+<samp>--enable-win32-relocatable</samp> to use more windows friendly
+directories. See <a href="#Win32_002dDirectories">Win32-Directories</a>. In this case configure with:
+</p>
+<div class="smallexample">
+<pre class="smallexample">./configure CFLAGS='-O2 -mno-cygwin' CXXFLAGS='-O2 -mno-cygwin' --enable-win32-relocatable
+</pre></div>
+
+<p>It should also be possible to build Aspell using the MSYS environment.
But this has not been very well tested. If building with MSYS
-<em>do not</em> add `<samp><span class="samp">CFLAGS ...</span></samp>' to configure.
-
-<h5 class="appendixsubsubsec">E.8.2.3 Building Aspell without using Cygwin or MSYS</h5>
+<em>do not</em> add ‘<samp>CFLAGS …</samp>’ to configure.
+</p>
+<a name="Building-Aspell-without-using-Cygwin-or-MSYS"></a>
+<h4 class="appendixsubsubsec">E.9.2.3 Building Aspell without using Cygwin or MSYS</h4>
<p>It is also possible to build Aspell without Cygwin of MinGW by using
-the files in the <samp><span class="file">win32/</span></samp> subdirectory. However, these files
+the files in the <samp>win32/</samp> subdirectory. However, these files
have not been updated to work with Aspell 0.60. Thus the following
instructions will not work without some effort. If you do get Aspell
to compile this way please send me the updated files so that I can
include them with the next release.
-
- <p>To compile Aspell with the MinGW
+</p>
+<p>To compile Aspell with the MinGW
compiler, you will need at least GCC-3.2 (as shipped with MinGW-2.0.3)
-and some GNU tools like <samp><span class="command">rm</span></samp> and <samp><span class="command">cp</span></samp>. The origin of
-those tools doesn't matter, it has shown to work with any tools from
+and some GNU tools like <code>rm</code> and <code>cp</code>. The origin of
+those tools doesn’t matter, it has shown to work with any tools from
MinGW/MSys, Cygwin or Linux. To build Aspell, move into the
-<samp><span class="file">win32</span></samp> subdirectory and type `<samp><span class="samp">make</span></samp>'. You can enable some
+<samp>win32</samp> subdirectory and type ‘<samp>make</samp>’. You can enable some
additional build options by either commenting out the definitions at
the head of the Makefile or passing those values as environment
-variables or at the <samp><span class="command">make</span></samp> command line. Following options
+variables or at the <code>make</code> command line. Following options
are supported:
-
- <dl>
-<dt><samp><span class="option">DEBUGVERSION</span></samp><dd>If set to "1", the binaries will include debugging information
+</p>
+<dl compact="compact">
+<dt><samp>DEBUGVERSION</samp></dt>
+<dd><p>If set to "1", the binaries will include debugging information
(resulting in a much bigger size).
-
- <br><dt><samp><span class="option">CURSESDIR</span></samp><dd>Enter the path to the pdcurses library here, in order to get a nicer
+</p>
+</dd>
+<dt><samp>CURSESDIR</samp></dt>
+<dd><p>Enter the path to the pdcurses library here, in order to get a nicer
console interface (see below).
-
- <br><dt><samp><span class="option">MSVCLIB</span></samp><dd>Enter the filename of MS <samp><span class="file">lib.exe</span></samp> here, if you want to build
+</p>
+</dd>
+<dt><samp>MSVCLIB</samp></dt>
+<dd><p>Enter the filename of MS <samp>lib.exe</samp> here, if you want to build
libraries that can be imported from MS Visual C++.
-
- <br><dt><samp><span class="option">WIN32_RELOCATABLE</span></samp><dd>If set to "1", Aspell will detect the prefix from the path where the
+</p>
+</dd>
+<dt><samp>WIN32_RELOCATABLE</samp></dt>
+<dd><p>If set to "1", Aspell will detect the prefix from the path where the
DLL resides (see below for further details).
-
- <br><dt><samp><span class="option">TARGET</span></samp><dd>Sets a prefix to be used for cross compilation (e.g.
-<samp><span class="file">/usr/local/bin/i586-mingw32msvc-</span></samp> to cross compile from Linux).
+</p>
+</dd>
+<dt><samp>TARGET</samp></dt>
+<dd><p>Sets a prefix to be used for cross compilation (e.g.
+<samp>/usr/local/bin/i586-mingw32msvc-</samp> to cross compile from Linux).
+</p></dd>
</dl>
- <p>There are also a MinGW compilers available for Cygwin and Linux, both
+<p>There are also a MinGW compilers available for Cygwin and Linux, both
versions are able to compile Aspell using the prebuilt
-<samp><span class="file">Makefile</span></samp>. While the Cygwin port automatically detects the
+<samp>Makefile</samp>. While the Cygwin port automatically detects the
correct compiler, the Linux version depends on setting the
-<samp><span class="env">TARGET</span></samp> variable in the <samp><span class="file">Makefile</span></samp> (or environment) to the
+<code>TARGET</code> variable in the <samp>Makefile</samp> (or environment) to the
correct compiler prefix.
-
- <p>Other compilers may work. There is a patch for MS Visual C++ 6.0
+</p>
+<p>Other compilers may work. There is a patch for MS Visual C++ 6.0
available at <a href="ftp://ftp.gnu.org/gnu/aspell">ftp://ftp.gnu.org/gnu/aspell</a>, but it needs a lot
of changes to the Aspell sources. It has also been reported that the
Intel C++ compiler can be used for compilation.
-
-<h4 class="appendixsubsec">E.8.3 (PD)Curses</h4>
+</p>
+<a name="g_t_0028PD_0029Curses"></a>
+<h4 class="appendixsubsec">E.9.3 (PD)Curses</h4>
<p>In order to get the nice full screen interface when spell checking
files, a curses implementation that does not require Cygwin is
however they have not been tested. See the previous section for
information on specifying the location of the curses library and
include file.
-
- <p>Curses notes:
-
- <ul>
-<li>PDcurses built with MinGW needs to be compiled with
-<samp><span class="option">-DPDC_STATIC_BUILD</span></samp> to avoid duplicate declaration of
-<samp><span class="file">DllMain</span></samp> when compiling <samp><span class="file">aspell.exe</span></samp>.
-
- <li>The curses enabled version can cause trouble in some shells (MSys
-<samp><span class="command">rxvt</span></samp>, <samp><span class="command">emacs</span></samp>) and will produce errors like
-`<samp><span class="samp">initscr() LINES=1 COLS=1: too small</span></samp>'. Use a non-curses version
-for those purposes.
-</ul>
-
- <p><a name="Win32_002dDirectories"></a>
-
-<h4 class="appendixsubsec">E.8.4 Directories</h4>
-
-<p>If Aspell is configured with <samp><span class="option">--enable-win32-relocatable</span></samp> or
-compiled with <samp><span class="option">WIN32_RELOCATABLE=1</span></samp> when using a Makefile, it
+</p>
+<p>Curses notes:
+</p>
+<ul>
+<li> PDcurses built with MinGW needs to be compiled with
+<samp>-DPDC_STATIC_BUILD</samp> to avoid duplicate declaration of
+<samp>DllMain</samp> when compiling <samp>aspell.exe</samp>.
+
+</li><li> The curses enabled version can cause trouble in some shells (MSys
+<code>rxvt</code>, <code>emacs</code>) and will produce errors like
+‘<samp>initscr() LINES=1 COLS=1: too small</samp>’. Use a non-curses version
+for those purposes.
+</li></ul>
+
+<a name="Win32_002dDirectories"></a><a name="Directories"></a>
+<h4 class="appendixsubsec">E.9.4 Directories</h4>
+
+<p>If Aspell is configured with <samp>--enable-win32-relocatable</samp> or
+compiled with <samp>WIN32_RELOCATABLE=1</samp> when using a Makefile, it
can be run from any directory: it will set <samp><var>prefix</var></samp>
according to its install location (assuming it resides in
-<samp><var>prefix</var><span class="file">\\bin</span></samp>). Your personal wordlists will be saved in
+<samp><var>prefix</var>\\bin</samp>). Your personal wordlists will be saved in
the <samp><var>prefix</var></samp> directory with their names changed from
-<samp><span class="file">.aspell.</span><var>lang</var><span class="file">.*</span></samp> to <samp><var>lang</var><span class="file">.*</span></samp> (you can override
-the path by setting the <samp><span class="env">HOME</span></samp> environment variable).
-
-<h4 class="appendixsubsec">E.8.5 Installer</h4>
+<samp>.aspell.<var>lang</var>.*</samp> to <samp><var>lang</var>.*</samp> (you can override
+the path by setting the <code>HOME</code> environment variable).
+</p>
+<a name="Installer"></a>
+<h4 class="appendixsubsec">E.9.5 Installer</h4>
<p>The installer registers the DLLs as shared libraries, you should
increase the reference counter to avoid the libraries being
uninstalled if your application still depends on them (and decrease it
again when uninstalling your program). The reference counters are
located under:
-<pre class="example"> HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs
-</pre>
- <p>The install location and version numbers are stored under
+</p><div class="example">
+<pre class="example">HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs
+</pre></div>
-<pre class="example"> HKLM\SOFTWARE\Aspell
-</pre>
- <h4 class="appendixsubsec">E.8.6 WIN32 consoles</h4>
+<p>The install location and version numbers are stored under
+</p>
+<div class="example">
+<pre class="example">HKLM\SOFTWARE\Aspell
+</pre></div>
+
+<a name="WIN32-consoles"></a>
+<h4 class="appendixsubsec">E.9.6 WIN32 consoles</h4>
<p>The console uses a different encoding than GUI applications, changing
this to to a Windows encoding (e.g. 1252) is not supported on
Win9x/Me. On WinNT (and later) those codepages can be set by first
-changing the console font to `<samp><span class="samp">lucida console</span></samp>', then changing the
-codepage using `<samp><span class="samp">chcp 1252</span></samp>'.
-
- <p>Some alternative shells (e.g. MSys' <samp><span class="command">rxvt</span></samp> or Cygwin's
-<samp><span class="command">bash</span></samp>) do a codepage conversion (if correctly set up), so
+changing the console font to ‘<samp>lucida console</samp>’, then changing the
+codepage using ‘<samp>chcp 1252</samp>’.
+</p>
+<p>Some alternative shells (e.g. MSys’ <code>rxvt</code> or Cygwin’s
+<code>bash</code>) do a codepage conversion (if correctly set up), so
running Aspell inside those shells might be a workaround for Win9x.
+</p>
+<hr>
+<div class="header">
+<p>
+Previous: <a href="Upgrading-from-a-Pre_002d0_002e50-snapshot.html#Upgrading-from-a-Pre_002d0_002e50-snapshot" accesskey="p" rel="prev">Upgrading from a Pre-0.50 snapshot</a>, Up: <a href="Installing.html#Installing" accesskey="u" rel="up">Installing</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
- </body></html>
+</body>
+</html>
-<meta http-equiv="refresh" content="0; url=WIN32-Notes.html#Win32%2dDirectories">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
+
+GNU Aspell is a spell checker designed to eventually replace Ispell.
+It can either be used as a library or as an independent spell checker.
+
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<!-- This file redirects to the location of a node or anchor -->
+<head>
+<title>GNU Aspell 0.60.7: Win32-Directories</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Win32-Directories">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+<meta http-equiv="Refresh" content="0; url=WIN32-Notes.html#Win32_002dDirectories">
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+
+<p>The node you are looking for is at <a href="WIN32-Notes.html#Win32_002dDirectories">Win32-Directories</a>.</p>
+</body>
-<html lang="en">
-<head>
-<title>Word skipping by context - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Notes-on-Various-Items.html#Notes-on-Various-Items" title="Notes on Various Items">
-<link rel="next" href="Hidden-Markov-Model.html#Hidden-Markov-Model" title="Hidden Markov Model">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Word skipping by context</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Word skipping by context">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Notes-on-Various-Items.html#Notes-on-Various-Items" rel="up" title="Notes on Various Items">
+<link href="Hidden-Markov-Model.html#Hidden-Markov-Model" rel="next" title="Hidden Markov Model">
+<link href="Notes-on-Various-Items.html#Notes-on-Various-Items" rel="prev" title="Notes on Various Items">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Word-skipping-by-context"></a>
-Next: <a rel="next" accesskey="n" href="Hidden-Markov-Model.html#Hidden-Markov-Model">Hidden Markov Model</a>,
-Up: <a rel="up" accesskey="u" href="Notes-on-Various-Items.html#Notes-on-Various-Items">Notes on Various Items</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Hidden-Markov-Model.html#Hidden-Markov-Model" accesskey="n" rel="next">Hidden Markov Model</a>, Up: <a href="Notes-on-Various-Items.html#Notes-on-Various-Items" accesskey="u" rel="up">Notes on Various Items</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Word-skipping-by-context-1"></a>
<h4 class="appendixsubsec">D.3.1 Word skipping by context</h4>
<p>This was posted on the Aspell mailing list on January 1, 1999:
-
- <p>I had an idea on a great general way to determine if a word should be
+</p>
+<p>I had an idea on a great general way to determine if a word should be
skipped. Determine the words to skip based on the symbols that
(almost) always surround the word.
+</p>
+<p>For example when asked to check the following C++ code:
+</p><div class="example">
+<pre class="example">cout << "My age is: " << num << endl;
+cout << "Next year I will be " << num + 1 << endl;
+</pre></div>
- <p>For example when asked to check the following C++ code:
-<pre class="example"> cout << "My age is: " << num << endl;
- cout << "Next year I will be " << num + 1 << endl;
-</pre>
- <p><code>cout</code>, <code>num</code>, and <code>endl</code> will all be skipped.
+<p><code>cout</code>, <code>num</code>, and <code>endl</code> will all be skipped.
<code>cout</code> will be skipped because it is always preceded by a
-`<samp><span class="samp"><<</span></samp>'. <code>num</code> will be skipped because it is always preceded
-by a `<samp><span class="samp"><<</span></samp>'. And <code>endl</code> will be skipped because it is always
-between a `<samp><span class="samp"><<</span></samp>' and a `<samp><span class="samp">;</span></samp>'.
+‘<samp><<</samp>’. <code>num</code> will be skipped because it is always preceded
+by a ‘<samp><<</samp>’. And <code>endl</code> will be skipped because it is always
+between a ‘<samp><<</samp>’ and a ‘<samp>;</samp>’.
+</p>
+<p>Given the following HTML code.
+</p><div class="example">
+<pre class="example"><table width=50% cellspacing=0 cellpadding=1>
+<tr><td>One<td>Two<td>Three
+<tr><td>1<td>2<td>3
+</table>
- <p>Given the following HTML code.
-<pre class="example"> <table width=50% cellspacing=0 cellpadding=1>
- <tr><td>One<td>Two<td>Three
- <tr><td>1<td>2<td>3
- </table>
-
- <table cellspacing=0 cellpadding=1>
- </table>
-</pre>
- <p><code>table</code>, <code>width</code> <code>cellspacing</code>, <code>cellpadding</code>,
+<table cellspacing=0 cellpadding=1>
+</table>
+</pre></div>
+
+<p><code>table</code>, <code>width</code> <code>cellspacing</code>, <code>cellpadding</code>,
<code>tr</code>, <code>td</code> will all be skipped because they are always
-enclosed in `<samp><span class="samp"><></span></samp>'. Now of course <code>table</code> and
+enclosed in ‘<samp><></samp>’. Now of course <code>table</code> and
<code>width</code> would be marked as correct anyway however there is no
harm in skipping them.
-
- <p>So I was wondering if anyone on this list has any experience in
+</p>
+<p>So I was wondering if anyone on this list has any experience in
writing this sort of context recognition code or could give me some
pointers in the right direction.
-
- <p>This sort of word skipping will be very powerful if done right. I
+</p>
+<p>This sort of word skipping will be very powerful if done right. I
imagine that it could replace specific spell checker modes for TeX,
Nroff, SGML etc because it will automatically be able to figure out
where it should skip words. It could also probably do a very good job
on programming languages code.
-
- <p>If you are interested in helping me out with this or just have general
+</p>
+<p>If you are interested in helping me out with this or just have general
comments about the idea please let me know.
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Hidden-Markov-Model.html#Hidden-Markov-Model" accesskey="n" rel="next">Hidden Markov Model</a>, Up: <a href="Notes-on-Various-Items.html#Notes-on-Various-Items" accesskey="u" rel="up">Notes on Various Items</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Words With Symbols in Them - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Language-Related-Issues.html#Language-Related-Issues" title="Language Related Issues">
-<link rel="prev" href="Compound-Words.html#Compound-Words" title="Compound Words">
-<link rel="next" href="Unicode-Normalization.html#Unicode-Normalization" title="Unicode Normalization">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Words With Symbols in Them</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Words With Symbols in Them">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Language-Related-Issues.html#Language-Related-Issues" rel="up" title="Language Related Issues">
+<link href="Unicode-Normalization.html#Unicode-Normalization" rel="next" title="Unicode Normalization">
+<link href="Compound-Words.html#Compound-Words" rel="prev" title="Compound Words">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Words-With-Symbols-in-Them"></a>
-Next: <a rel="next" accesskey="n" href="Unicode-Normalization.html#Unicode-Normalization">Unicode Normalization</a>,
-Previous: <a rel="previous" accesskey="p" href="Compound-Words.html#Compound-Words">Compound Words</a>,
-Up: <a rel="up" accesskey="u" href="Language-Related-Issues.html#Language-Related-Issues">Language Related Issues</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Unicode-Normalization.html#Unicode-Normalization" accesskey="n" rel="next">Unicode Normalization</a>, Previous: <a href="Compound-Words.html#Compound-Words" accesskey="p" rel="prev">Compound Words</a>, Up: <a href="Language-Related-Issues.html#Language-Related-Issues" accesskey="u" rel="up">Language Related Issues</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Words-With-Spaces-or-Other-Symbols-in-Them"></a>
<h3 class="appendixsec">C.2 Words With Spaces or Other Symbols in Them</h3>
<p>Many languages, including English, have words with non-letter symbols in
the middle of a word, but they can also appear at the end, such as in an
abbreviation. If a symbol can <em>only</em> appear as part of a word then
Aspell can treat it as if it were a letter.
-
- <p>However, the problem is most of these symbols have other uses. For
+</p>
+<p>However, the problem is most of these symbols have other uses. For
example, the apostrophe is often used as a single quote and the
abbreviations marker is also used as a period. Thus, Aspell cannot
blindly treat them as if they were letters.
-
- <p>Aspell currently handles the case where the symbol can only appear in
+</p>
+<p>Aspell currently handles the case where the symbol can only appear in
the middle of the word fairly well. It simply assumes that if there is
-a letter both before and after the symbol than it is part of the word.
+a letter both before and after the symbol than it is part of the word.
This works most of the time but it is not fool proof. For example,
suppose the user forgot to leave a space after the period:
+</p>
+<div class="display">
+<pre class="display"> … and the dog went up the tree.Then the cat …
+</pre></div>
-<pre class="display"> <small class="dots">...</small> and the dog went up the tree.Then the cat <small class="dots">...</small>
-</pre>
- <p class="noindent">Aspell would think “tree.Then” is one word. A better solution
-might be to then try to check “tree” and “Then” separately.
+<p>Aspell would think “tree.Then” is one word. A better solution
+might be to then try to check “tree” and “Then” separately.
But what if one of them is not in the dictionary? Should Aspell assume
“tree.Then” is one word?
-
- <p>The case where the symbol can appear at the beginning or end of the word
+</p>
+<p>The case where the symbol can appear at the beginning or end of the word
is more difficult to deal with. The symbol may or may not actually be
part of the word. Aspell currently handles this case by first trying to
-spell check the word with the symbol and if that fails, try it without.
+spell check the word with the symbol and if that fails, try it without.
The problem is, if the word is misspelled, should Aspell assume the
symbol belongs with the word or not? Currently Aspell assumes it does,
which is not always the correct thing to do.
-
- <p>Numbers in words present a different challenge to Aspell. If Aspell
+</p>
+<p>Numbers in words present a different challenge to Aspell. If Aspell
treats numbers as letters then every possible number a user might write
in a document must be specified in the dictionary. This could easily
be solved by having special code to assume all numbers are correctly
suffix can appear after any number we are left with the same
problem. The solution would be to have a special symbol for “any
number”.
-
- <p>Words with spaces in them, such as foreign phrases, are even more
+</p>
+<p>Words with spaces in them, such as foreign phrases, are even more
trouble to deal with. The basic problem is that when tokenizing a
string there is no good way to keep phrases together. One solution is to
use trial and error. If a word is not in the dictionary try grouping it
word be grouped when looking for suggestions? One solution is to also
store each part of the phrase in the dictionary, but tag it as part of a
phrase and not an independent word.
-
- <p>To further complicate things, most applications that use spell checkers
+</p>
+<p>To further complicate things, most applications that use spell checkers
are accustom to parsing the document themselves and sending it to the
spell checker a word at a time. In order to support words with spaces in
them a more complicated interface will be required.
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Unicode-Normalization.html#Unicode-Normalization" accesskey="n" rel="next">Unicode Normalization</a>, Previous: <a href="Compound-Words.html#Compound-Words" accesskey="p" rel="prev">Compound Words</a>, Up: <a href="Language-Related-Issues.html#Language-Related-Issues" accesskey="u" rel="up">Language Related Issues</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Working With Affix Info in Word Lists - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="up" href="Working-With-Dictionaries.html#Working-With-Dictionaries" title="Working With Dictionaries">
-<link rel="prev" href="Creating-an-Individual-Word-List.html#Creating-an-Individual-Word-List" title="Creating an Individual Word List">
-<link rel="next" href="Format-of-the-Personal-and-Replacement-Dictionaries.html#Format-of-the-Personal-and-Replacement-Dictionaries" title="Format of the Personal and Replacement Dictionaries">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Working With Affix Info in Word Lists</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Working With Affix Info in Word Lists">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Working-With-Dictionaries.html#Working-With-Dictionaries" rel="up" title="Working With Dictionaries">
+<link href="Format-of-the-Personal-and-Replacement-Dictionaries.html#Format-of-the-Personal-and-Replacement-Dictionaries" rel="next" title="Format of the Personal and Replacement Dictionaries">
+<link href="Creating-an-Individual-Word-List.html#Creating-an-Individual-Word-List" rel="prev" title="Creating an Individual Word List">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Working-With-Affix-Info-in-Word-Lists"></a>
-Next: <a rel="next" accesskey="n" href="Format-of-the-Personal-and-Replacement-Dictionaries.html#Format-of-the-Personal-and-Replacement-Dictionaries">Format of the Personal and Replacement Dictionaries</a>,
-Previous: <a rel="previous" accesskey="p" href="Creating-an-Individual-Word-List.html#Creating-an-Individual-Word-List">Creating an Individual Word List</a>,
-Up: <a rel="up" accesskey="u" href="Working-With-Dictionaries.html#Working-With-Dictionaries">Working With Dictionaries</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Format-of-the-Personal-and-Replacement-Dictionaries.html#Format-of-the-Personal-and-Replacement-Dictionaries" accesskey="n" rel="next">Format of the Personal and Replacement Dictionaries</a>, Previous: <a href="Creating-an-Individual-Word-List.html#Creating-an-Individual-Word-List" accesskey="p" rel="prev">Creating an Individual Word List</a>, Up: <a href="Working-With-Dictionaries.html#Working-With-Dictionaries" accesskey="u" rel="up">Working With Dictionaries</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Working-With-Affix-Info-in-Word-Lists-1"></a>
<h3 class="section">5.6 Working With Affix Info in Word Lists</h3>
+<a name="The-Munch-Command"></a>
<h4 class="subsection">5.6.1 The Munch Command</h4>
-<p>The <samp><span class="command">munch</span></samp> command takes a list of words from standard input
+<p>The <code>munch</code> command takes a list of words from standard input
and outputs a list of possible root words and affixes. The root may,
however, be invalid as it does not check them against the existing
dictionary. For example the command:
-<pre class="example"> echo brother | aspell -l en munch
-<br>produces<br>
- brother broth/R brothe/R
-</pre>
- <h4 class="subsection">5.6.2 The Expand Command</h4>
+</p><div class="example">
+<pre class="example">echo brother | aspell -l en munch
+</pre><pre class="example">produces
+</pre><pre class="example">brother broth/R brothe/R
+</pre></div>
-<p>The <samp><span class="command">expand</span></samp> command is the reverse of <samp><span class="command">munch</span></samp>, it
+<a name="The-Expand-Command"></a>
+<h4 class="subsection">5.6.2 The Expand Command</h4>
+
+<p>The <code>expand</code> command is the reverse of <code>munch</code>, it
expands affix flags to produce a list of words. For example:
-<pre class="example"> echo both/R | aspell -l en expand
-<br>produces<br>
- both bother
-</pre>
- <p>The formal usage is:
-<pre class="example"> aspell expand [<var>level</var>] [<var>limit</var>]
-</pre>
- <p class="noindent">Where <var>level</var> is the expansion level. Valid values are between 1
+</p><div class="example">
+<pre class="example">echo both/R | aspell -l en expand
+</pre><pre class="example">produces
+</pre><pre class="example">both bother
+</pre></div>
+
+<p>The formal usage is:
+</p><div class="example">
+<pre class="example">aspell expand [<var>level</var>] [<var>limit</var>]
+</pre></div>
+<p>Where <var>level</var> is the expansion level. Valid values are between 1
and 3. Level 1 is the default if not otherwise specified. Level 2
causes the original root/affix to be included, for example:
-<pre class="example"> both/R both bother
-</pre>
- <p class="noindent">Level 3 causes multiple lines to be printed, one for each generated
+</p><div class="example">
+<pre class="example">both/R both bother
+</pre></div>
+<p>Level 3 causes multiple lines to be printed, one for each generated
word, with the original root/affix combination followed by the word it
creates:
-<pre class="example"> both/R both
- both/R bother
-</pre>
- <p class="noindent">Levels larger than 3 may also be supported, but should not be used as
+</p><div class="example">
+<pre class="example">both/R both
+both/R bother
+</pre></div>
+<p>Levels larger than 3 may also be supported, but should not be used as
they may eventually be removed.
-
- <p>If a <var>limit</var> parameter is given then only expansions which affect
+</p>
+<p>If a <var>limit</var> parameter is given then only expansions which affect
the first <var>limit</var> letters will be expanded. If a base word is not
completely expanded for a given affix flag that flag will be left on
the word. Note that prefixes are always expanded.
-
+</p>
+<a name="The-Munch_002dlist-Command"></a>
<h4 class="subsection">5.6.3 The Munch-list Command</h4>
-<p>The <samp><span class="command">munch-list</span></samp> command will reduce the size of word list via
+<p>The <code>munch-list</code> command will reduce the size of word list via
affix compression. It will reduce a list of words to a minimal (or
close to it) set of roots and affixes that will match the same list of
words. The list of words is read from standard input and the result,
-the “munched” list, is written to standard out. It's usage is:
-
-<pre class="example"> aspell munch-list [keep] [single|multi] [simple] < <var>infile</var> > <var>outfile</var>
-</pre>
- <p class="noindent">where <samp><span class="option">simple</span></samp>, <samp><span class="option">single</span></samp>, <samp><span class="option">multi</span></samp>, and
-<samp><span class="option">keep</span></samp> are literal values.
-
- <p>The default algorithm used should give near optimum results. In some
+the “munched” list, is written to standard out. It’s usage is:
+</p>
+<div class="example">
+<pre class="example">aspell munch-list [keep] [single|multi] [simple] < <var>infile</var> > <var>outfile</var>
+</pre></div>
+
+<p>where <samp>simple</samp>, <samp>single</samp>, <samp>multi</samp>, and
+<samp>keep</samp> are literal values.
+</p>
+<p>The default algorithm used should give near optimum results. In some
cases the set of words returned is, provably, the minimum number
possible. In the typical case the number of words returned is within
1% of the optimum number.
-
- <p>By default Aspell will remove redundant affix flags. The <samp><span class="option">keep</span></samp>
+</p>
+<p>By default Aspell will remove redundant affix flags. The <samp>keep</samp>
flag will avoid removing them, which can be useful if you want to
include all possible expansions for each base word.
-
- <p>When cross products are involved it may be beneficial to list a base
+</p>
+<p>When cross products are involved it may be beneficial to list a base
word more than once. Unfortunately, the current version of Aspell can
not correctly handle multiple base words in a dictionary. Therefore,
the current default behavior is to only include the one with the most
-expansions. All of them can be included via the <samp><span class="option">multi</span></samp> flag.
+expansions. All of them can be included via the <samp>multi</samp> flag.
Once Aspell is able to handle multiple base words the default will be
-to include them all. The <samp><span class="option">single</span></samp> flag can be used to only
+to include them all. The <samp>single</samp> flag can be used to only
include one of them.
-
- <p>The <samp><span class="option">simple</span></samp> flag will select an alternate faster algorithm.
-This algorithm is very similar to the <samp><span class="command">munch</span></samp> command
+</p>
+<p>The <samp>simple</samp> flag will select an alternate faster algorithm.
+This algorithm is very similar to the <code>munch</code> command
distributed with MySpell (the Open Office spell checker), however, it
-doesn't give nearly as good results. It does okay for the English
+doesn’t give nearly as good results. It does okay for the English
word list but not for some other languages such as German; the normal
algorithm reduced a list of 312,002 German words to 79,420 base words
while the simple algorithm only reduced it to 115,927 words. This
algorithm may disappear in a future version of Aspell.
+</p>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Format-of-the-Personal-and-Replacement-Dictionaries.html#Format-of-the-Personal-and-Replacement-Dictionaries" accesskey="n" rel="next">Format of the Personal and Replacement Dictionaries</a>, Previous: <a href="Creating-an-Individual-Word-List.html#Creating-an-Individual-Word-List" accesskey="p" rel="prev">Creating an Individual Word List</a>, Up: <a href="Working-With-Dictionaries.html#Working-With-Dictionaries" accesskey="u" rel="up">Working With Dictionaries</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+
- </body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Working With Dictionaries - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="prev" href="Customizing-Aspell.html#Customizing-Aspell" title="Customizing Aspell">
-<link rel="next" href="Writing-programs-to-use-Aspell.html#Writing-programs-to-use-Aspell" title="Writing programs to use Aspell">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Working With Dictionaries</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Working With Dictionaries">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Using-aspell_002dimport.html#Using-aspell_002dimport" rel="next" title="Using aspell-import">
+<link href="Notes-on-the-Different-Suggestion-Modes.html#Notes-on-the-Different-Suggestion-Modes" rel="prev" title="Notes on the Different Suggestion Modes">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Working-With-Dictionaries"></a>
-Next: <a rel="next" accesskey="n" href="Writing-programs-to-use-Aspell.html#Writing-programs-to-use-Aspell">Writing programs to use Aspell</a>,
-Previous: <a rel="previous" accesskey="p" href="Customizing-Aspell.html#Customizing-Aspell">Customizing Aspell</a>,
-Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Writing-programs-to-use-Aspell.html#Writing-programs-to-use-Aspell" accesskey="n" rel="next">Writing programs to use Aspell</a>, Previous: <a href="Customizing-Aspell.html#Customizing-Aspell" accesskey="p" rel="prev">Customizing Aspell</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Working-With-Dictionaries-1"></a>
<h2 class="chapter">5 Working With Dictionaries</h2>
-<ul class="menu">
-<li><a accesskey="1" href="Using-aspell_002dimport.html#Using-aspell_002dimport">Using aspell-import</a>
-<li><a accesskey="2" href="How-Aspell-Selects-an-Appropriate-Dictionary.html#How-Aspell-Selects-an-Appropriate-Dictionary">How Aspell Selects an Appropriate Dictionary</a>
-<li><a accesskey="3" href="Listing-Available-Dictionaries.html#Listing-Available-Dictionaries">Listing Available Dictionaries</a>
-<li><a accesskey="4" href="Dumping-the-Contents-of-the-Word-List.html#Dumping-the-Contents-of-the-Word-List">Dumping the Contents of the Word List</a>
-<li><a accesskey="5" href="Creating-an-Individual-Word-List.html#Creating-an-Individual-Word-List">Creating an Individual Word List</a>
-<li><a accesskey="6" href="Working-With-Affix-Info-in-Word-Lists.html#Working-With-Affix-Info-in-Word-Lists">Working With Affix Info in Word Lists</a>
-<li><a accesskey="7" href="Format-of-the-Personal-and-Replacement-Dictionaries.html#Format-of-the-Personal-and-Replacement-Dictionaries">Format of the Personal and Replacement Dictionaries</a>
-<li><a accesskey="8" href="Using-Multi-Dictionaries.html#Using-Multi-Dictionaries">Using Multi Dictionaries</a>
-<li><a accesskey="9" href="Dictionary-Naming.html#Dictionary-Naming">Dictionary Naming</a>
-<li><a href="AWLI-files.html#AWLI-files">AWLI files</a>
-</ul>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="Using-aspell_002dimport.html#Using-aspell_002dimport" accesskey="1">Using aspell-import</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="How-Aspell-Selects-an-Appropriate-Dictionary.html#How-Aspell-Selects-an-Appropriate-Dictionary" accesskey="2">How Aspell Selects an Appropriate Dictionary</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Listing-Available-Dictionaries.html#Listing-Available-Dictionaries" accesskey="3">Listing Available Dictionaries</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Dumping-the-Contents-of-the-Word-List.html#Dumping-the-Contents-of-the-Word-List" accesskey="4">Dumping the Contents of the Word List</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Creating-an-Individual-Word-List.html#Creating-an-Individual-Word-List" accesskey="5">Creating an Individual Word List</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Working-With-Affix-Info-in-Word-Lists.html#Working-With-Affix-Info-in-Word-Lists" accesskey="6">Working With Affix Info in Word Lists</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Format-of-the-Personal-and-Replacement-Dictionaries.html#Format-of-the-Personal-and-Replacement-Dictionaries" accesskey="7">Format of the Personal and Replacement Dictionaries</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Using-Multi-Dictionaries.html#Using-Multi-Dictionaries" accesskey="8">Using Multi Dictionaries</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Dictionary-Naming.html#Dictionary-Naming" accesskey="9">Dictionary Naming</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="AWLI-files.html#AWLI-files">AWLI files</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
-</body></html>
+</body>
+</html>
-<html lang="en">
-<head>
-<title>Writing programs to use Aspell - GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="index.html#Top">
-<link rel="prev" href="Working-With-Dictionaries.html#Working-With-Dictionaries" title="Working With Dictionaries">
-<link rel="next" href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" title="Adding Support For Other Languages">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000--2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Writing programs to use Aspell</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Writing programs to use Aspell">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="index.html#Top" rel="up" title="Top">
+<link href="Through-the-C-API.html#Through-the-C-API" rel="next" title="Through the C API">
+<link href="AWLI-files.html#AWLI-files" rel="prev" title="AWLI files">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
</head>
-<body>
-<div class="node">
-<p>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Writing-programs-to-use-Aspell"></a>
-Next: <a rel="next" accesskey="n" href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages">Adding Support For Other Languages</a>,
-Previous: <a rel="previous" accesskey="p" href="Working-With-Dictionaries.html#Working-With-Dictionaries">Working With Dictionaries</a>,
-Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a>
-<hr>
+<div class="header">
+<p>
+Next: <a href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" accesskey="n" rel="next">Adding Support For Other Languages</a>, Previous: <a href="Working-With-Dictionaries.html#Working-With-Dictionaries" accesskey="p" rel="prev">Working With Dictionaries</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
-
+<hr>
+<a name="Writing-programs-to-use-Aspell-1"></a>
<h2 class="chapter">6 Writing programs to use Aspell</h2>
-<p>There are two main ways to use Aspell from within your application.
+<p>There are two main ways to use Aspell from within your application.
Through the external C API or through a pipe. The internal
Aspell API can be used directly but that is not recommended as the
actual Aspell API is constantly changing.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="Through-the-C-API.html#Through-the-C-API" accesskey="1">Through the C API</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Through-A-Pipe.html#Through-A-Pipe" accesskey="2">Through A Pipe</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Notes-on-Storing-Replacement-Pairs.html#Notes-on-Storing-Replacement-Pairs" accesskey="3">Notes on Storing Replacement Pairs</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+</table>
+
-<ul class="menu">
-<li><a accesskey="1" href="Through-the-C-API.html#Through-the-C-API">Through the C API</a>
-<li><a accesskey="2" href="Through-A-Pipe.html#Through-A-Pipe">Through A Pipe</a>
-<li><a accesskey="3" href="Notes-on-Storing-Replacement-Pairs.html#Notes-on-Storing-Replacement-Pairs">Notes on Storing Replacement Pairs</a>
-</ul>
- </body></html>
+</body>
+</html>
-<meta http-equiv="refresh" content="0; url=The-Language-Data-File.html#data%2dencoding">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
+
+GNU Aspell is a spell checker designed to eventually replace Ispell.
+It can either be used as a library or as an independent spell checker.
+
+Copyright © 2000-2019 Kevin Atkinson.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<!-- This file redirects to the location of a node or anchor -->
+<head>
+<title>GNU Aspell 0.60.7: data-encoding</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: data-encoding">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+<meta http-equiv="Refresh" content="0; url=The-Language-Data-File.html#data_002dencoding">
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+
+<p>The node you are looking for is at <a href="The-Language-Data-File.html#data_002dencoding">data-encoding</a>.</p>
+</body>
-<html lang="en">
-<head>
-<title>GNU Aspell 0.60.6.1</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="description" content="Aspell 0.60.6.1 spell checker user's manual.">
-<meta name="generator" content="makeinfo 4.8">
-<link title="Top" rel="start" href="#Top">
-<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
-<!--
-This is the user's manual for Aspell
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright (C) 2000-2011 Kevin Atkinson.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
- -->
-<meta http-equiv="Content-Style-Type" content="text/css">
-<style type="text/css"><!--
- pre.display { font-family:inherit }
- pre.format { font-family:inherit }
- pre.smalldisplay { font-family:inherit; font-size:smaller }
- pre.smallformat { font-family:inherit; font-size:smaller }
- pre.smallexample { font-size:smaller }
- pre.smalllisp { font-size:smaller }
- span.sc { font-variant:small-caps }
- span.roman { font-family:serif; font-weight:normal; }
- span.sansserif { font-family:sans-serif; font-weight:normal; }
---></style>
-</head>
-<body>
-<h1 class="settitle">GNU Aspell 0.60.6.1</h1>
- <div class="contents">
-<h2>Table of Contents</h2>
-<ul>
-<li><a name="toc_Top" href="index.html#Top">GNU Aspell 0.60.6.1</a>
-<li><a name="toc_Introduction" href="Introduction.html#Introduction">1 Introduction</a>
-<ul>
-<li><a href="Introduction.html#Introduction">1.1 Comparison to other spell checker engines</a>
-<ul>
-<li><a href="Introduction.html#Introduction">1.1.1 Comparison to Ispell</a>
-<ul>
-<li><a href="Introduction.html#Introduction">1.1.1.1 Features that only Aspell has</a>
-<li><a href="Introduction.html#Introduction">1.1.1.2 Things that, currently, only Ispell has</a>
-</li></ul>
-</li></ul>
-</li></ul>
-<li><a name="toc_Support" href="Support.html#Support">2 Support</a>
-<li><a name="toc_Basic-Usage" href="Basic-Usage.html#Basic-Usage">3 Basic Usage</a>
-<ul>
-<li><a href="Spellchecking-Individual-Files.html#Spellchecking-Individual-Files">3.1 Spellchecking Individual Files</a>
-<li><a href="Using-Aspell-as-a-Replacement-for-Ispell.html#Using-Aspell-as-a-Replacement-for-Ispell">3.2 Using Aspell as a Replacement for Ispell</a>
-<ul>
-<li><a href="Using-Aspell-as-a-Replacement-for-Ispell.html#Using-Aspell-as-a-Replacement-for-Ispell">3.2.1 As a Drop In Replacement</a>
-<li><a href="Using-Aspell-as-a-Replacement-for-Ispell.html#Using-Aspell-as-a-Replacement-for-Ispell">3.2.2 Differences From Ispell</a>
-<ul>
-<li><a href="Using-Aspell-as-a-Replacement-for-Ispell.html#Using-Aspell-as-a-Replacement-for-Ispell">3.2.2.1 Functionality of the Ispell Compatibility Script</a>
-<li><a href="Using-Aspell-as-a-Replacement-for-Ispell.html#Using-Aspell-as-a-Replacement-for-Ispell">3.2.2.2 Recognized Options</a>
-<li><a href="Using-Aspell-as-a-Replacement-for-Ispell.html#Using-Aspell-as-a-Replacement-for-Ispell">3.2.2.3 Check Mode Compatibility</a>
-<li><a href="Using-Aspell-as-a-Replacement-for-Ispell.html#Using-Aspell-as-a-Replacement-for-Ispell">3.2.2.4 Pipe Mode Compatibility</a>
-<li><a href="Using-Aspell-as-a-Replacement-for-Ispell.html#Using-Aspell-as-a-Replacement-for-Ispell">3.2.2.5 Other Differences</a>
-<li><a href="Using-Aspell-as-a-Replacement-for-Ispell.html#Using-Aspell-as-a-Replacement-for-Ispell">3.2.2.6 Missing Functionally</a>
-</li></ul>
-</li></ul>
-<li><a href="Using-Aspell-with-other-Applications.html#Using-Aspell-with-other-Applications">3.3 Using Aspell with other Applications</a>
-<ul>
-<li><a href="Using-Aspell-with-other-Applications.html#Using-Aspell-with-other-Applications">3.3.1 With Emacs and XEmacs</a>
-<li><a href="Using-Aspell-with-other-Applications.html#Using-Aspell-with-other-Applications">3.3.2 With LyX</a>
-<li><a href="Using-Aspell-with-other-Applications.html#Using-Aspell-with-other-Applications">3.3.3 With VIM</a>
-<li><a href="Using-Aspell-with-other-Applications.html#Using-Aspell-with-other-Applications">3.3.4 With Pine</a>
-</li></ul>
-</li></ul>
-<li><a name="toc_Customizing-Aspell" href="Customizing-Aspell.html#Customizing-Aspell">4 Customizing Aspell</a>
-<ul>
-<li><a href="Specifying-Options.html#Specifying-Options">4.1 Specifying Options</a>
-<ul>
-<li><a href="Specifying-Options.html#Specifying-Options">4.1.1 At the Command Line</a>
-<ul>
-<li><a href="Specifying-Options.html#Specifying-Options">4.1.1.1 Value options</a>
-<li><a href="Specifying-Options.html#Specifying-Options">4.1.1.2 Boolean options</a>
-<li><a href="Specifying-Options.html#Specifying-Options">4.1.1.3 List options</a>
-</li></ul>
-<li><a href="Specifying-Options.html#Specifying-Options">4.1.2 Via a Configuration File</a>
-<ul>
-<li><a href="Specifying-Options.html#Specifying-Options">4.1.2.1 Value options</a>
-<li><a href="Specifying-Options.html#Specifying-Options">4.1.2.2 Boolean options</a>
-<li><a href="Specifying-Options.html#Specifying-Options">4.1.2.3 List options</a>
-</li></ul>
-<li><a href="Specifying-Options.html#Specifying-Options">4.1.3 Setting Options via an Environment Variable</a>
-</li></ul>
-<li><a href="The-Options.html#The-Options">4.2 The Options</a>
-<ul>
-<li><a href="The-Options.html#The-Options">4.2.1 Dictionary Options</a>
-<li><a href="The-Options.html#The-Options">4.2.2 Encoding Options</a>
-<li><a href="The-Options.html#The-Options">4.2.3 Checker Options</a>
-<li><a href="The-Options.html#The-Options">4.2.4 Filter Options</a>
-<ul>
-<li><a href="The-Options.html#The-Options">4.2.4.1 email</a>
-<li><a href="The-Options.html#The-Options">4.2.4.2 html</a>
-<li><a href="The-Options.html#The-Options">4.2.4.3 sgml</a>
-<li><a href="The-Options.html#The-Options">4.2.4.4 tex/latex</a>
-<li><a href="The-Options.html#The-Options">4.2.4.5 texinfo</a>
-<li><a href="The-Options.html#The-Options">4.2.4.6 context</a>
-</li></ul>
-<li><a href="The-Options.html#The-Options">4.2.5 Run-together Word Options</a>
-<li><a href="The-Options.html#The-Options">4.2.6 Miscellaneous Options</a>
-<li><a href="The-Options.html#The-Options">4.2.7 Aspell Utility Options</a>
-</li></ul>
-<li><a href="Dumping-Configuration-Values.html#Dumping-Configuration-Values">4.3 Dumping Configuration Values</a>
-<li><a href="Notes-on-Various-Options.html#Notes-on-Various-Options">4.4 Notes on Various Options</a>
-<ul>
-<li><a href="Notes-on-Various-Filters-and-Filter-Modes.html#Notes-on-Various-Filters-and-Filter-Modes">4.4.1 Notes on Various Filters and Filter Modes</a>
-<ul>
-<li><a href="Notes-on-Various-Filters-and-Filter-Modes.html#Notes-on-Various-Filters-and-Filter-Modes">4.4.1.1 None Filter Mode</a>
-<li><a href="Notes-on-Various-Filters-and-Filter-Modes.html#Notes-on-Various-Filters-and-Filter-Modes">4.4.1.2 URL Filter</a>
-<li><a href="Notes-on-Various-Filters-and-Filter-Modes.html#Notes-on-Various-Filters-and-Filter-Modes">4.4.1.3 Email Filter</a>
-<li><a href="Notes-on-Various-Filters-and-Filter-Modes.html#Notes-on-Various-Filters-and-Filter-Modes">4.4.1.4 SGML Filter</a>
-<li><a href="Notes-on-Various-Filters-and-Filter-Modes.html#Notes-on-Various-Filters-and-Filter-Modes">4.4.1.5 HTML Filter</a>
-<li><a href="Notes-on-Various-Filters-and-Filter-Modes.html#Notes-on-Various-Filters-and-Filter-Modes">4.4.1.6 TeX/LaTeX Filter</a>
-<li><a href="Notes-on-Various-Filters-and-Filter-Modes.html#Notes-on-Various-Filters-and-Filter-Modes">4.4.1.7 Texinfo Filter</a>
-<li><a href="Notes-on-Various-Filters-and-Filter-Modes.html#Notes-on-Various-Filters-and-Filter-Modes">4.4.1.8 Nroff Filter</a>
-<li><a href="Notes-on-Various-Filters-and-Filter-Modes.html#Notes-on-Various-Filters-and-Filter-Modes">4.4.1.9 Context Filter</a>
-<li><a href="Notes-on-Various-Filters-and-Filter-Modes.html#Notes-on-Various-Filters-and-Filter-Modes">4.4.1.10 Ccpp Filter Mode</a>
-</li></ul>
-<li><a href="Notes-on-the-Prefix-Option.html#Notes-on-the-Prefix-Option">4.4.2 Notes on the Prefix Option</a>
-<li><a href="Notes-on-Typo_002dAnalysis.html#Notes-on-Typo_002dAnalysis">4.4.3 Notes on Typo-Analysis and the Keyboard Definition File</a>
-<li><a href="Notes-on-the-Different-Suggestion-Modes.html#Notes-on-the-Different-Suggestion-Modes">4.4.4 Notes on the Different Suggestion Modes</a>
-</li></ul>
-</li></ul>
-<li><a name="toc_Working-With-Dictionaries" href="Working-With-Dictionaries.html#Working-With-Dictionaries">5 Working With Dictionaries</a>
-<ul>
-<li><a href="Using-aspell_002dimport.html#Using-aspell_002dimport">5.1 Using <samp><span class="command">aspell-import</span></samp></a>
-<li><a href="How-Aspell-Selects-an-Appropriate-Dictionary.html#How-Aspell-Selects-an-Appropriate-Dictionary">5.2 How Aspell Selects an Appropriate Dictionary</a>
-<li><a href="Listing-Available-Dictionaries.html#Listing-Available-Dictionaries">5.3 Listing Available Dictionaries</a>
-<li><a href="Dumping-the-Contents-of-the-Word-List.html#Dumping-the-Contents-of-the-Word-List">5.4 Dumping the Contents of the Word List</a>
-<li><a href="Creating-an-Individual-Word-List.html#Creating-an-Individual-Word-List">5.5 Creating an Individual Word List</a>
-<ul>
-<li><a href="Creating-an-Individual-Word-List.html#Creating-an-Individual-Word-List">5.5.1 Format of the Replacement Word List</a>
-</li></ul>
-<li><a href="Working-With-Affix-Info-in-Word-Lists.html#Working-With-Affix-Info-in-Word-Lists">5.6 Working With Affix Info in Word Lists</a>
-<ul>
-<li><a href="Working-With-Affix-Info-in-Word-Lists.html#Working-With-Affix-Info-in-Word-Lists">5.6.1 The Munch Command</a>
-<li><a href="Working-With-Affix-Info-in-Word-Lists.html#Working-With-Affix-Info-in-Word-Lists">5.6.2 The Expand Command</a>
-<li><a href="Working-With-Affix-Info-in-Word-Lists.html#Working-With-Affix-Info-in-Word-Lists">5.6.3 The Munch-list Command</a>
-</li></ul>
-<li><a href="Format-of-the-Personal-and-Replacement-Dictionaries.html#Format-of-the-Personal-and-Replacement-Dictionaries">5.7 Format of the Personal and Replacement Dictionaries</a>
-<ul>
-<li><a href="Format-of-the-Personal-and-Replacement-Dictionaries.html#Format-of-the-Personal-and-Replacement-Dictionaries">5.7.1 Format of the Personal Dictionary</a>
-<li><a href="Format-of-the-Personal-and-Replacement-Dictionaries.html#Format-of-the-Personal-and-Replacement-Dictionaries">5.7.2 Format of the Personal Replacement Dictionary</a>
-</li></ul>
-<li><a href="Using-Multi-Dictionaries.html#Using-Multi-Dictionaries">5.8 Using Multi Dictionaries</a>
-<li><a href="Dictionary-Naming.html#Dictionary-Naming">5.9 Dictionary Naming</a>
-<li><a href="AWLI-files.html#AWLI-files">5.10 AWLI files</a>
-</li></ul>
-<li><a name="toc_Writing-programs-to-use-Aspell" href="Writing-programs-to-use-Aspell.html#Writing-programs-to-use-Aspell">6 Writing programs to use Aspell</a>
-<ul>
-<li><a href="Through-the-C-API.html#Through-the-C-API">6.1 Through the C API</a>
-<ul>
-<li><a href="Through-the-C-API.html#Through-the-C-API">6.1.1 Usage</a>
-<li><a href="Through-the-C-API.html#Through-the-C-API">6.1.2 API Reference</a>
-<li><a href="Through-the-C-API.html#Through-the-C-API">6.1.3 Examples</a>
-<li><a href="Through-the-C-API.html#Through-the-C-API">6.1.4 Notes About Thread Safety</a>
-</li></ul>
-<li><a href="Through-A-Pipe.html#Through-A-Pipe">6.2 Through A Pipe</a>
-<ul>
-<li><a href="Through-A-Pipe.html#Through-A-Pipe">6.2.1 Format of the Data Stream</a>
-</li></ul>
-<li><a href="Notes-on-Storing-Replacement-Pairs.html#Notes-on-Storing-Replacement-Pairs">6.3 Notes on Storing Replacement Pairs</a>
-</li></ul>
-<li><a name="toc_Adding-Support-For-Other-Languages" href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages">7 Adding Support For Other Languages</a>
-<ul>
-<li><a href="The-Language-Data-File.html#The-Language-Data-File">7.1 The Language Data File</a>
-<li><a href="Compiling-the-Word-List.html#Compiling-the-Word-List">7.2 Compiling the Word List</a>
-<li><a href="Phonetic-Code.html#Phonetic-Code">7.3 Phonetic Code</a>
-<ul>
-<li><a href="Phonetic-Code.html#Phonetic-Code">7.3.1 Syntax of the transformation array</a>
-<li><a href="Phonetic-Code.html#Phonetic-Code">7.3.2 How do I start finally?</a>
-<ul>
-<li><a href="Phonetic-Code.html#Phonetic-Code">7.3.2.1 Things that come in handy</a>
-<li><a href="Phonetic-Code.html#Phonetic-Code">7.3.2.2 What the phonetic code should do</a>
-</li></ul>
-</li></ul>
-<li><a href="The-Simple-Soundslike.html#The-Simple-Soundslike">7.4 The Simple Soundslike</a>
-<li><a href="Replacement-Tables.html#Replacement-Tables">7.5 Replacement Tables</a>
-<li><a href="Affix-Compression.html#Affix-Compression">7.6 Affix Compression</a>
-<ul>
-<li><a href="Affix-Compression.html#Affix-Compression">7.6.1 Format of the Affix File</a>
-<li><a href="Affix-Compression.html#Affix-Compression">7.6.2 When Compared With Ispell</a>
-<li><a href="Affix-Compression.html#Affix-Compression">7.6.3 Specifying Affix Flags</a>
-</li></ul>
-<li><a href="Controlling-the-Behavior-of-Run_002dtogether-Words.html#Controlling-the-Behavior-of-Run_002dtogether-Words">7.7 Controlling the Behavior of Run-together Words</a>
-<li><a href="Creating-A-New-Character-Set.html#Creating-A-New-Character-Set">7.8 Creating A New Character Set</a>
-<li><a href="Creating-An-Official-Dictionary-Package.html#Creating-An-Official-Dictionary-Package">7.9 Creating An Official Dictionary Package</a>
-</li></ul>
-<li><a name="toc_Implementation-Notes" href="Implementation-Notes.html#Implementation-Notes">Appendix A Implementation Notes</a>
-<ul>
-<li><a href="Aspell-Suggestion-Strategy.html#Aspell-Suggestion-Strategy">A.1 Aspell Suggestion Strategy</a>
-<li><a href="Notes-on-8_002dbit-Characters.html#Notes-on-8_002dbit-Characters">A.2 Notes on 8-bit Characters</a>
-</li></ul>
-<li><a name="toc_Languages-Which-Aspell-can-Support" href="Languages-Which-Aspell-can-Support.html#Languages-Which-Aspell-can-Support">Appendix B Languages Which Aspell can Support</a>
-<ul>
-<li><a href="Supported.html#Supported">B.1 Supported</a>
-<ul>
-<li><a href="Supported.html#Supported">B.1.1 Notes on Latin Languages</a>
-<li><a href="Supported.html#Supported">B.1.2 Syllabic</a>
-<ul>
-<li><a href="Supported.html#Supported">B.1.2.1 The Ethiopic Syllabary</a>
-<li><a href="Supported.html#Supported">B.1.2.2 The Yi Syllabary</a>
-<li><a href="Supported.html#Supported">B.1.2.3 The Ojibwe Syllabary</a>
-</li></ul>
-</li></ul>
-<li><a href="Unsupported.html#Unsupported">B.2 Unsupported</a>
-<ul>
-<li><a href="Unsupported.html#Unsupported">B.2.1 The Thai, Khmer, and Lao Scripts</a>
-<li><a href="Unsupported.html#Unsupported">B.2.2 Languages which use Hànzi Characters</a>
-<li><a href="Unsupported.html#Unsupported">B.2.3 Japanese</a>
-<li><a href="Unsupported.html#Unsupported">B.2.4 Hangul</a>
-</li></ul>
-<li><a href="Multiple-Scripts.html#Multiple-Scripts">B.3 Languages Written in Multiple Scripts</a>
-<li><a href="Planned-Dictionaries.html#Planned-Dictionaries">B.4 Notes on Planned Dictionaries</a>
-<li><a href="References.html#References">B.5 References</a>
-</li></ul>
-<li><a name="toc_Language-Related-Issues" href="Language-Related-Issues.html#Language-Related-Issues">Appendix C Language Related Issues</a>
-<ul>
-<li><a href="Compound-Words.html#Compound-Words">C.1 Compound Words</a>
-<ul>
-<li><a href="Compound-Words.html#Compound-Words">C.1.1 To Implement</a>
-</li></ul>
-<li><a href="Words-With-Symbols-in-Them.html#Words-With-Symbols-in-Them">C.2 Words With Spaces or Other Symbols in Them</a>
-<li><a href="Unicode-Normalization.html#Unicode-Normalization">C.3 Unicode Normalization</a>
-<li><a href="German-Sharp-S.html#German-Sharp-S">C.4 German Sharp S</a>
-<li><a href="Context-Sensitive-Spelling.html#Context-Sensitive-Spelling">C.5 Context Sensitive Spelling</a>
-</li></ul>
-<li><a name="toc_To-Do" href="To-Do.html#To-Do">Appendix D To Do</a>
-<ul>
-<li><a href="Important-Items.html#Important-Items">D.1 Important Items</a>
-<ul>
-<li><a href="Important-Items.html#Important-Items">D.1.1 Things that need to be done</a>
-<li><a href="Important-Items.html#Important-Items">D.1.2 Things I would like to get done</a>
-</li></ul>
-<li><a href="Other-Items.html#Other-Items">D.2 Other Items</a>
-<li><a href="Notes-on-Various-Items.html#Notes-on-Various-Items">D.3 Notes on Various Items</a>
-<ul>
-<li><a href="Word-skipping-by-context.html#Word-skipping-by-context">D.3.1 Word skipping by context</a>
-<li><a href="Hidden-Markov-Model.html#Hidden-Markov-Model">D.3.2 Hidden Markov Model</a>
-<li><a href="Email-the-Personal-Dictionary.html#Email-the-Personal-Dictionary">D.3.3 Email the Personal Dictionary</a>
-</li></ul>
-</li></ul>
-<li><a name="toc_Installing" href="Installing.html#Installing">Appendix E Installing</a>
-<ul>
-<li><a href="Generic-Install-Instructions.html#Generic-Install-Instructions">E.1 Generic Install Instructions</a>
-<li><a href="HTML-Manuals-and-_0022make-clean_0022.html#HTML-Manuals-and-_0022make-clean_0022">E.2 HTML Manuals and <samp><span class="command">make clean</span></samp></a>
-<li><a href="Curses-Notes.html#Curses-Notes">E.3 Curses Notes</a>
-<ul>
-<li><a href="Curses-Notes.html#Curses-Notes">E.3.1 Unicode Support</a>
-</li></ul>
-<li><a href="Loadable-Filter-Notes.html#Loadable-Filter-Notes">E.4 Loadable Filter Notes</a>
-<li><a href="Upgrading-from-Aspell-0_002e50.html#Upgrading-from-Aspell-0_002e50">E.5 Upgrading from Aspell 0.50</a>
-<ul>
-<li><a href="Upgrading-from-Aspell-0_002e50.html#Upgrading-from-Aspell-0_002e50">E.5.1 Binary Compatibility</a>
-</li></ul>
-<li><a href="Upgrading-from-Aspell-_002e33_002fPspell-_002e12.html#Upgrading-from-Aspell-_002e33_002fPspell-_002e12">E.6 Upgrading from Aspell .33/Pspell .12</a>
-<li><a href="Upgrading-from-a-Pre_002d0_002e50-snapshot.html#Upgrading-from-a-Pre_002d0_002e50-snapshot">E.7 Upgrading from a Pre-0.50 snapshot</a>
-<li><a href="WIN32-Notes.html#WIN32-Notes">E.8 WIN32 Notes</a>
-<ul>
-<li><a href="WIN32-Notes.html#WIN32-Notes">E.8.1 Getting the WIN32 version</a>
-<li><a href="WIN32-Notes.html#WIN32-Notes">E.8.2 Building the WIN32 version</a>
-<ul>
-<li><a href="WIN32-Notes.html#WIN32-Notes">E.8.2.1 Building Aspell using Cygwin</a>
-<li><a href="WIN32-Notes.html#WIN32-Notes">E.8.2.2 Building Aspell using MinGW</a>
-<li><a href="WIN32-Notes.html#WIN32-Notes">E.8.2.3 Building Aspell without using Cygwin or MSYS</a>
-</li></ul>
-<li><a href="WIN32-Notes.html#WIN32-Notes">E.8.3 (PD)Curses</a>
-<li><a href="WIN32-Notes.html#WIN32-Notes">E.8.4 Directories</a>
-<li><a href="WIN32-Notes.html#WIN32-Notes">E.8.5 Installer</a>
-<li><a href="WIN32-Notes.html#WIN32-Notes">E.8.6 WIN32 consoles</a>
-</li></ul>
-</li></ul>
-<li><a name="toc_ChangeLog" href="ChangeLog.html#ChangeLog">Appendix F ChangeLog</a>
-<li><a name="toc_Authors" href="Authors.html#Authors">Appendix G Authors</a>
-<li><a name="toc_Copying" href="Copying.html#Copying">Appendix H Copying</a>
-<ul>
-<li><a href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License">H.1 GNU Free Documentation License</a>
-<ul>
-<li><a href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License">H.1.1 ADDENDUM: How to use this License for your documents</a>
-</li></ul>
-<li><a href="GNU-Lesser-General-Public-License.html#GNU-Lesser-General-Public-License">H.2 GNU Lesser General Public License</a>
-<ul>
-<li><a href="GNU-Lesser-General-Public-License.html#GNU-Lesser-General-Public-License">H.2.1 Preamble</a>
-<li><a href="GNU-Lesser-General-Public-License.html#GNU-Lesser-General-Public-License">H.2.2 How to Apply These Terms to Your New Libraries</a>
-</li></ul>
-</li></ul>
-</li></ul>
-</div>
-
-
-
-<div class="node">
-<p>
-<a name="Top"></a>
-Next: <a rel="next" accesskey="n" href="Introduction.html#Introduction">Introduction</a>,
-Up: <a rel="up" accesskey="u" href="../index.html#dir">(dir)</a>
-<hr>
-</div>
-
-<h2 class="unnumbered">GNU Aspell 0.60.6.1</h2>
-
-<p>This is the user's manual for Aspell
-
- <p>GNU Aspell is a spell checker designed to eventually replace Ispell.
-It can either be used as a library or as an independent spell checker.
-
-<ul class="menu">
-<li><a accesskey="1" href="Introduction.html#Introduction">Introduction</a>
-<li><a accesskey="2" href="Support.html#Support">Support</a>
-<li><a accesskey="3" href="Basic-Usage.html#Basic-Usage">Basic Usage</a>
-<li><a accesskey="4" href="Customizing-Aspell.html#Customizing-Aspell">Customizing Aspell</a>
-<li><a accesskey="5" href="Working-With-Dictionaries.html#Working-With-Dictionaries">Working With Dictionaries</a>
-<li><a accesskey="6" href="Writing-programs-to-use-Aspell.html#Writing-programs-to-use-Aspell">Writing programs to use Aspell</a>
-<li><a accesskey="7" href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages">Adding Support For Other Languages</a>
-<li><a accesskey="8" href="Implementation-Notes.html#Implementation-Notes">Implementation Notes</a>
-<li><a accesskey="9" href="Languages-Which-Aspell-can-Support.html#Languages-Which-Aspell-can-Support">Languages Which Aspell can Support</a>
-<li><a href="Language-Related-Issues.html#Language-Related-Issues">Language Related Issues</a>
-<li><a href="To-Do.html#To-Do">To Do</a>
-<li><a href="Installing.html#Installing">Installing</a>
-<li><a href="ChangeLog.html#ChangeLog">ChangeLog</a>
-<li><a href="Authors.html#Authors">Authors</a>
-<li><a href="Copying.html#Copying">Copying</a>
-
-</li></ul>
-<p>--- The Detailed Node Listing ---
-
-<p>Basic Usage
-
-</p>
-<ul class="menu">
-<li><a href="Spellchecking-Individual-Files.html#Spellchecking-Individual-Files">Spellchecking Individual Files</a>
-<li><a href="Using-Aspell-as-a-Replacement-for-Ispell.html#Using-Aspell-as-a-Replacement-for-Ispell">Using Aspell as a Replacement for Ispell</a>
-<li><a href="Using-Aspell-with-other-Applications.html#Using-Aspell-with-other-Applications">Using Aspell with other Applications</a>
-
-</li></ul>
-<p>Customizing Aspell
-
-</p>
-<ul class="menu">
-<li><a href="Specifying-Options.html#Specifying-Options">Specifying Options</a>
-<li><a href="The-Options.html#The-Options">The Options</a>
-<li><a href="Dumping-Configuration-Values.html#Dumping-Configuration-Values">Dumping Configuration Values</a>
-<li><a href="Notes-on-Various-Options.html#Notes-on-Various-Options">Notes on Various Options</a>
-
-</li></ul>
-<p>Notes on Various Options
-
-</p>
-<ul class="menu">
-<li><a href="Notes-on-Various-Filters-and-Filter-Modes.html#Notes-on-Various-Filters-and-Filter-Modes">Notes on Various Filters and Filter Modes</a>
-<li><a href="Notes-on-the-Prefix-Option.html#Notes-on-the-Prefix-Option">Notes on the Prefix Option</a>
-<li><a href="Notes-on-Typo_002dAnalysis.html#Notes-on-Typo_002dAnalysis">Notes on Typo-Analysis</a>
-<li><a href="Notes-on-the-Different-Suggestion-Modes.html#Notes-on-the-Different-Suggestion-Modes">Notes on the Different Suggestion Modes</a>
-
-</li></ul>
-<p>Working With Dictionaries
-
-</p>
-<ul class="menu">
-<li><a href="Using-aspell_002dimport.html#Using-aspell_002dimport">Using aspell-import</a>
-<li><a href="How-Aspell-Selects-an-Appropriate-Dictionary.html#How-Aspell-Selects-an-Appropriate-Dictionary">How Aspell Selects an Appropriate Dictionary</a>
-<li><a href="Listing-Available-Dictionaries.html#Listing-Available-Dictionaries">Listing Available Dictionaries</a>
-<li><a href="Dumping-the-Contents-of-the-Word-List.html#Dumping-the-Contents-of-the-Word-List">Dumping the Contents of the Word List</a>
-<li><a href="Creating-an-Individual-Word-List.html#Creating-an-Individual-Word-List">Creating an Individual Word List</a>
-<li><a href="Working-With-Affix-Info-in-Word-Lists.html#Working-With-Affix-Info-in-Word-Lists">Working With Affix Info in Word Lists</a>
-<li><a href="Format-of-the-Personal-and-Replacement-Dictionaries.html#Format-of-the-Personal-and-Replacement-Dictionaries">Format of the Personal and Replacement Dictionaries</a>
-<li><a href="Using-Multi-Dictionaries.html#Using-Multi-Dictionaries">Using Multi Dictionaries</a>
-<li><a href="Dictionary-Naming.html#Dictionary-Naming">Dictionary Naming</a>
-<li><a href="AWLI-files.html#AWLI-files">AWLI files</a>
-
-</li></ul>
-<p>Writing programs to use Aspell
-
-</p>
-<ul class="menu">
-<li><a href="Through-the-C-API.html#Through-the-C-API">Through the C API</a>
-<li><a href="Through-A-Pipe.html#Through-A-Pipe">Through A Pipe</a>
-<li><a href="Notes-on-Storing-Replacement-Pairs.html#Notes-on-Storing-Replacement-Pairs">Notes on Storing Replacement Pairs</a>
-
-</li></ul>
-<p>Adding Support For Other Languages
-
-</p>
-<ul class="menu">
-<li><a href="The-Language-Data-File.html#The-Language-Data-File">The Language Data File</a>
-<li><a href="Compiling-the-Word-List.html#Compiling-the-Word-List">Compiling the Word List</a>
-<li><a href="Phonetic-Code.html#Phonetic-Code">Phonetic Code</a>
-<li><a href="The-Simple-Soundslike.html#The-Simple-Soundslike">The Simple Soundslike</a>
-<li><a href="Replacement-Tables.html#Replacement-Tables">Replacement Tables</a>
-<li><a href="Affix-Compression.html#Affix-Compression">Affix Compression</a>
-<li><a href="Controlling-the-Behavior-of-Run_002dtogether-Words.html#Controlling-the-Behavior-of-Run_002dtogether-Words">Controlling the Behavior of Run-together Words</a>
-<li><a href="Creating-A-New-Character-Set.html#Creating-A-New-Character-Set">Creating A New Character Set</a>
-<li><a href="Creating-An-Official-Dictionary-Package.html#Creating-An-Official-Dictionary-Package">Creating An Official Dictionary Package</a>
-
-</li></ul>
-<p>Implementation Notes
-
-</p>
-<ul class="menu">
-<li><a href="Aspell-Suggestion-Strategy.html#Aspell-Suggestion-Strategy">Aspell Suggestion Strategy</a>
-<li><a href="Notes-on-8_002dbit-Characters.html#Notes-on-8_002dbit-Characters">Notes on 8-bit Characters</a>
-
-</li></ul>
-<p>Languages Which Aspell can Support
-
-</p>
-<ul class="menu">
-<li><a href="Supported.html#Supported">Supported</a>
-<li><a href="Unsupported.html#Unsupported">Unsupported</a>
-<li><a href="Multiple-Scripts.html#Multiple-Scripts">Multiple Scripts</a>
-<li><a href="Planned-Dictionaries.html#Planned-Dictionaries">Planned Dictionaries</a>
-<li><a href="References.html#References">References</a>
+Copyright © 2000-2019 Kevin Atkinson.
-</li></ul>
-<p>Language Related Issues
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A
+copy of the license is included in the section entitled "GNU Free
+Documentation License". -->
+<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>GNU Aspell 0.60.7: Top</title>
+
+<meta name="description" content="Aspell 0.60.7 spell checker user’s manual.">
+<meta name="keywords" content="GNU Aspell 0.60.7: Top">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="#Top" rel="start" title="Top">
+<link href="#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="../dir/index.html" rel="up" title="(dir)">
+<link href="Introduction.html#Introduction" rel="next" title="Introduction">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
-</p>
-<ul class="menu">
-<li><a href="Compound-Words.html#Compound-Words">Compound Words</a>
-<li><a href="Words-With-Symbols-in-Them.html#Words-With-Symbols-in-Them">Words With Symbols in Them</a>
-<li><a href="Unicode-Normalization.html#Unicode-Normalization">Unicode Normalization</a>
-<li><a href="German-Sharp-S.html#German-Sharp-S">German Sharp S</a>
-<li><a href="Context-Sensitive-Spelling.html#Context-Sensitive-Spelling">Context Sensitive Spelling</a>
-</li></ul>
-<p>To Do
+</head>
-</p>
-<ul class="menu">
-<li><a href="Important-Items.html#Important-Items">Important Items</a>
-<li><a href="Other-Items.html#Other-Items">Other Items</a>
-<li><a href="Notes-on-Various-Items.html#Notes-on-Various-Items">Notes on Various Items</a>
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<h1 class="settitle" align="center">GNU Aspell 0.60.7</h1>
+
+
+
+
+<a name="SEC_Contents"></a>
+<h2 class="contents-heading">Table of Contents</h2>
+
+<div class="contents">
+
+<ul class="no-bullet">
+ <li><a name="toc-Introduction-1" href="Introduction.html#Introduction">1 Introduction</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Comparison-to-other-spell-checker-engines" href="Introduction.html#Comparison-to-other-spell-checker-engines">1.1 Comparison to other spell checker engines</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Comparison-to-Ispell" href="Introduction.html#Comparison-to-Ispell">1.1.1 Comparison to Ispell</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Features-that-only-Aspell-has" href="Introduction.html#Features-that-only-Aspell-has">1.1.1.1 Features that only Aspell has</a></li>
+ <li><a name="toc-Things-that_002c-currently_002c-only-Ispell-has" href="Introduction.html#Things-that_002c-currently_002c-only-Ispell-has">1.1.1.2 Things that, currently, only Ispell has</a></li>
+ </ul></li>
+ </ul></li>
+ </ul></li>
+ <li><a name="toc-Support-1" href="Support.html#Support">2 Support</a></li>
+ <li><a name="toc-Basic-Usage-1" href="Basic-Usage.html#Basic-Usage">3 Basic Usage</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Spellchecking-Individual-Files-1" href="Spellchecking-Individual-Files.html#Spellchecking-Individual-Files">3.1 Spellchecking Individual Files</a></li>
+ <li><a name="toc-Using-Aspell-as-a-Replacement-for-Ispell-1" href="Using-Aspell-as-a-Replacement-for-Ispell.html#Using-Aspell-as-a-Replacement-for-Ispell">3.2 Using Aspell as a Replacement for Ispell</a>
+ <ul class="no-bullet">
+ <li><a name="toc-As-a-Drop-In-Replacement" href="Using-Aspell-as-a-Replacement-for-Ispell.html#As-a-Drop-In-Replacement">3.2.1 As a Drop In Replacement</a></li>
+ <li><a name="toc-Differences-From-Ispell-1" href="Using-Aspell-as-a-Replacement-for-Ispell.html#Differences-From-Ispell-1">3.2.2 Differences From Ispell</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Functionality-of-the-Ispell-Compatibility-Script" href="Using-Aspell-as-a-Replacement-for-Ispell.html#Functionality-of-the-Ispell-Compatibility-Script">3.2.2.1 Functionality of the Ispell Compatibility Script</a></li>
+ <li><a name="toc-Recognized-Options" href="Using-Aspell-as-a-Replacement-for-Ispell.html#Recognized-Options">3.2.2.2 Recognized Options</a></li>
+ <li><a name="toc-Check-Mode-Compatibility" href="Using-Aspell-as-a-Replacement-for-Ispell.html#Check-Mode-Compatibility">3.2.2.3 Check Mode Compatibility</a></li>
+ <li><a name="toc-Pipe-Mode-Compatibility" href="Using-Aspell-as-a-Replacement-for-Ispell.html#Pipe-Mode-Compatibility">3.2.2.4 Pipe Mode Compatibility</a></li>
+ <li><a name="toc-Other-Differences" href="Using-Aspell-as-a-Replacement-for-Ispell.html#Other-Differences">3.2.2.5 Other Differences</a></li>
+ <li><a name="toc-Missing-Functionally" href="Using-Aspell-as-a-Replacement-for-Ispell.html#Missing-Functionally">3.2.2.6 Missing Functionally</a></li>
+ </ul></li>
+ </ul></li>
+ <li><a name="toc-Using-Aspell-with-other-Applications-1" href="Using-Aspell-with-other-Applications.html#Using-Aspell-with-other-Applications">3.3 Using Aspell with other Applications</a>
+ <ul class="no-bullet">
+ <li><a name="toc-With-Emacs-and-XEmacs" href="Using-Aspell-with-other-Applications.html#With-Emacs-and-XEmacs">3.3.1 With Emacs and XEmacs</a></li>
+ <li><a name="toc-With-LyX" href="Using-Aspell-with-other-Applications.html#With-LyX">3.3.2 With LyX</a></li>
+ <li><a name="toc-With-VIM" href="Using-Aspell-with-other-Applications.html#With-VIM">3.3.3 With VIM</a></li>
+ <li><a name="toc-With-Pine" href="Using-Aspell-with-other-Applications.html#With-Pine">3.3.4 With Pine</a></li>
+ </ul></li>
+ </ul></li>
+ <li><a name="toc-Customizing-Aspell-1" href="Customizing-Aspell.html#Customizing-Aspell">4 Customizing Aspell</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Specifying-Options-1" href="Specifying-Options.html#Specifying-Options">4.1 Specifying Options</a>
+ <ul class="no-bullet">
+ <li><a name="toc-At-the-Command-Line" href="Specifying-Options.html#At-the-Command-Line">4.1.1 At the Command Line</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Value-options" href="Specifying-Options.html#Value-options">4.1.1.1 Value options</a></li>
+ <li><a name="toc-Boolean-options" href="Specifying-Options.html#Boolean-options">4.1.1.2 Boolean options</a></li>
+ <li><a name="toc-List-options" href="Specifying-Options.html#List-options">4.1.1.3 List options</a></li>
+ </ul></li>
+ <li><a name="toc-Via-a-Configuration-File" href="Specifying-Options.html#Via-a-Configuration-File">4.1.2 Via a Configuration File</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Value-options-1" href="Specifying-Options.html#Value-options-1">4.1.2.1 Value options</a></li>
+ <li><a name="toc-Boolean-options-1" href="Specifying-Options.html#Boolean-options-1">4.1.2.2 Boolean options</a></li>
+ <li><a name="toc-List-options-1" href="Specifying-Options.html#List-options-1">4.1.2.3 List options</a></li>
+ </ul></li>
+ <li><a name="toc-Setting-Options-via-an-Environment-Variable" href="Specifying-Options.html#Setting-Options-via-an-Environment-Variable">4.1.3 Setting Options via an Environment Variable</a></li>
+ </ul></li>
+ <li><a name="toc-The-Options-1" href="The-Options.html#The-Options">4.2 The Options</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Dictionary-Options" href="The-Options.html#Dictionary-Options">4.2.1 Dictionary Options</a></li>
+ <li><a name="toc-Encoding-Options" href="The-Options.html#Encoding-Options">4.2.2 Encoding Options</a></li>
+ <li><a name="toc-Checker-Options" href="The-Options.html#Checker-Options">4.2.3 Checker Options</a></li>
+ <li><a name="toc-Filter-Options" href="The-Options.html#Filter-Options">4.2.4 Filter Options</a>
+ <ul class="no-bullet">
+ <li><a name="toc-email" href="The-Options.html#email">4.2.4.1 email</a></li>
+ <li><a name="toc-html" href="The-Options.html#html">4.2.4.2 html</a></li>
+ <li><a name="toc-sgml" href="The-Options.html#sgml">4.2.4.3 sgml</a></li>
+ <li><a name="toc-tex_002flatex" href="The-Options.html#tex_002flatex">4.2.4.4 tex/latex</a></li>
+ <li><a name="toc-texinfo" href="The-Options.html#texinfo">4.2.4.5 texinfo</a></li>
+ <li><a name="toc-context" href="The-Options.html#context">4.2.4.6 context</a></li>
+ </ul></li>
+ <li><a name="toc-Run_002dtogether-Word-Options" href="The-Options.html#Run_002dtogether-Word-Options">4.2.5 Run-together Word Options</a></li>
+ <li><a name="toc-Miscellaneous-Options" href="The-Options.html#Miscellaneous-Options">4.2.6 Miscellaneous Options</a></li>
+ <li><a name="toc-Aspell-Utility-Options" href="The-Options.html#Aspell-Utility-Options">4.2.7 Aspell Utility Options</a></li>
+ </ul></li>
+ <li><a name="toc-Dumping-Configuration-Values-1" href="Dumping-Configuration-Values.html#Dumping-Configuration-Values">4.3 Dumping Configuration Values</a></li>
+ <li><a name="toc-Notes-on-Various-Options-1" href="Notes-on-Various-Options.html#Notes-on-Various-Options">4.4 Notes on Various Options</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Notes-on-Various-Filters-and-Filter-Modes-1" href="Notes-on-Various-Filters-and-Filter-Modes.html#Notes-on-Various-Filters-and-Filter-Modes">4.4.1 Notes on Various Filters and Filter Modes</a>
+ <ul class="no-bullet">
+ <li><a name="toc-None-Filter-Mode" href="Notes-on-Various-Filters-and-Filter-Modes.html#None-Filter-Mode">4.4.1.1 None Filter Mode</a></li>
+ <li><a name="toc-URL-Filter" href="Notes-on-Various-Filters-and-Filter-Modes.html#URL-Filter">4.4.1.2 URL Filter</a></li>
+ <li><a name="toc-Email-Filter" href="Notes-on-Various-Filters-and-Filter-Modes.html#Email-Filter">4.4.1.3 Email Filter</a></li>
+ <li><a name="toc-SGML-Filter" href="Notes-on-Various-Filters-and-Filter-Modes.html#SGML-Filter">4.4.1.4 SGML Filter</a></li>
+ <li><a name="toc-HTML-Filter" href="Notes-on-Various-Filters-and-Filter-Modes.html#HTML-Filter">4.4.1.5 HTML Filter</a></li>
+ <li><a name="toc-TeX_002fLaTeX-Filter" href="Notes-on-Various-Filters-and-Filter-Modes.html#TeX_002fLaTeX-Filter">4.4.1.6 TeX/LaTeX Filter</a></li>
+ <li><a name="toc-Texinfo-Filter" href="Notes-on-Various-Filters-and-Filter-Modes.html#Texinfo-Filter">4.4.1.7 Texinfo Filter</a></li>
+ <li><a name="toc-Nroff-Filter" href="Notes-on-Various-Filters-and-Filter-Modes.html#Nroff-Filter">4.4.1.8 Nroff Filter</a></li>
+ <li><a name="toc-Context-Filter" href="Notes-on-Various-Filters-and-Filter-Modes.html#Context-Filter">4.4.1.9 Context Filter</a></li>
+ <li><a name="toc-Ccpp-Filter-Mode" href="Notes-on-Various-Filters-and-Filter-Modes.html#Ccpp-Filter-Mode">4.4.1.10 Ccpp Filter Mode</a></li>
+ </ul></li>
+ <li><a name="toc-Notes-on-the-Prefix-Option-1" href="Notes-on-the-Prefix-Option.html#Notes-on-the-Prefix-Option">4.4.2 Notes on the Prefix Option</a></li>
+ <li><a name="toc-Notes-on-Typo_002dAnalysis-and-the-Keyboard-Definition-File" href="Notes-on-Typo_002dAnalysis.html#Notes-on-Typo_002dAnalysis">4.4.3 Notes on Typo-Analysis and the Keyboard Definition File</a></li>
+ <li><a name="toc-Notes-on-the-Different-Suggestion-Modes-1" href="Notes-on-the-Different-Suggestion-Modes.html#Notes-on-the-Different-Suggestion-Modes">4.4.4 Notes on the Different Suggestion Modes</a></li>
+ </ul></li>
+ </ul></li>
+ <li><a name="toc-Working-With-Dictionaries-1" href="Working-With-Dictionaries.html#Working-With-Dictionaries">5 Working With Dictionaries</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Using-aspell_002dimport-1" href="Using-aspell_002dimport.html#Using-aspell_002dimport">5.1 Using <code>aspell-import</code></a></li>
+ <li><a name="toc-How-Aspell-Selects-an-Appropriate-Dictionary-1" href="How-Aspell-Selects-an-Appropriate-Dictionary.html#How-Aspell-Selects-an-Appropriate-Dictionary">5.2 How Aspell Selects an Appropriate Dictionary</a></li>
+ <li><a name="toc-Listing-Available-Dictionaries-1" href="Listing-Available-Dictionaries.html#Listing-Available-Dictionaries">5.3 Listing Available Dictionaries</a></li>
+ <li><a name="toc-Dumping-the-Contents-of-the-Word-List-1" href="Dumping-the-Contents-of-the-Word-List.html#Dumping-the-Contents-of-the-Word-List">5.4 Dumping the Contents of the Word List</a></li>
+ <li><a name="toc-Creating-an-Individual-Word-List-1" href="Creating-an-Individual-Word-List.html#Creating-an-Individual-Word-List">5.5 Creating an Individual Word List</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Format-of-the-Replacement-Word-List" href="Creating-an-Individual-Word-List.html#Format-of-the-Replacement-Word-List">5.5.1 Format of the Replacement Word List</a></li>
+ </ul></li>
+ <li><a name="toc-Working-With-Affix-Info-in-Word-Lists-1" href="Working-With-Affix-Info-in-Word-Lists.html#Working-With-Affix-Info-in-Word-Lists">5.6 Working With Affix Info in Word Lists</a>
+ <ul class="no-bullet">
+ <li><a name="toc-The-Munch-Command" href="Working-With-Affix-Info-in-Word-Lists.html#The-Munch-Command">5.6.1 The Munch Command</a></li>
+ <li><a name="toc-The-Expand-Command" href="Working-With-Affix-Info-in-Word-Lists.html#The-Expand-Command">5.6.2 The Expand Command</a></li>
+ <li><a name="toc-The-Munch_002dlist-Command" href="Working-With-Affix-Info-in-Word-Lists.html#The-Munch_002dlist-Command">5.6.3 The Munch-list Command</a></li>
+ </ul></li>
+ <li><a name="toc-Format-of-the-Personal-and-Replacement-Dictionaries-1" href="Format-of-the-Personal-and-Replacement-Dictionaries.html#Format-of-the-Personal-and-Replacement-Dictionaries">5.7 Format of the Personal and Replacement Dictionaries</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Format-of-the-Personal-Dictionary-1" href="Format-of-the-Personal-and-Replacement-Dictionaries.html#Format-of-the-Personal-Dictionary-1">5.7.1 Format of the Personal Dictionary</a></li>
+ <li><a name="toc-Format-of-the-Personal-Replacement-Dictionary" href="Format-of-the-Personal-and-Replacement-Dictionaries.html#Format-of-the-Personal-Replacement-Dictionary">5.7.2 Format of the Personal Replacement Dictionary</a></li>
+ </ul></li>
+ <li><a name="toc-Using-Multi-Dictionaries-1" href="Using-Multi-Dictionaries.html#Using-Multi-Dictionaries">5.8 Using Multi Dictionaries</a></li>
+ <li><a name="toc-Dictionary-Naming-1" href="Dictionary-Naming.html#Dictionary-Naming">5.9 Dictionary Naming</a></li>
+ <li><a name="toc-AWLI-files-1" href="AWLI-files.html#AWLI-files">5.10 AWLI files</a></li>
+ </ul></li>
+ <li><a name="toc-Writing-programs-to-use-Aspell-1" href="Writing-programs-to-use-Aspell.html#Writing-programs-to-use-Aspell">6 Writing programs to use Aspell</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Through-the-C-API-1" href="Through-the-C-API.html#Through-the-C-API">6.1 Through the C API</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Usage" href="Through-the-C-API.html#Usage">6.1.1 Usage</a></li>
+ <li><a name="toc-API-Reference" href="Through-the-C-API.html#API-Reference">6.1.2 API Reference</a></li>
+ <li><a name="toc-Examples" href="Through-the-C-API.html#Examples">6.1.3 Examples</a></li>
+ <li><a name="toc-Notes-About-Thread-Safety" href="Through-the-C-API.html#Notes-About-Thread-Safety">6.1.4 Notes About Thread Safety</a></li>
+ </ul></li>
+ <li><a name="toc-Through-A-Pipe-1" href="Through-A-Pipe.html#Through-A-Pipe">6.2 Through A Pipe</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Format-of-the-Data-Stream" href="Through-A-Pipe.html#Format-of-the-Data-Stream">6.2.1 Format of the Data Stream</a></li>
+ </ul></li>
+ <li><a name="toc-Notes-on-Storing-Replacement-Pairs-1" href="Notes-on-Storing-Replacement-Pairs.html#Notes-on-Storing-Replacement-Pairs">6.3 Notes on Storing Replacement Pairs</a></li>
+ </ul></li>
+ <li><a name="toc-Adding-Support-For-Other-Languages-1" href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages">7 Adding Support For Other Languages</a>
+ <ul class="no-bullet">
+ <li><a name="toc-The-Language-Data-File-1" href="The-Language-Data-File.html#The-Language-Data-File">7.1 The Language Data File</a></li>
+ <li><a name="toc-Compiling-the-Word-List-1" href="Compiling-the-Word-List.html#Compiling-the-Word-List">7.2 Compiling the Word List</a></li>
+ <li><a name="toc-Phonetic-Code-1" href="Phonetic-Code.html#Phonetic-Code">7.3 Phonetic Code</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Syntax-of-the-transformation-array" href="Phonetic-Code.html#Syntax-of-the-transformation-array">7.3.1 Syntax of the transformation array</a></li>
+ <li><a name="toc-How-do-I-start-finally_003f" href="Phonetic-Code.html#How-do-I-start-finally_003f">7.3.2 How do I start finally?</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Things-that-come-in-handy" href="Phonetic-Code.html#Things-that-come-in-handy">7.3.2.1 Things that come in handy</a></li>
+ <li><a name="toc-What-the-phonetic-code-should-do" href="Phonetic-Code.html#What-the-phonetic-code-should-do">7.3.2.2 What the phonetic code should do</a></li>
+ </ul></li>
+ </ul></li>
+ <li><a name="toc-The-Simple-Soundslike-1" href="The-Simple-Soundslike.html#The-Simple-Soundslike">7.4 The Simple Soundslike</a></li>
+ <li><a name="toc-Replacement-Tables-1" href="Replacement-Tables.html#Replacement-Tables">7.5 Replacement Tables</a></li>
+ <li><a name="toc-Affix-Compression-1" href="Affix-Compression.html#Affix-Compression">7.6 Affix Compression</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Format-of-the-Affix-File" href="Affix-Compression.html#Format-of-the-Affix-File">7.6.1 Format of the Affix File</a></li>
+ <li><a name="toc-When-Compared-With-Ispell" href="Affix-Compression.html#When-Compared-With-Ispell">7.6.2 When Compared With Ispell</a></li>
+ <li><a name="toc-Specifying-Affix-Flags" href="Affix-Compression.html#Specifying-Affix-Flags">7.6.3 Specifying Affix Flags</a></li>
+ </ul></li>
+ <li><a name="toc-Controlling-the-Behavior-of-Run_002dtogether-Words-1" href="Controlling-the-Behavior-of-Run_002dtogether-Words.html#Controlling-the-Behavior-of-Run_002dtogether-Words">7.7 Controlling the Behavior of Run-together Words</a></li>
+ <li><a name="toc-Creating-A-New-Character-Set-1" href="Creating-A-New-Character-Set.html#Creating-A-New-Character-Set">7.8 Creating A New Character Set</a></li>
+ <li><a name="toc-Creating-An-Official-Dictionary-Package-1" href="Creating-An-Official-Dictionary-Package.html#Creating-An-Official-Dictionary-Package">7.9 Creating An Official Dictionary Package</a></li>
+ </ul></li>
+ <li><a name="toc-Implementation-Notes-1" href="Implementation-Notes.html#Implementation-Notes">Appendix A Implementation Notes</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Aspell-Suggestion-Strategy-1" href="Aspell-Suggestion-Strategy.html#Aspell-Suggestion-Strategy">A.1 Aspell Suggestion Strategy</a></li>
+ <li><a name="toc-Notes-on-8_002dbit-Characters-1" href="Notes-on-8_002dbit-Characters.html#Notes-on-8_002dbit-Characters">A.2 Notes on 8-bit Characters</a></li>
+ </ul></li>
+ <li><a name="toc-Languages-Which-Aspell-can-Support-1" href="Languages-Which-Aspell-can-Support.html#Languages-Which-Aspell-can-Support">Appendix B Languages Which Aspell can Support</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Supported-1" href="Supported.html#Supported">B.1 Supported</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Notes-on-Latin-Languages" href="Supported.html#Notes-on-Latin-Languages">B.1.1 Notes on Latin Languages</a></li>
+ <li><a name="toc-Syllabic" href="Supported.html#Syllabic">B.1.2 Syllabic</a>
+ <ul class="no-bullet">
+ <li><a name="toc-The-Ethiopic-Syllabary" href="Supported.html#The-Ethiopic-Syllabary">B.1.2.1 The Ethiopic Syllabary</a></li>
+ <li><a name="toc-The-Yi-Syllabary" href="Supported.html#The-Yi-Syllabary">B.1.2.2 The Yi Syllabary</a></li>
+ <li><a name="toc-The-Ojibwe-Syllabary" href="Supported.html#The-Ojibwe-Syllabary">B.1.2.3 The Ojibwe Syllabary</a></li>
+ </ul></li>
+ </ul></li>
+ <li><a name="toc-Unsupported-1" href="Unsupported.html#Unsupported">B.2 Unsupported</a>
+ <ul class="no-bullet">
+ <li><a name="toc-The-Thai_002c-Khmer_002c-and-Lao-Scripts" href="Unsupported.html#The-Thai_002c-Khmer_002c-and-Lao-Scripts">B.2.1 The Thai, Khmer, and Lao Scripts</a></li>
+ <li><a name="toc-Languages-which-use-Hanzi-Characters" href="Unsupported.html#Languages-which-use-Hanzi-Characters">B.2.2 Languages which use Hànzi Characters</a></li>
+ <li><a name="toc-Japanese" href="Unsupported.html#Japanese">B.2.3 Japanese</a></li>
+ <li><a name="toc-Hangul" href="Unsupported.html#Hangul">B.2.4 Hangul</a></li>
+ </ul></li>
+ <li><a name="toc-Languages-Written-in-Multiple-Scripts" href="Multiple-Scripts.html#Multiple-Scripts">B.3 Languages Written in Multiple Scripts</a></li>
+ <li><a name="toc-Notes-on-Planned-Dictionaries" href="Planned-Dictionaries.html#Planned-Dictionaries">B.4 Notes on Planned Dictionaries</a></li>
+ <li><a name="toc-References-1" href="References.html#References">B.5 References</a></li>
+ </ul></li>
+ <li><a name="toc-Language-Related-Issues-1" href="Language-Related-Issues.html#Language-Related-Issues">Appendix C Language Related Issues</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Compound-Words-1" href="Compound-Words.html#Compound-Words">C.1 Compound Words</a>
+ <ul class="no-bullet">
+ <li><a name="toc-To-Implement" href="Compound-Words.html#To-Implement">C.1.1 To Implement</a></li>
+ </ul></li>
+ <li><a name="toc-Words-With-Spaces-or-Other-Symbols-in-Them" href="Words-With-Symbols-in-Them.html#Words-With-Symbols-in-Them">C.2 Words With Spaces or Other Symbols in Them</a></li>
+ <li><a name="toc-Unicode-Normalization-1" href="Unicode-Normalization.html#Unicode-Normalization">C.3 Unicode Normalization</a></li>
+ <li><a name="toc-German-Sharp-S-1" href="German-Sharp-S.html#German-Sharp-S">C.4 German Sharp S</a></li>
+ <li><a name="toc-Context-Sensitive-Spelling-1" href="Context-Sensitive-Spelling.html#Context-Sensitive-Spelling">C.5 Context Sensitive Spelling</a></li>
+ </ul></li>
+ <li><a name="toc-To-Do-1" href="To-Do.html#To-Do">Appendix D To Do</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Important-Items-1" href="Important-Items.html#Important-Items">D.1 Important Items</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Things-that-need-to-be-done" href="Important-Items.html#Things-that-need-to-be-done">D.1.1 Things that need to be done</a></li>
+ <li><a name="toc-Things-I-would-like-to-get-done" href="Important-Items.html#Things-I-would-like-to-get-done">D.1.2 Things I would like to get done</a></li>
+ </ul></li>
+ <li><a name="toc-Other-Items-1" href="Other-Items.html#Other-Items">D.2 Other Items</a></li>
+ <li><a name="toc-Notes-on-Various-Items-1" href="Notes-on-Various-Items.html#Notes-on-Various-Items">D.3 Notes on Various Items</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Word-skipping-by-context-1" href="Word-skipping-by-context.html#Word-skipping-by-context">D.3.1 Word skipping by context</a></li>
+ <li><a name="toc-Hidden-Markov-Model-1" href="Hidden-Markov-Model.html#Hidden-Markov-Model">D.3.2 Hidden Markov Model</a></li>
+ <li><a name="toc-Email-the-Personal-Dictionary-1" href="Email-the-Personal-Dictionary.html#Email-the-Personal-Dictionary">D.3.3 Email the Personal Dictionary</a></li>
+ </ul></li>
+ </ul></li>
+ <li><a name="toc-Installing-1" href="Installing.html#Installing">Appendix E Installing</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Generic-Install-Instructions-1" href="Generic-Install-Instructions.html#Generic-Install-Instructions">E.1 Generic Install Instructions</a></li>
+ <li><a name="toc-HTML-Manuals-and-make-clean" href="HTML-Manuals-and-_0022make-clean_0022.html#HTML-Manuals-and-_0022make-clean_0022">E.2 HTML Manuals and <code>make clean</code></a></li>
+ <li><a name="toc-Curses-Notes-1" href="Curses-Notes.html#Curses-Notes">E.3 Curses Notes</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Unicode-Support" href="Curses-Notes.html#Unicode-Support">E.3.1 Unicode Support</a></li>
+ </ul></li>
+ <li><a name="toc-Loadable-Filter-Notes-1" href="Loadable-Filter-Notes.html#Loadable-Filter-Notes">E.4 Loadable Filter Notes</a></li>
+ <li><a name="toc-Using-32_002dBit-Dictionaries-on-a-64_002dBit-System-1" href="Using-32_002dBit-Dictionaries-on-a-64_002dBit-System.html#Using-32_002dBit-Dictionaries-on-a-64_002dBit-System">E.5 Using 32-Bit Dictionaries on a 64-Bit System</a></li>
+ <li><a name="toc-Upgrading-from-Aspell-0_002e50-1" href="Upgrading-from-Aspell-0_002e50.html#Upgrading-from-Aspell-0_002e50">E.6 Upgrading from Aspell 0.50</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Binary-Compatibility-1" href="Upgrading-from-Aspell-0_002e50.html#Binary-Compatibility-1">E.6.1 Binary Compatibility</a></li>
+ </ul></li>
+ <li><a name="toc-Upgrading-from-Aspell-_002e33_002fPspell-_002e12-1" href="Upgrading-from-Aspell-_002e33_002fPspell-_002e12.html#Upgrading-from-Aspell-_002e33_002fPspell-_002e12">E.7 Upgrading from Aspell .33/Pspell .12</a></li>
+ <li><a name="toc-Upgrading-from-a-Pre_002d0_002e50-snapshot-1" href="Upgrading-from-a-Pre_002d0_002e50-snapshot.html#Upgrading-from-a-Pre_002d0_002e50-snapshot">E.8 Upgrading from a Pre-0.50 snapshot</a></li>
+ <li><a name="toc-WIN32-Notes-1" href="WIN32-Notes.html#WIN32-Notes">E.9 WIN32 Notes</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Getting-the-WIN32-version" href="WIN32-Notes.html#Getting-the-WIN32-version">E.9.1 Getting the WIN32 version</a></li>
+ <li><a name="toc-Building-the-WIN32-version" href="WIN32-Notes.html#Building-the-WIN32-version">E.9.2 Building the WIN32 version</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Building-Aspell-using-Cygwin" href="WIN32-Notes.html#Building-Aspell-using-Cygwin">E.9.2.1 Building Aspell using Cygwin</a></li>
+ <li><a name="toc-Building-Aspell-using-MinGW" href="WIN32-Notes.html#Building-Aspell-using-MinGW">E.9.2.2 Building Aspell using MinGW</a></li>
+ <li><a name="toc-Building-Aspell-without-using-Cygwin-or-MSYS" href="WIN32-Notes.html#Building-Aspell-without-using-Cygwin-or-MSYS">E.9.2.3 Building Aspell without using Cygwin or MSYS</a></li>
+ </ul></li>
+ <li><a name="toc-_0028PD_0029Curses" href="WIN32-Notes.html#g_t_0028PD_0029Curses">E.9.3 (PD)Curses</a></li>
+ <li><a name="toc-Directories" href="WIN32-Notes.html#Directories">E.9.4 Directories</a></li>
+ <li><a name="toc-Installer" href="WIN32-Notes.html#Installer">E.9.5 Installer</a></li>
+ <li><a name="toc-WIN32-consoles" href="WIN32-Notes.html#WIN32-consoles">E.9.6 WIN32 consoles</a></li>
+ </ul></li>
+ </ul></li>
+ <li><a name="toc-ChangeLog-1" href="ChangeLog.html#ChangeLog">Appendix F ChangeLog</a></li>
+ <li><a name="toc-Authors-1" href="Authors.html#Authors">Appendix G Authors</a></li>
+ <li><a name="toc-Copying-1" href="Copying.html#Copying">Appendix H Copying</a>
+ <ul class="no-bullet">
+ <li><a name="toc-GNU-Free-Documentation-License-1" href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License">H.1 GNU Free Documentation License</a>
+ <ul class="no-bullet">
+ <li><a name="toc-ADDENDUM_003a-How-to-use-this-License-for-your-documents" href="GNU-Free-Documentation-License.html#ADDENDUM_003a-How-to-use-this-License-for-your-documents">H.1.1 ADDENDUM: How to use this License for your documents</a></li>
+ </ul></li>
+ <li><a name="toc-GNU-Lesser-General-Public-License-1" href="GNU-Lesser-General-Public-License.html#GNU-Lesser-General-Public-License">H.2 GNU Lesser General Public License</a>
+ <ul class="no-bullet">
+ <li><a name="toc-Preamble" href="GNU-Lesser-General-Public-License.html#Preamble">H.2.1 Preamble</a></li>
+ <li><a name="toc-How-to-Apply-These-Terms-to-Your-New-Libraries" href="GNU-Lesser-General-Public-License.html#How-to-Apply-These-Terms-to-Your-New-Libraries">H.2.2 How to Apply These Terms to Your New Libraries</a></li>
+ </ul></li>
+ </ul></li>
+</ul>
+</div>
-</li></ul>
-<p>Notes on Various Items
+<a name="Top"></a>
+<div class="header">
+<p>
+Next: <a href="Introduction.html#Introduction" accesskey="n" rel="next">Introduction</a>, Up: <a href="../dir/index.html" accesskey="u" rel="up">(dir)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<hr>
+<a name="GNU-Aspell-0_002e60_002e7"></a>
+<h1 class="top">GNU Aspell 0.60.7</h1>
+<p>This is the user’s manual for Aspell
</p>
-<ul class="menu">
-<li><a href="Word-skipping-by-context.html#Word-skipping-by-context">Word skipping by context</a>
-<li><a href="Hidden-Markov-Model.html#Hidden-Markov-Model">Hidden Markov Model</a>
-<li><a href="Email-the-Personal-Dictionary.html#Email-the-Personal-Dictionary">Email the Personal Dictionary</a>
-
-</li></ul>
-<p>Installing
-
+<p>GNU Aspell is a spell checker designed to eventually replace Ispell.
+It can either be used as a library or as an independent spell checker.
</p>
-<ul class="menu">
-<li><a href="Generic-Install-Instructions.html#Generic-Install-Instructions">Generic Install Instructions</a>
-<li><a href="HTML-Manuals-and-_0022make-clean_0022.html#HTML-Manuals-and-_0022make-clean_0022">HTML Manuals and "make clean"</a>
-<li><a href="Curses-Notes.html#Curses-Notes">Curses Notes</a>
-<li><a href="Loadable-Filter-Notes.html#Loadable-Filter-Notes">Loadable Filter Notes</a>
-<li><a href="Upgrading-from-Aspell-0_002e50.html#Upgrading-from-Aspell-0_002e50">Upgrading from Aspell 0.50</a>
-<li><a href="Upgrading-from-Aspell-_002e33_002fPspell-_002e12.html#Upgrading-from-Aspell-_002e33_002fPspell-_002e12">Upgrading from Aspell .33/Pspell .12</a>
-<li><a href="Upgrading-from-a-Pre_002d0_002e50-snapshot.html#Upgrading-from-a-Pre_002d0_002e50-snapshot">Upgrading from a Pre-0.50 snapshot</a>
-<li><a href="WIN32-Notes.html#WIN32-Notes">WIN32 Notes</a>
-
-</li></ul>
-<p>Copying
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">• <a href="Introduction.html#Introduction" accesskey="1">Introduction</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Support.html#Support" accesskey="2">Support</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Basic-Usage.html#Basic-Usage" accesskey="3">Basic Usage</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Customizing-Aspell.html#Customizing-Aspell" accesskey="4">Customizing Aspell</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Working-With-Dictionaries.html#Working-With-Dictionaries" accesskey="5">Working With Dictionaries</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Writing-programs-to-use-Aspell.html#Writing-programs-to-use-Aspell" accesskey="6">Writing programs to use Aspell</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Adding-Support-For-Other-Languages.html#Adding-Support-For-Other-Languages" accesskey="7">Adding Support For Other Languages</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Implementation-Notes.html#Implementation-Notes" accesskey="8">Implementation Notes</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Languages-Which-Aspell-can-Support.html#Languages-Which-Aspell-can-Support" accesskey="9">Languages Which Aspell can Support</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Language-Related-Issues.html#Language-Related-Issues">Language Related Issues</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="To-Do.html#To-Do">To Do</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Installing.html#Installing">Installing</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="ChangeLog.html#ChangeLog">ChangeLog</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Authors.html#Authors">Authors</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Copying.html#Copying">Copying</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
+</pre></th></tr><tr><th colspan="3" align="left" valign="top"><pre class="menu-comment"> — The Detailed Node Listing —
+
+Basic Usage
+
+</pre></th></tr><tr><td align="left" valign="top">• <a href="Spellchecking-Individual-Files.html#Spellchecking-Individual-Files">Spellchecking Individual Files</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Using-Aspell-as-a-Replacement-for-Ispell.html#Using-Aspell-as-a-Replacement-for-Ispell">Using Aspell as a Replacement for Ispell</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Using-Aspell-with-other-Applications.html#Using-Aspell-with-other-Applications">Using Aspell with other Applications</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
+Customizing Aspell
+
+</pre></th></tr><tr><td align="left" valign="top">• <a href="Specifying-Options.html#Specifying-Options">Specifying Options</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="The-Options.html#The-Options">The Options</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Dumping-Configuration-Values.html#Dumping-Configuration-Values">Dumping Configuration Values</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Notes-on-Various-Options.html#Notes-on-Various-Options">Notes on Various Options</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
+Notes on Various Options
+
+</pre></th></tr><tr><td align="left" valign="top">• <a href="Notes-on-Various-Filters-and-Filter-Modes.html#Notes-on-Various-Filters-and-Filter-Modes">Notes on Various Filters and Filter Modes</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Notes-on-the-Prefix-Option.html#Notes-on-the-Prefix-Option">Notes on the Prefix Option</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Notes-on-Typo_002dAnalysis.html#Notes-on-Typo_002dAnalysis">Notes on Typo-Analysis</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Notes-on-the-Different-Suggestion-Modes.html#Notes-on-the-Different-Suggestion-Modes">Notes on the Different Suggestion Modes</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
+Working With Dictionaries
+
+</pre></th></tr><tr><td align="left" valign="top">• <a href="Using-aspell_002dimport.html#Using-aspell_002dimport">Using aspell-import</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="How-Aspell-Selects-an-Appropriate-Dictionary.html#How-Aspell-Selects-an-Appropriate-Dictionary">How Aspell Selects an Appropriate Dictionary</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Listing-Available-Dictionaries.html#Listing-Available-Dictionaries">Listing Available Dictionaries</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Dumping-the-Contents-of-the-Word-List.html#Dumping-the-Contents-of-the-Word-List">Dumping the Contents of the Word List</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Creating-an-Individual-Word-List.html#Creating-an-Individual-Word-List">Creating an Individual Word List</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Working-With-Affix-Info-in-Word-Lists.html#Working-With-Affix-Info-in-Word-Lists">Working With Affix Info in Word Lists</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Format-of-the-Personal-and-Replacement-Dictionaries.html#Format-of-the-Personal-and-Replacement-Dictionaries">Format of the Personal and Replacement Dictionaries</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Using-Multi-Dictionaries.html#Using-Multi-Dictionaries">Using Multi Dictionaries</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Dictionary-Naming.html#Dictionary-Naming">Dictionary Naming</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="AWLI-files.html#AWLI-files">AWLI files</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
+Writing programs to use Aspell
+
+</pre></th></tr><tr><td align="left" valign="top">• <a href="Through-the-C-API.html#Through-the-C-API">Through the C API</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Through-A-Pipe.html#Through-A-Pipe">Through A Pipe</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Notes-on-Storing-Replacement-Pairs.html#Notes-on-Storing-Replacement-Pairs">Notes on Storing Replacement Pairs</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
+Adding Support For Other Languages
+
+</pre></th></tr><tr><td align="left" valign="top">• <a href="The-Language-Data-File.html#The-Language-Data-File">The Language Data File</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Compiling-the-Word-List.html#Compiling-the-Word-List">Compiling the Word List</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Phonetic-Code.html#Phonetic-Code">Phonetic Code</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="The-Simple-Soundslike.html#The-Simple-Soundslike">The Simple Soundslike</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Replacement-Tables.html#Replacement-Tables">Replacement Tables</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Affix-Compression.html#Affix-Compression">Affix Compression</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Controlling-the-Behavior-of-Run_002dtogether-Words.html#Controlling-the-Behavior-of-Run_002dtogether-Words">Controlling the Behavior of Run-together Words</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Creating-A-New-Character-Set.html#Creating-A-New-Character-Set">Creating A New Character Set</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Creating-An-Official-Dictionary-Package.html#Creating-An-Official-Dictionary-Package">Creating An Official Dictionary Package</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
+Implementation Notes
+
+</pre></th></tr><tr><td align="left" valign="top">• <a href="Aspell-Suggestion-Strategy.html#Aspell-Suggestion-Strategy">Aspell Suggestion Strategy</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Notes-on-8_002dbit-Characters.html#Notes-on-8_002dbit-Characters">Notes on 8-bit Characters</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
+Languages Which Aspell can Support
+
+</pre></th></tr><tr><td align="left" valign="top">• <a href="Supported.html#Supported">Supported</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Unsupported.html#Unsupported">Unsupported</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Multiple-Scripts.html#Multiple-Scripts">Multiple Scripts</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Planned-Dictionaries.html#Planned-Dictionaries">Planned Dictionaries</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="References.html#References">References</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
+Language Related Issues
+
+</pre></th></tr><tr><td align="left" valign="top">• <a href="Compound-Words.html#Compound-Words">Compound Words</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Words-With-Symbols-in-Them.html#Words-With-Symbols-in-Them">Words With Symbols in Them</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Unicode-Normalization.html#Unicode-Normalization">Unicode Normalization</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="German-Sharp-S.html#German-Sharp-S">German Sharp S</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Context-Sensitive-Spelling.html#Context-Sensitive-Spelling">Context Sensitive Spelling</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
+To Do
+
+</pre></th></tr><tr><td align="left" valign="top">• <a href="Important-Items.html#Important-Items">Important Items</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Other-Items.html#Other-Items">Other Items</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Notes-on-Various-Items.html#Notes-on-Various-Items">Notes on Various Items</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
+Notes on Various Items
+
+</pre></th></tr><tr><td align="left" valign="top">• <a href="Word-skipping-by-context.html#Word-skipping-by-context">Word skipping by context</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Hidden-Markov-Model.html#Hidden-Markov-Model">Hidden Markov Model</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Email-the-Personal-Dictionary.html#Email-the-Personal-Dictionary">Email the Personal Dictionary</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
+Installing
+
+</pre></th></tr><tr><td align="left" valign="top">• <a href="Generic-Install-Instructions.html#Generic-Install-Instructions">Generic Install Instructions</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="HTML-Manuals-and-_0022make-clean_0022.html#HTML-Manuals-and-_0022make-clean_0022">HTML Manuals and "make clean"</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Curses-Notes.html#Curses-Notes">Curses Notes</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Loadable-Filter-Notes.html#Loadable-Filter-Notes">Loadable Filter Notes</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Upgrading-from-Aspell-0_002e50.html#Upgrading-from-Aspell-0_002e50">Upgrading from Aspell 0.50</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Upgrading-from-Aspell-_002e33_002fPspell-_002e12.html#Upgrading-from-Aspell-_002e33_002fPspell-_002e12">Upgrading from Aspell .33/Pspell .12</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="Upgrading-from-a-Pre_002d0_002e50-snapshot.html#Upgrading-from-a-Pre_002d0_002e50-snapshot">Upgrading from a Pre-0.50 snapshot</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="WIN32-Notes.html#WIN32-Notes">WIN32 Notes</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
+Copying
+
+</pre></th></tr><tr><td align="left" valign="top">• <a href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License">GNU Free Documentation License</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top">• <a href="GNU-Lesser-General-Public-License.html#GNU-Lesser-General-Public-License">GNU Lesser General Public License</a>:</td><td> </td><td align="left" valign="top">
+</td></tr>
+<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
+</pre></th></tr></table>
-</p>
-<ul class="menu">
-<li><a href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License">GNU Free Documentation License</a>
-<li><a href="GNU-Lesser-General-Public-License.html#GNU-Lesser-General-Public-License">GNU Lesser General Public License</a>
+<hr>
+<div class="header">
+<p>
+Next: <a href="Introduction.html#Introduction" accesskey="n" rel="next">Introduction</a>, Up: <a href="../dir/index.html" accesskey="u" rel="up">(dir)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
- </ul>
- </body></html>
+</body>
+</html>
-This is aspell.info, produced by makeinfo version 4.8 from aspell.texi.
+This is aspell.info, produced by makeinfo version 5.2 from aspell.texi.
- This is the user's manual for Aspell
+This is the user’s manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
- Copyright (C) 2000-2011 Kevin Atkinson.
+ Copyright © 2000–2019 Kevin Atkinson.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
Version 1.1 or any later version published by the Free Software
- Foundation; with no Invariant Sections, no Front-Cover Texts and
- no Back-Cover Texts. A copy of the license is included in the
- section entitled "GNU Free Documentation License".
-
+ Foundation; with no Invariant Sections, no Front-Cover Texts and no
+ Back-Cover Texts. A copy of the license is included in the section
+ entitled "GNU Free Documentation License".
INFO-DIR-SECTION GNU Packages
START-INFO-DIR-ENTRY
* Aspell: (aspell). GNU Aspell spelling checker
\1f
File: aspell.info, Node: Top, Next: Introduction, Up: (dir)
-GNU Aspell 0.60.6.1
-*******************
+GNU Aspell 0.60.7
+*****************
-This is the user's manual for Aspell
+This is the user’s manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
* Menu:
-* Introduction::
-* Support::
-* Basic Usage::
-* Customizing Aspell::
-* Working With Dictionaries::
-* Writing programs to use Aspell::
-* Adding Support For Other Languages::
-* Implementation Notes::
-* Languages Which Aspell can Support::
-* Language Related Issues::
-* To Do::
-* Installing::
-* ChangeLog::
-* Authors::
-* Copying::
-
- --- The Detailed Node Listing ---
+* Introduction::
+* Support::
+* Basic Usage::
+* Customizing Aspell::
+* Working With Dictionaries::
+* Writing programs to use Aspell::
+* Adding Support For Other Languages::
+* Implementation Notes::
+* Languages Which Aspell can Support::
+* Language Related Issues::
+* To Do::
+* Installing::
+* ChangeLog::
+* Authors::
+* Copying::
+
+ — The Detailed Node Listing —
Basic Usage
-* Spellchecking Individual Files::
-* Using Aspell as a Replacement for Ispell::
-* Using Aspell with other Applications::
+* Spellchecking Individual Files::
+* Using Aspell as a Replacement for Ispell::
+* Using Aspell with other Applications::
Customizing Aspell
-* Specifying Options::
-* The Options::
-* Dumping Configuration Values::
-* Notes on Various Options::
+* Specifying Options::
+* The Options::
+* Dumping Configuration Values::
+* Notes on Various Options::
Notes on Various Options
-* Notes on Various Filters and Filter Modes::
-* Notes on the Prefix Option::
-* Notes on Typo-Analysis::
-* Notes on the Different Suggestion Modes::
+* Notes on Various Filters and Filter Modes::
+* Notes on the Prefix Option::
+* Notes on Typo-Analysis::
+* Notes on the Different Suggestion Modes::
Working With Dictionaries
-* Using aspell-import::
-* How Aspell Selects an Appropriate Dictionary::
-* Listing Available Dictionaries::
-* Dumping the Contents of the Word List::
-* Creating an Individual Word List::
-* Working With Affix Info in Word Lists::
-* Format of the Personal and Replacement Dictionaries::
-* Using Multi Dictionaries::
-* Dictionary Naming::
-* AWLI files::
+* Using aspell-import::
+* How Aspell Selects an Appropriate Dictionary::
+* Listing Available Dictionaries::
+* Dumping the Contents of the Word List::
+* Creating an Individual Word List::
+* Working With Affix Info in Word Lists::
+* Format of the Personal and Replacement Dictionaries::
+* Using Multi Dictionaries::
+* Dictionary Naming::
+* AWLI files::
Writing programs to use Aspell
-* Through the C API::
-* Through A Pipe::
-* Notes on Storing Replacement Pairs::
+* Through the C API::
+* Through A Pipe::
+* Notes on Storing Replacement Pairs::
Adding Support For Other Languages
-* The Language Data File::
-* Compiling the Word List::
-* Phonetic Code::
-* The Simple Soundslike::
-* Replacement Tables::
-* Affix Compression::
-* Controlling the Behavior of Run-together Words::
-* Creating A New Character Set::
-* Creating An Official Dictionary Package::
+* The Language Data File::
+* Compiling the Word List::
+* Phonetic Code::
+* The Simple Soundslike::
+* Replacement Tables::
+* Affix Compression::
+* Controlling the Behavior of Run-together Words::
+* Creating A New Character Set::
+* Creating An Official Dictionary Package::
Implementation Notes
-* Aspell Suggestion Strategy::
-* Notes on 8-bit Characters::
+* Aspell Suggestion Strategy::
+* Notes on 8-bit Characters::
Languages Which Aspell can Support
-* Supported::
-* Unsupported::
-* Multiple Scripts::
-* Planned Dictionaries::
-* References::
+* Supported::
+* Unsupported::
+* Multiple Scripts::
+* Planned Dictionaries::
+* References::
Language Related Issues
-* Compound Words::
-* Words With Symbols in Them::
-* Unicode Normalization::
-* German Sharp S::
-* Context Sensitive Spelling::
+* Compound Words::
+* Words With Symbols in Them::
+* Unicode Normalization::
+* German Sharp S::
+* Context Sensitive Spelling::
To Do
-* Important Items::
-* Other Items::
-* Notes on Various Items::
+* Important Items::
+* Other Items::
+* Notes on Various Items::
Notes on Various Items
-* Word skipping by context::
-* Hidden Markov Model::
-* Email the Personal Dictionary::
+* Word skipping by context::
+* Hidden Markov Model::
+* Email the Personal Dictionary::
Installing
-* Generic Install Instructions::
-* HTML Manuals and "make clean"::
-* Curses Notes::
-* Loadable Filter Notes::
-* Upgrading from Aspell 0.50::
-* Upgrading from Aspell .33/Pspell .12::
-* Upgrading from a Pre-0.50 snapshot::
-* WIN32 Notes::
+* Generic Install Instructions::
+* HTML Manuals and "make clean"::
+* Curses Notes::
+* Loadable Filter Notes::
+* Upgrading from Aspell 0.50::
+* Upgrading from Aspell .33/Pspell .12::
+* Upgrading from a Pre-0.50 snapshot::
+* WIN32 Notes::
Copying
* GNU Free Documentation License::
* GNU Lesser General Public License::
+
\1f
File: aspell.info, Node: Introduction, Next: Support, Prev: Top, Up: Top
dictionaries when more than one Aspell process is open at once.
The latest version of Aspell can always be found at
-`http://aspell.net'
+<http://aspell.net>
1.1 Comparison to other spell checker engines
=============================================
Aspell Ispell Netscape Microsoft
4.0 Word 97
-Open Source x x
+Open Source x x
Suggestion 88-98 54 55-70? 71
-Intelligence
-Personal part x x x
-of Suggestions
+Intelligence
+Personal part x x x
+of Suggestions
Alternate Dictionaries x x ? ?
International Support x x ? ?
The Suggestion Intelligence is based on a small test kernel of
-misspelled/correct word pairs. Go to `http://aspell.net/test' for more
+misspelled/correct word pairs. Go to <http://aspell.net/test> for more
info and how you can help contribute to the test kernel. The current
scores for Aspell are 88 in _fast_ mode, 93 in _normal_ mode, and 98 in
_bad spellers_ mode: for more information about the various suggestion
-modes *Note Notes on the Different Suggestion Modes::.
+modes *note Notes on the Different Suggestion Modes::.
If you have any other information you would like to add to this chart
please contact me at <kevina@gnu.org>.
1.1.1.1 Features that only Aspell has
.....................................
- * Is an actual library that other programs can link to instead of
+ • Is an actual library that other programs can link to instead of
having to use it through a pipe.
- * Does a much better job of suggesting possible replacements for a
+ • Does a much better job of suggesting possible replacements for a
misspelled word than Ispell does or for that matter many other
spell checkers I have seen. If you know a spell checker that does
a better job please let me know.
- * Can learn from user's misspellings.
+ • Can learn from user’s misspellings.
- * Can easily check documents in UTF-8 without having to use a special
+ • Can easily check documents in UTF-8 without having to use a special
dictionary.
- * Has support for using multiple dictionaries at once.
+ • Has support for using multiple dictionaries at once.
- * Is multiprocess intelligent. When a personal dictionary (or
+ • Is multiprocess intelligent. When a personal dictionary (or
replacement list) is saved, it will now first update the list
against the dictionary on disk in case another process modified it.
- * Can share the memory used in the main word list between processes.
+ • Can share the memory used in the main word list between processes.
- * A better, more complete word list for the English language. Word
+ • A better, more complete word list for the English language. Word
lists are provided for American, British, and Canadian spelling.
Special care has been taken to only include one spelling for each
- word in any particular word list. The word list included in
- Ispell by contrast only included support for American and British
- and also tends to included multiple spellings for a word which can
- mask some spelling errors.
+ word in any particular word list. The word list included in Ispell
+ by contrast only included support for American and British and also
+ tends to included multiple spellings for a word which can mask some
+ spelling errors.
1.1.1.2 Things that, currently, only Ispell has
...............................................
- * Lower memory footprint
+ • Lower memory footprint
- * Ability to deal with arbitrary multi-character letters such as old
+ • Ability to deal with arbitrary multi-character letters such as old
ASCII encodings of accented letters.
- * Perhaps better support for spell checking (La)TeX files.
-
+ • Perhaps better support for spell checking (La)TeX files.
For a detailed description of how Aspell differs from Ispell, *Note
Differences From Ispell::.
Support for Aspell can be found on the Aspell mailing lists.
Instructions for joining the various mailing lists (and an archive of
-them) can be found off the Aspell home page at `http://aspell.net'.
+them) can be found off the Aspell home page at <http://aspell.net>.
- Bug reports should be submitted via the Sourceforge Tracker at
-`http://sourceforge.net/tracker/?group_id=245' rather than being posted
-to the mailing lists.
+ Bug reports can also be submitted via GitHub at
+<https://github.com/GNUAspell/aspell/>.
\1f
File: aspell.info, Node: Basic Usage, Next: Customizing Aspell, Prev: Support, Up: Top
3 Basic Usage
*************
-For a quick reference on the Aspell utility use the command `aspell
---help'.
+For a quick reference on the Aspell utility use the command ‘aspell
+--help’.
* Menu:
-* Spellchecking Individual Files::
-* Using Aspell as a Replacement for Ispell::
-* Using Aspell with other Applications::
+* Spellchecking Individual Files::
+* Using Aspell as a Replacement for Ispell::
+* Using Aspell with other Applications::
\1f
File: aspell.info, Node: Spellchecking Individual Files, Next: Using Aspell as a Replacement for Ispell, Up: Basic Usage
aspell check [OPTIONS] FILENAME
-at the command line where `FILENAME' is the file you want to check and
-`OPTIONS' is any number of optional options. Some of the more useful
+at the command line where ‘FILENAME’ is the file you want to check and
+‘OPTIONS’ is any number of optional options. Some of the more useful
ones include:
--mode=MODE
+–mode=MODE
the mode to use when checking files. The available modes are
- `none', `url', `email', `sgml', `tex', `texinfo', `nroff', among
- others. For more information on the various modes see *Note Notes
+ ‘none’, ‘url’, ‘email’, ‘sgml’, ‘tex’, ‘texinfo’, ‘nroff’, among
+ others. For more information on the various modes see *note Notes
on Various Filters and Filter Modes::.
--dont-backup
- don't create a backup file. Normally, if there are any corrections
- the Aspell utility will append `.bak' to the existing file name
- and then create a new file with corrections made during spell
- checking.
+–dont-backup
+ don’t create a backup file. Normally, if there are any corrections
+ the Aspell utility will append ‘.bak’ to the existing file name and
+ then create a new file with corrections made during spell checking.
--sug-mode=MODE
- the suggestion mode to use where mode is one of `ultra', `fast',
- `normal', or `bad-spellers'. For more information on these modes
- see *Note Notes on the Different Suggestion Modes::.
+–sug-mode=MODE
+ the suggestion mode to use where mode is one of ‘ultra’, ‘fast’,
+ ‘normal’, or ‘bad-spellers’. For more information on these modes
+ see *note Notes on the Different Suggestion Modes::.
--lang=NAME/-l NAME
+–lang=NAME/-l NAME
the language the document is written in. The default depends on
the current locale.
--encoding=NAME
- encoding the document is expected to be in. The default depends
- on the current locale.
+–encoding=NAME
+ encoding the document is expected to be in. The default depends on
+ the current locale.
--master=NAME/-d NAME
+–master=NAME/-d NAME
the main dictionary to use.
--keymapping=NAME
- the keymapping to use. Either `aspell' for the default mapping or
- `ispell' to use the same mapping that the Ispell utility uses.
+–keymapping=NAME
+ the keymapping to use. Either ‘aspell’ for the default mapping or
+ ‘ispell’ to use the same mapping that the Ispell utility uses.
- For more information on the available options, please see *Note
+ For more information on the available options, please see *note
Customizing Aspell::.
- For example to check the file `foo.txt':
+ For example to check the file ‘foo.txt’:
aspell check foo.txt
-and to check the file `foo.txt' using the `bad-spellers' suggestion
-mode and the American English dictionary:
+and to check the file ‘foo.txt’ using the ‘bad-spellers’ suggestion mode
+and the American English dictionary:
aspell check --sug-mode=bad-spellers -d en_US foo.txt
- If the `mode' option is not given, then Aspell will use the
-extension of the file to determine the current mode. If the extension
-is `.tex', then `tex' mode will be used, if the extension is `.html',
-`.htm', `.php', or `.sgml' it will check the file in `sgml' mode,
-otherwise it will use `url' mode.
+ If the ‘mode’ option is not given, then Aspell will use the extension
+of the file to determine the current mode. If the extension is ‘.tex’,
+then ‘tex’ mode will be used, if the extension is ‘.html’, ‘.htm’,
+‘.php’, or ‘.sgml’ it will check the file in ‘sgml’ mode, otherwise it
+will use ‘url’ mode.
- For more information on the various modes that can be used, see
-*Note Notes on Various Filters and Filter Modes::.
+ For more information on the various modes that can be used, see *note
+Notes on Various Filters and Filter Modes::.
- If Aspell was compiled with curses support and the `TERM'
-environment variable is set to a capable terminal type then Aspell will
-use a nice full screen interface, otherwise it will use a simpler
-"dumb" terminal interface where the misspelled word is surrounded by
-two '*'. In either case the interface should be self explanatory.
+ If Aspell was compiled with curses support and the ‘TERM’ environment
+variable is set to a capable terminal type then Aspell will use a nice
+full screen interface, otherwise it will use a simpler “dumb” terminal
+interface where the misspelled word is surrounded by two ’*’. In either
+case the interface should be self explanatory.
If Aspell is compiled with a version of the curses library that
support wide characters then Aspell can also check UTF-8 text.
the current locale. This encoding does not necessarily have to be the
same encoding that the document is in. This means that is is possible
to check an 8-bit encoding such as ISO-8859-1 on an UTF-8 terminal. To
-do so simply set the `encoding' option to `iso-8859-1'. Furthermore it
+do so simply set the ‘encoding’ option to ‘iso-8859-1’. Furthermore it
is also possible to check an UTF-8 document on an 8-bit terminal
provided that the document can be successfully converted into that
encoding.
3.2.1 As a Drop In Replacement
------------------------------
-Aspell can be used as a drop in replacement for Ispell for programs
-that use Ispell through a pipe such as Emacs and LyX. It can also be
-used with programs that simply call the `ispell' command and expect the
+Aspell can be used as a drop in replacement for Ispell for programs that
+use Ispell through a pipe such as Emacs and LyX. It can also be used
+with programs that simply call the ‘ispell’ command and expect the
original file to be overwritten with the corrected version.
If you do not have Ispell installed on your system and have installed
Aspell via the Ispell compatibility script.
Otherwise, the recommended way to use Aspell as a replacement for
-Ispell is to change the `ispell' command from within the program being
-used. If the program uses `ispell' in pipe mode simply change `ispell'
-to `aspell'. If the program calls the `ispell' command to check the
-file, then change `ispell' with `aspell check'.
+Ispell is to change the ‘ispell’ command from within the program being
+used. If the program uses ‘ispell’ in pipe mode simply change ‘ispell’
+to ‘aspell’. If the program calls the ‘ispell’ command to check the
+file, then change ‘ispell’ with ‘aspell check’.
- If that is impossible then the `run-with-aspell' script can be used.
+ If that is impossible then the ‘run-with-aspell’ script can be used.
This script modifies the patch so that programs see the Ispell
-compatibility script instead of the actual true `ispell' command. The
+compatibility script instead of the actual true ‘ispell’ command. The
format of the script is:
run-with-aspell COMMAND
The old method of mapping Ispell to Aspell is discouraged because it
can create compatibility problems with programs that actually require
-Ispell such as Ispell's own scripts.
+Ispell such as Ispell’s own scripts.
3.2.2 Differences From Ispell
-----------------------------
Nevertheless, Aspell is not Ispell, nor is it meant to completely
-emulate the behavior of Ispell. The `aspell' command is not identical
-to the `ispell' command when not used in "pipe" mode. If an
-application expects the `ispell' command, then the Ispell compatibility
-script should be used instead.
+emulate the behavior of Ispell. The ‘aspell’ command is not identical
+to the ‘ispell’ command when not used in “pipe” mode. If an application
+expects the ‘ispell’ command, then the Ispell compatibility script
+should be used instead.
3.2.2.1 Functionality of the Ispell Compatibility Script
........................................................
The Ispell compatibility script provides the following Ispell
functionally.
- * The ability to check a file when called without any mode
+ • The ability to check a file when called without any mode
parameters.
- * The pipe or -a mode.
+ • The pipe or -a mode.
- * The list or -l mode.
+ • The list or -l mode.
- * The version or -v mode. A single line is returned which, while not
+ • The version or -v mode. A single line is returned which, while not
being identical to the line Ispell returns, is sufficient to fool
most programs.
- * The munch or -c mode.
+ • The munch or -c mode.
- * The expand or -e mode.
+ • The expand or -e mode.
- * The ability to dump the affix file when called with '-D'. However
+ • The ability to dump the affix file when called with ’-D’. However
the format of the affix file is different. Furthermore, not all
languages have an affix file.
-
- However the Ispell script is currently unable to emulate the '-A'
+ However the Ispell script is currently unable to emulate the ’-A’
pipe mode. This is different from the normal pipe mode in that the
-special `&Include_File&' command is recognized.
+special ‘&Include_File&’ command is recognized.
3.2.2.2 Recognized Options
..........................
-Aspell, and thus the Ispell compatibility script, recognizes most of
-the options that Ispell uses except for the '-S', '-w' and '-T'
-options. The Aspell command will simply ignore these options if it
-sees them.
+Aspell, and thus the Ispell compatibility script, recognizes most of the
+options that Ispell uses except for the ’-S’, ’-w’ and ’-T’ options.
+The Aspell command will simply ignore these options if it sees them.
3.2.2.3 Check Mode Compatibility
................................
The interface used by Aspell when checking individual files is slightly
-different than Ispell's. In particular the default keymappings are not
+different than Ispell’s. In particular the default keymappings are not
the same as the ones Ispell uses. However Aspell supports using the
-Ispell keymappings via the `keymapping' option. To use the Ispell
-keymappings set the `kepmapping' option to `ispell'. This can be done
+Ispell keymappings via the ‘keymapping’ option. To use the Ispell
+keymappings set the ‘kepmapping’ option to ‘ispell’. This can be done
on the command line by adding using the command:
- aspell check --keymapping=ispell ...
+ aspell check --keymapping=ispell …
or with the Ispell compatibility script
- ispell --keymapping=ispell ...
+ ispell --keymapping=ispell …
The Ispell keymapping can always be used when the Ispell compatibly
-script is called by uncommenting the indicated line in the `ispell'
+script is called by uncommenting the indicated line in the ‘ispell’
script.
3.2.2.4 Pipe Mode Compatibility
...............................
The Aspell pipe mode should be identical to the Ispell pipe mode except
-if the line starts with a '$$' as that will trigger special Aspell only
-commands or if the line starts with a '~' which is ignored by Aspell.
+if the line starts with a ’$$’ as that will trigger special Aspell only
+commands or if the line starts with a ’~’ which is ignored by Aspell.
3.2.2.5 Other Differences
.........................
-The compiled dictionary format is completely different than Ispell's.
-Furthermore the format of the language data files' are different than
-Ispell's affix file. However, all known Ispell dictionaries were
+The compiled dictionary format is completely different than Ispell’s.
+Furthermore the format of the language data files’ are different than
+Ispell’s affix file. However, all known Ispell dictionaries were
converted to Aspell format, except for Albanian (sq) as I was unable to
find the source word list.
The naming and format of the personal dictionary is also different.
However, Ispell personal dictionaries can be imported using the
-`aspell-import' script. *Note Using aspell-import::. The Ispell
+‘aspell-import’ script. *Note Using aspell-import::. The Ispell
personal dictionary is simply a list of words while the Aspell one is a
list of words with a header line. Thus it is also fairly easy to
convert between the two. *Note Format of the Personal Dictionary::.
The easiest way to use Aspell with Emacs or XEmacs is to add this line:
-
(setq-default ispell-program-name "aspell")
- to the end of your `.emacs' file.
+ to the end of your ‘.emacs’ file.
For some reason version 3.0 of ispell.el (the lisp program that
(x)emacs uses) wants to reverse the suggestion list. To fix this add
this line:
-
(setq-default ispell-extra-args '("--reverse"))
after the previous line in your .emacs file and it should solve the
Ispell.el, version 3.1 (December 1, 1998) and better, has the list
reversing problem fixed. You can find it at
-`http://www.kdstevens.com/~stevens/ispell-page.html'.
+<http://www.kdstevens.com/~stevens/ispell-page.html>.
3.3.2 With LyX
--------------
-Version 1.0 of LyX provides support for Aspell's learning from user's
+Version 1.0 of LyX provides support for Aspell’s learning from user’s
mistakes feature.
- To use Aspell with LyX 1.0 either change the `spell_command' option
-in the `.lyxrc' file or use the `run-with-aspell' utility.
+ To use Aspell with LyX 1.0 either change the ‘spell_command’ option
+in the ‘.lyxrc’ file or use the ‘run-with-aspell’ utility.
3.3.3 With VIM
--------------
To use Aspell in VIM you simply need to add the following line to your
-`.vimrc' file:
-
+‘.vimrc’ file:
map ^T :w!<CR>:!aspell check %<CR>:e! %<CR>
- I use `Ctrl-T' since that's the way you spell check in `pico'. In
-order to add a control character to your `.vimrc' you must type
-`Ctrl-v' first. In this case `Ctrl-v Ctrl-t'.
+ I use ‘Ctrl-T’ since that’s the way you spell check in ‘pico’. In
+order to add a control character to your ‘.vimrc’ you must type ‘Ctrl-v’
+first. In this case ‘Ctrl-v Ctrl-t’.
A more useful way to use Aspell, IMHO, is in combination with
-Newsbody (`http://www.image.dk/~byrial/newsbody/') which is how I use it
+Newsbody (<http://www.image.dk/~byrial/newsbody/>) which is how I use it
since VIM is my editor for my mailer and my news reader.
-
map ^T\\1\\2<CR>:e! %<CR>
map \\1 :w!<CR>
map \\2 :!newsbody -qs -n % -p aspell check \\%f<CR>
3.3.4 With Pine
---------------
-To use Aspell in Pine simply change the option `speller' to
+To use Aspell in Pine simply change the option ‘speller’ to
aspell --mode=email check
- To change the `speller' option go to the main menu. Type `S' for
-_setup_, `C' for _config_, then `W' for _where is_. Type in `speller'
-as the word to find. The speller option should be highlighted now.
-Hit enter, type in the above line, and hit enter again. Then type `E'
-for _exit setup_ and `Y' to save the change.
+ To change the ‘speller’ option go to the main menu. Type ‘S’ for
+_setup_, ‘C’ for _config_, then ‘W’ for _where is_. Type in ‘speller’
+as the word to find. The speller option should be highlighted now. Hit
+enter, type in the above line, and hit enter again. Then type ‘E’ for
+_exit setup_ and ‘Y’ to save the change.
- If you have a strong desire to check other people's comments change
-`speller' to
+ If you have a strong desire to check other people’s comments change
+‘speller’ to
aspell check
4 Customizing Aspell
********************
-The behavior of Aspell can be changed by any number of options which
-can be specified at either the command line, the environment variable
-`ASPELL_CONF', a personal configuration file, or a global configuration
+The behavior of Aspell can be changed by any number of options which can
+be specified at either the command line, the environment variable
+‘ASPELL_CONF’, a personal configuration file, or a global configuration
file. Options specified on the command line override options specified
by the environment variable. Options specified by the environment
variable override options specified by either of the configuration
files. Finally options specified by the personal configuration file
override options specified in the global configuration file. Options
-specified in the environment variable `ASPELL_CONF', a personal
+specified in the environment variable ‘ASPELL_CONF’, a personal
configuration file, or a global configuration file will take effect no
matter how Aspell is used which includes being used by other
applications.
* Menu:
-* Specifying Options::
-* The Options::
-* Dumping Configuration Values::
-* Notes on Various Options::
+* Specifying Options::
+* The Options::
+* Dumping Configuration Values::
+* Notes on Various Options::
\1f
File: aspell.info, Node: Specifying Options, Next: The Options, Up: Customizing Aspell
--OPTION[=VALUE]
-where the `=' can be replaced by whitespace.
+where the ‘=’ can be replaced by whitespace.
Some options also have single letter abbreviations of the form:
LETTER [OPTIONAL_WHITESPACE VALUE]
- Any non-ASCII characters are expected to be in the encoding
-specified by the current locale.
+ Any non-ASCII characters are expected to be in the encoding specified
+by the current locale.
To reset an option to the default value, prefix the option with a
-`reset-' and don't specify a value.
+‘reset-’ and don’t specify a value.
4.1.1.1 Value options
.....................
To specify a value option simply specify the option with its
corresponding value. For example to set the filter mode to TeX use
-`--mode=tex'.
+‘--mode=tex’.
If a value option has a single letter shortcut simply specify the
-single letter shortcut with its corresponding value. For example to
-use a the accented version of the American English dictionary use `-d
-en_US-w_accents'.
+single letter shortcut with its corresponding value. For example to use
+a the accented version of the American English dictionary use ‘-d
+en_US-w_accents’.
4.1.1.2 Boolean options
.......................
To enable a boolean option simply specify the option without any
-corresponding value, or prefix it with an `enable-'. For example to
-create a backup file use `--backup'. To disable a boolean option
-prefix the option name with a `dont-' or `disable-'. To avoid creating
-a backup file use `--dont-backup'. Boolean options can also be set
+corresponding value, or prefix it with an ‘enable-’. For example to
+create a backup file use ‘--backup’. To disable a boolean option prefix
+the option name with a ‘dont-’ or ‘disable-’. To avoid creating a
+backup file use ‘--dont-backup’. Boolean options can also be set
directly like a value option where the value is either "true" or
-"false", for example `--backup=true'.
+"false", for example ‘--backup=true’.
If a boolean option has a single letter abbreviation simply give the
letter corresponding to either enabling or disabling the option without
any corresponding value. For example, to consider run-together words
-valid use `-C' or to consider them invalid use `-B'
+valid use ‘-C’ or to consider them invalid use ‘-B’
4.1.1.3 List options
....................
-To add a value to the list, prefix the option name with an `add-' and
+To add a value to the list, prefix the option name with an ‘add-’ and
then specify the value to add. For example, to add the URL filter use
-`--add-filter url'. To remove a value from a list option, prefix the
-option name with a `rem-' and then specify the value to remove. For
-example, to remove the URL filter use `--rem-filter url'. To remove
-all items from a list prefix the option name with a `clear-' without
-specify any value. For example, to remove all filters use
-`--clear-filter'.
+‘--add-filter url’. To remove a value from a list option, prefix the
+option name with a ‘rem-’ and then specify the value to remove. For
+example, to remove the URL filter use ‘--rem-filter url’. To remove all
+items from a list prefix the option name with a ‘clear-’ without specify
+any value. For example, to remove all filters use ‘--clear-filter’.
A list option can also be set directly, in which case it will be set
to a single value. To directly set a list option to multiple values
-prefix the option name with a `lset-' and separate each value with a
-`:'. For example, to use the URL and TeX filter use `--lset-filter
-url:tex'.
+prefix the option name with a ‘lset-’ and separate each value with a
+‘:’. For example, to use the URL and TeX filter use ‘--lset-filter
+url:tex’.
4.1.2 Via a Configuration File
------------------------------
Aspell can also accept options via a personal or global configuration
-file. The exact files to used are specified by the options `per-conf'
-and `conf' respectively but the personal configuration file is normally
-`.aspell.conf' located in the `HOME' directory and the global one is
-normally `aspell.conf' which is located in the `etc' directory which is
-normally `/usr/etc' or `/usr/local/etc'. To find out the particular
-values for your particular system use `aspell dump config'.
+file. The exact files to used are specified by the options ‘per-conf’
+and ‘conf’ respectively but the personal configuration file is normally
+‘.aspell.conf’ located in the ‘HOME’ directory and the global one is
+normally ‘aspell.conf’ which is located in the ‘etc’ directory which is
+normally ‘/usr/etc’ or ‘/usr/local/etc’. To find out the particular
+values for your particular system use ‘aspell dump config’.
Each line of the configuration file has the format:
OPTION [VALUE]
There may be any number of spaces between the option and the value
-however it can only be spaces, i.e. there is no `=' between the option
-name and the value and there are no preceding `--' as used on the
+however it can only be spaces, i.e. there is no ‘=’ between the option
+name and the value and there are no preceding ‘--’ as used on the
command line.
- Comments may also be included by preceding them with a `#' as
-anything from a `#' to a newline is ignored. Blank lines are also
+ Comments may also be included by preceding them with a ‘#’ as
+anything from a ‘#’ to a newline is ignored. Blank lines are also
allowed.
- To include a literal `#' use `\#'. To include a literal `\' use
-`\\'. Any other non-alpha character can also be protected by a `\' if
+ To include a literal ‘#’ use ‘\#’. To include a literal ‘\’ use
+‘\\’. Any other non-alpha character can also be protected by a ‘\’ if
necessary.
Any non-ASCII characters are expected to be in UTF-8.
To reset an option to the default value prefix the option with a
-`reset-' and don't specify a value.
+‘reset-’ and don’t specify a value.
Values set in the personal configuration file override those in the
global file. Options specified at either the command line or via an
file.
Note: Filters and corresponding options also may be assembled
- inside a special meta filter file named `METAFILTER.flt'. A
- filter has to be loaded via adding a `add-filter FILTERNAME' line
- to the meta filter file before its options may be specified.
+ inside a special meta filter file named ‘METAFILTER.flt’. A filter
+ has to be loaded via adding a ‘add-filter FILTERNAME’ line to the
+ meta filter file before its options may be specified.
4.1.2.1 Value options
.....................
To specify a value option simply include the option followed by the
corresponding value. For example to set the default language to German
-use `lang german'.
+use ‘lang german’.
4.1.2.2 Boolean options
.......................
To specify a boolean option simply include the option followed by a
-`true' to enable it or a `false' to disable it. For example to allow
-run-together words use `run-together true'.
+‘true’ to enable it or a ‘false’ to disable it. For example to allow
+run-together words use ‘run-together true’.
4.1.2.3 List options
....................
-To add a value to the list, prefix the option name with an `add-' and
+To add a value to the list, prefix the option name with an ‘add-’ and
then specify the value to add. For example to add the URL filter use
-`add-filter url'. To remove a value from a list option prefix the
-option name with a `rem-' and then specify the value to remove. For
-example, to remove the URL filter use `rem-filter url'. To remove all
-items from a list prefix the option name with a `clear-' without
+‘add-filter url’. To remove a value from a list option prefix the
+option name with a ‘rem-’ and then specify the value to remove. For
+example, to remove the URL filter use ‘rem-filter url’. To remove all
+items from a list prefix the option name with a ‘clear-’ without
specifying any value. For example, to remove all filters use
-`clear-filter'.
+‘clear-filter’.
A list option can also be set directly, in which case it will be set
to a single value. To directly set a list option to multiple values
-prefix the option name with a `lset-' and separate each value with a
-`:'. For example, to use the URL and TeX filter use `lset-filter
-url:tex'. To include a literal `:' use `\:'.
+prefix the option name with a ‘lset-’ and separate each value with a
+‘:’. For example, to use the URL and TeX filter use ‘lset-filter
+url:tex’. To include a literal ‘:’ use ‘\:’.
4.1.3 Setting Options via an Environment Variable
-------------------------------------------------
-The environment variable `ASPELL_CONF' may also be used and it
-overrides any options set in the configuration file. The format of the
-string is exactly the same as the configuration file except that
-semicolons (`;') are used instead of newlines.
+The environment variable ‘ASPELL_CONF’ may also be used and it overrides
+any options set in the configuration file. The format of the string is
+exactly the same as the configuration file except that semicolons (‘;’)
+are used instead of newlines.
\1f
File: aspell.info, Node: The Options, Next: Dumping Configuration Values, Prev: Specifying Options, Up: Customizing Aspell
The following is a list of available options broken down by category.
Each entry has the following format:
- OPTION[,SINGLE-LETTER-ABBREVIATION]
+ OPTION[,SINGLE-LETTER-ABBREVIATION]
(TYPE) DESCRIPTION
Where single letter options are specified as they would appear at the
-command line, ie with the preceding dash. Boolean single letter
-options are specified in the following format:
+command line, ie with the preceding dash. Boolean single letter options
+are specified in the following format:
-<abbreviation to enable>|-<abbreviation to disable>
------------------------
The following options may be used to control which dictionaries to use
-and how they behave (for more information see *Note How Aspell Selects
+and how they behave (for more information see *note How Aspell Selects
an Appropriate Dictionary::):
master,-d
(dir) Location of the main word list.
lang
- (string) Language to use. It follows the same format of the `LANG'
+ (string) Language to use. It follows the same format of the ‘LANG’
environment variable on most systems. It consists of the two
letter ISO 639 language code and an optional two letter ISO 3166
country code after a dash or underscore. The default value is
- based on the value of the `LC_MESSAGES' locale.
+ based on the value of the ‘LC_MESSAGES’ locale.
size
(string) The preferred size of the word list. This consists of a
(list) Extra dictionaries to use.
dict-alias
- (list) create dictionary aliases. Each entry has the form `FROM
- TO'. Will override any system dictionaries that are present.
+ (list) create dictionary aliases. Each entry has the form ‘FROM
+ TO’. Will override any system dictionaries that are present.
+dont-use-other-dicts
+ (boolean)
+
+ Disable use of personal, replacement & session dictionaries. Any
+ dictionaries specified using ‘extra-dicts’ will still be used.
4.2.2 Encoding Options
----------------------
encoding
(string) The encoding the input text is in. Valid values include,
- but not limited to, `iso-8859-*', `utf-8', `ucs-2', `ucs-4'. When
+ but not limited to, ‘iso-8859-*’, ‘utf-8’, ‘ucs-2’, ‘ucs-4’. When
using the Aspell utility the default encoding is based on the
- current locale. Thus if your locale currently uses the `utf-8'
- encoding than everything will be in UTF-8. The `ucs-2' and
- `ucs-4' encodings are intended to be used by other programs using
- the Aspell library and is not supported by the Aspell utility.
+ current locale. Thus if your locale currently uses the ‘utf-8’
+ encoding than everything will be in UTF-8. The ‘ucs-2’ and ‘ucs-4’
+ encodings are intended to be used by other programs using the
+ Aspell library and is not supported by the Aspell utility.
normalize
(boolean) Perform Unicode normalization. Enabled by default.
norm-strict
(boolean) Avoid lossy conversions when normalizing. Lossy
conversions includes compatibility mappings such as splitting the
- letter `OE' (U+152) into `O' and `E' (when the combined letter is
+ letter ‘OE’ (U+152) into ‘O’ and ‘E’ (when the combined letter is
not available), and mappings which will remove accents. Disabled
by default except when creating dictionaries.
(string) The normalization form the output should be in. This
option primarily effects the normalization form of the suggestions
as when spell checkering as the actual text is unchanged unless
- there is an error. Valid values are `none', `nfd' for fully
- decomposition (Normalization Form D), `nfc' for Normalization Form
- C, or `comp' for fully composed. `comp' is like `nfc' except that
+ there is an error. Valid values are ‘none’, ‘nfd’ for fully
+ decomposition (Normalization Form D), ‘nfc’ for Normalization Form
+ C, or ‘comp’ for fully composed. ‘comp’ is like ‘nfc’ except that
_full_ composition is used rather than _canonical_ composition.
- The `normalize' option must be enabled for this option to be used.
+ The ‘normalize’ option must be enabled for this option to be used.
norm-required
(boolean) Set to true when the current language requires Unicode
normalization. This is generally the case when private use
- characters are used internally by Aspell or when Normalization
- Form C is not the same as full composition.
-
+ characters are used internally by Aspell or when Normalization Form
+ C is not the same as full composition.
4.2.3 Checker Options
---------------------
Notes on Typo-Analysis::)
sug-mode
- (mode) Suggestion mode = `ultra' | `fast' | `normal' | `slow' |
- `bad-spellers' (*note Notes on the Different Suggestion Modes::)
+ (mode) Suggestion mode = ‘ultra’ | ‘fast’ | ‘normal’ | ‘slow’ |
+ ‘bad-spellers’ (*note Notes on the Different Suggestion Modes::)
ignore-case
(boolean) Ignore case when checking words.
ignore-accents
- (boolean) Ignore accents when checking words - _currently ignored_.
-
+ (boolean) Ignore accents when checking words – _currently ignored_.
4.2.4 Filter Options
--------------------
mode
(string) Sets the filter mode. Possible values include, but not
- limited to, `none', `url', `email', `sgml', or `tex'. (The
- shortcut options `-e' may be used for email, `-H' for HTML, or
- `-t' for TeX).
-
+ limited to, ‘none’, ‘url’, ‘email’, ‘sgml’, or ‘tex’. (The
+ shortcut options ‘-e’ may be used for email, ‘-H’ for HTML, or ‘-t’
+ for TeX).
These options belong to filters packaged along with Aspell standard
-distribution. These options may be prefixed by the keyword `f-' in
+distribution. These options may be prefixed by the keyword ‘f-’ in
order to explicitly indicate that they are options recognized by a
filter and not by Aspell itself.
(list) Email quote characters.
email-margin
- (integer) The number of characters that can appear before the
- quote character
+ (integer) The number of characters that can appear before the quote
+ character
4.2.4.2 html
............
-This filter converts an HTML source file into a format which eases
-spell checking of HTML texts by Aspell.
+This filter converts an HTML source file into a format which eases spell
+checking of HTML texts by Aspell.
html-check
(list) HTML attributes to always check, such as alt= (alternate
tex-check-comments
(boolean) check TeX comments
-
4.2.4.5 texinfo
...............
texinfo-ignore-env
(list) Texinfo environments to ignore.
-
4.2.4.6 context
...............
This filter can be used to spell check source codes, HTML sources and
-other texts which consist of different contexts. These contexts must
-be separated by pairs of unique delimiters. The different contexts may
-not be dependent upon each other except for initial context which is
-assumed if not any other context applies.
+other texts which consist of different contexts. These contexts must be
+separated by pairs of unique delimiters. The different contexts may not
+be dependent upon each other except for initial context which is assumed
+if not any other context applies.
context-visible-first
(boolean) Switches the context which should be visible to Aspell.
add|rem-context-delimiters
(list) Add or remove pairs of delimiters. This allows you to
specify the character, or sequences of characters, which should be
- used to switch contexts and therefore have to be escaped by `\' if
+ used to switch contexts and therefore have to be escaped by ‘\’ if
they should appear literally. The two delimiting chars belonging
- to one pair have to be separated by a space character. If
- multiple pairs are specified by one `add|rem-context-delimiters'
- call the different pairs have to be separated by a literal comma.
- Per default the delimiters are set to C/C++ comment and string
- constant delimiters. If the end of line delimits a context than
- this has to be indicated by the literal `\0' string.
+ to one pair have to be separated by a space character. If multiple
+ pairs are specified by one ‘add|rem-context-delimiters’ call the
+ different pairs have to be separated by a literal comma. Per
+ default the delimiters are set to C/C++ comment and string constant
+ delimiters. If the end of line delimits a context than this has to
+ be indicated by the literal ‘\0’ string.
4.2.5 Run-together Word Options
-------------------------------
These may be used to control the behavior of run-together words (for
more information *note Controlling the Behavior of Run-together
Words::):
+
run-together,-C|-B
(boolean) consider run-together words valid
-
run-together-limit
(integer) maximum number of words that can be strung together
4.2.6 Miscellaneous Options
---------------------------
-Miscellaneous other options that don't fall under any other category
+Miscellaneous other options that don’t fall under any other category
+
conf
- (file) Main configuration file. This file overrides Aspell's
+ (file) Main configuration file. This file overrides Aspell’s
global defaults.
conf-dir
local-data-dir
(dir) alternative location of language data files. This directory
- is searched before `data-dir'. It defaults to the same directory
+ is searched before ‘data-dir’. It defaults to the same directory
the actual main word list is in (which is not necessarily
- `dict-dir')
+ ‘dict-dir’)
home-dir
(dir) location for personal files
per-conf
(file) personal configuration file. This file overrides options
- found in the global `conf' file
+ found in the global ‘conf’ file
keyboard
(file) use this keyboard layout for suggesting possible words.
set-prefix
(boolean) set the prefix based on executable location (only works
- on WIN32 and when compiled with `--enable-win32-relocatable')
+ on WIN32 and when compiled with ‘--enable-win32-relocatable’)
4.2.7 Aspell Utility Options
----------------------------
backup,-b|-x
- (boolean) Create a backup file by appending `.bak' to the file
- name. This applies when the command is `check' and the backup
- file is only created if any spelling modifications take place.
+ (boolean) Create a backup file by appending ‘.bak’ to the file
+ name. This applies when the command is ‘check’ and the backup file
+ is only created if any spelling modifications take place.
time
- (boolean) Time load time and suggest time in `pipe' mode.
+ (boolean) Time load time and suggest time in ‘pipe’ mode.
byte-offsets
- (boolean) Use byte offsets instead of character offsets in `pipe'
+ (boolean) Use byte offsets instead of character offsets in ‘pipe’
mode.
reverse
- (boolean) Reverse the order of the suggestions list in `pipe' mode.
+ (boolean) Reverse the order of the suggestions list in ‘pipe’ mode.
keymapping
- (string) the keymapping to use. Either `aspell' for the default
- mapping or `ispell' to use the same mapping that the Ispell utility
+ (string) the keymapping to use. Either ‘aspell’ for the default
+ mapping or ‘ispell’ to use the same mapping that the Ispell utility
uses.
guess
(boolean) make possible root/affix combinations not in the
- dictionary in `pipe' mode.
+ dictionary in ‘pipe’ mode.
suggest
- (boolean) Suggest possible replacements in `pipe' mode. If false
+ (boolean) Suggest possible replacements in ‘pipe’ mode. If false
Aspell will simply report the misspelling and make no attempt at
suggestions or possible corrections.
4.3 Dumping Configuration Values
================================
-To find out the current value of all the options use the command
-`aspell dump config'. This will dump the current Aspell configuration
-to standard output. The format of the contents dumped is such that it
-can be used as either the global or your personal configuration file.
+To find out the current value of all the options use the command ‘aspell
+dump config’. This will dump the current Aspell configuration to
+standard output. The format of the contents dumped is such that it can
+be used as either the global or your personal configuration file.
- To find out the current value of a particular option use `aspell
-config OPTION'. This will print out the value of OPTION to `stdout'
-and nothing else.
+ To find out the current value of a particular option use ‘aspell
+config OPTION’. This will print out the value of OPTION to ‘stdout’ and
+nothing else.
\1f
File: aspell.info, Node: Notes on Various Options, Prev: Dumping Configuration Values, Up: Customizing Aspell
* Menu:
-* Notes on Various Filters and Filter Modes::
-* Notes on the Prefix Option::
-* Notes on Typo-Analysis::
-* Notes on the Different Suggestion Modes::
+* Notes on Various Filters and Filter Modes::
+* Notes on the Prefix Option::
+* Notes on Typo-Analysis::
+* Notes on the Different Suggestion Modes::
\1f
File: aspell.info, Node: Notes on Various Filters and Filter Modes, Next: Notes on the Prefix Option, Up: Notes on Various Options
-----------------------------------------------
Aspell now has filter support. You can either select from individual
-filters or choose a filter mode. To select a filter mode use the
-`mode' option. You may choose from `none', `url', `email', `sgml',
-`ccpp', `tex' and any other available on your system. The default mode
-is `url'. Individual filters can be added with the option `add-filter'
-and removed with the `rem-filter' option. The currently available
-filters are `url', `email', `sgml' and `tex', `latex' (alias for
-`tex'), `nroff', `context', as well as a bunch of filters which
-translate the text from one format to another.
-
- To check which filters are available use `aspell dump filters'. To
-check which filter modes are available use `aspell dump modes'. The
-`aspell help' command will also list all available filter and filter
+filters or choose a filter mode. To select a filter mode use the ‘mode’
+option. You may choose from ‘none’, ‘url’, ‘email’, ‘sgml’, ‘ccpp’,
+‘tex’ and any other available on your system. The default mode is
+‘url’. Individual filters can be added with the option ‘add-filter’ and
+removed with the ‘rem-filter’ option. The currently available filters
+are ‘url’, ‘email’, ‘sgml’ and ‘tex’, ‘latex’ (alias for ‘tex’),
+‘nroff’, ‘context’, as well as a bunch of filters which translate the
+text from one format to another.
+
+ To check which filters are available use ‘aspell dump filters’. To
+check which filter modes are available use ‘aspell dump modes’. The
+‘aspell help’ command will also list all available filter and filter
modes.
4.4.1.1 None Filter Mode
........................
-The `none' mode is exactly what it says. It turns off all filters.
+The ‘none’ mode is exactly what it says. It turns off all filters.
4.4.1.2 URL Filter
..................
-The `url' filter/mode skips over URLs, host names, and email addresses.
-Because this filter is almost always useful and rarely does any harm
-it is enabled in all modes except `none'. To turn it off either select
-the `none' mode or use `rem-filter' option _after_ the desired mode is
+The ‘url’ filter/mode skips over URLs, host names, and email addresses.
+Because this filter is almost always useful and rarely does any harm it
+is enabled in all modes except ‘none’. To turn it off either select the
+‘none’ mode or use ‘rem-filter’ option _after_ the desired mode is
selected.
4.4.1.3 Email Filter
....................
-The `email' filter mode skips over quoted text. It currently does not
+The ‘email’ filter mode skips over quoted text. It currently does not
support skipping over headers however a future version should. In the
meantime I suggest you use Aspell with Newsbody which can be found at
-`http://home.worldonline.dk/~byrial/newsbody/'. The option
-`email-skip' controls the number of characters that can appear before
-the email quote character, the default is 10. The option
-`add|rem-email-quote' controls the characters that are considered quote
-characters, the defaults are `>' and `|'.
+<http://home.worldonline.dk/~byrial/newsbody/>. The option ‘email-skip’
+controls the number of characters that can appear before the email quote
+character, the default is 10. The option ‘add|rem-email-quote’ controls
+the characters that are considered quote characters, the defaults are
+‘>’ and ‘|’.
4.4.1.4 SGML Filter
...................
The SGML filter allows you to spell check SGML, HTML, XHTML, and XML
-files. In most cases everything within a tag `<tag attrib=value
-attrib2="a whole sentence">' will be skipped by the spell checker. The
+files. In most cases everything within a tag ‘<tag attrib=value
+attrib2="a whole sentence">’ will be skipped by the spell checker. The
SGML/HTML/XML that Aspell supports is a slight superset of most DTDs
(Document Type Definitions) and can spell check the often non-conforming
HTML found on the web.
- Two configuration options, `sgml-skip' and `sgml-check', allow you
-to control what is spell checked. The tag and attribute names specified
+ Two configuration options, ‘sgml-skip’ and ‘sgml-check’, allow you to
+control what is spell checked. The tag and attribute names specified
are case insensitive.
sgml-skip
add-sgml-skip nospellcheck
sgml-check
+
This is a list of attributes whose values you do want spell
- checked. By default, 'alt' (<img> alternate text) is a member of
+ checked. By default, ’alt’ (<img> alternate text) is a member of
the check list since it is text that is seen by a web page viewer.
- You may also want 'value' to be on the check list since that is
- the text put on buttons:
+ You may also want ’value’ to be on the check list since that is the
+ text put on buttons:
add-sgml-check value
- In this case `<input type=button value="Donr">' will be flagged as
+ In this case ‘<input type=button value="Donr">’ will be flagged as
a misspelling.
- This filter will also translate SGML characters of the form
-`&#num;'. Other SGML characters such as `&' will simply be skipped
-over so that the word `amp', for example, will not be spell checked.
-Eventually full support for properly translating SGML characters will
-be added.
+ This filter will also translate SGML characters of the form ‘&#num;’.
+Other SGML characters such as ‘&’ will simply be skipped over so
+that the word ‘amp’, for example, will not be spell checked. Eventually
+full support for properly translating SGML characters will be added.
4.4.1.5 HTML Filter
...................
-The `html' filter is like the SGML Filter Mode but specialized for
-HTML. By default, 'script' and 'style' are members of the skip list in
-HTML mode.
+The ‘html’ filter is like the SGML Filter Mode but specialized for HTML.
+By default, ’script’ and ’style’ are members of the skip list in HTML
+mode.
4.4.1.6 TeX/LaTeX Filter
........................
-The `tex' (all lowercase) filter mode skips over TeX commands and
+The ‘tex’ (all lowercase) filter mode skips over TeX commands and
parameters and/or options to certain commands. It also skips over TeX
-comments by default. The option `[dont-]tex-check-comments' controls
+comments by default. The option ‘[dont-]tex-check-comments’ controls
whether or not Aspell will skip over TeX comments. The option
-`add|rem-tex-command' controls which TeX commands should have certain
+‘add|rem-tex-command’ controls which TeX commands should have certain
parameters and/or options also skipped over. Commands that are not
specified will have all their parameters and/or options checked. The
format for each item is
<command> <a list of p,P,o and Os>
The first item is simply the command name. The second item controls
-which parameters to skip over. A 'p' skips over a parameter while a
-'P' doesn't. Similarly an 'o' will skip over an optional parameter
-while an 'O' doesn't. The first letter on the list will apply to the
-first parameter, the second letter will apply to the second parameter
-etc. If there are more parameters than letters Aspell will simply
-check them as normal. For example the option
+which parameters to skip over. A ’p’ skips over a parameter while a ’P’
+doesn’t. Similarly an ’o’ will skip over an optional parameter while an
+’O’ doesn’t. The first letter on the list will apply to the first
+parameter, the second letter will apply to the second parameter etc. If
+there are more parameters than letters Aspell will simply check them as
+normal. For example the option
add-tex-command rule pp
-will skip over the first two parameters of the `rule' command while the
+will skip over the first two parameters of the ‘rule’ command while the
option
add-tex-command foo Pop
-will _check_ the first parameter of the `foo' command, skip over the
-next optional parameter, if it is present, and will skip over the
-second parameter -- even if the optional parameter is not present --
-and will check any additional parameters.
+will _check_ the first parameter of the ‘foo’ command, skip over the
+next optional parameter, if it is present, and will skip over the second
+parameter — even if the optional parameter is not present — and will
+check any additional parameters.
- A `*' at the end of the command is simply ignored. For example the
+ A ‘*’ at the end of the command is simply ignored. For example the
option
enlargethispage p
-will ignore the first parameter in both `enlargethispage' and
-`enlargethispage*'.
+will ignore the first parameter in both ‘enlargethispage’ and
+‘enlargethispage*’.
- To remove a command simply use the `rem-tex-command' option. For
+ To remove a command simply use the ‘rem-tex-command’ option. For
example
rem-tex-command foo
will remove the command foo, if present, from the list of TeX commands.
- The TeX filter mode is also available via `latex' alias name.
+ The TeX filter mode is also available via ‘latex’ alias name.
4.4.1.7 Texinfo Filter
......................
-The `texinfo' filter allows you to spell check Texinfo files. It will
+The ‘texinfo’ filter allows you to spell check Texinfo files. It will
skip over any Texinfo commands and their parameters when appropriate.
-It will also skip over some Texinfo environments such as `example'.
-The list option `texinfo-ignore' controls which commands to ignore the
-parameters of and the list option `texinfo-ignore-env' controls which
+It will also skip over some Texinfo environments such as ‘example’. The
+list option ‘texinfo-ignore’ controls which commands to ignore the
+parameters of and the list option ‘texinfo-ignore-env’ controls which
Texinfo environments to ignore.
- The Texinfo filter has special code to deal with the `@table' and
+ The Texinfo filter has special code to deal with the ‘@table’ and
related commands. It will apply the formatting command to each of the
-`@item' or `@itemx' commands just like Texinfo will. This means that
-if the formatting command is `@code' and and the `@code' command is a
-member of the `texinfo-ignore' option than the Texinfo filter will
-ignore the parameter of the `@item' command as if the parameter was also
-the parameter of the `@code' command.
+‘@item’ or ‘@itemx’ commands just like Texinfo will. This means that if
+the formatting command is ‘@code’ and and the ‘@code’ command is a
+member of the ‘texinfo-ignore’ option than the Texinfo filter will
+ignore the parameter of the ‘@item’ command as if the parameter was also
+the parameter of the ‘@code’ command.
- The Texinfo filter will also skip over the `\input texinfo' line.
+ The Texinfo filter will also skip over the ‘\input texinfo’ line.
4.4.1.8 Nroff Filter
....................
-The `nroff' filter mode allows you to check the spelling of Nroff
-documents. The mode is enabled by giving `--add-filter=nroff' or `-n'
-command line option to `aspell'. It is also automatically enabled if
-the first three characters of the file being checked are `.\"' (a
-`nroff' comment marker) or the file name ends in a one of the following
+The ‘nroff’ filter mode allows you to check the spelling of Nroff
+documents. The mode is enabled by giving ‘--add-filter=nroff’ or ‘-n’
+command line option to ‘aspell’. It is also automatically enabled if
+the first three characters of the file being checked are ‘.\"’ (a
+‘nroff’ comment marker) or the file name ends in a one of the following
suffixes:
- * single decimal digit from `0' to `9'
-
- * letter `n'
-
- * `tmac'
-
-This filter mode skips following `nroff' language elements:
-
- * Comments
+ • single decimal digit from ‘0’ to ‘9’
+ • letter ‘n’
+ • ‘tmac’
- * Requests
+This filter mode skips following ‘nroff’ language elements:
- * Names of `nroff' registers (both traditional two-letter names and
+ • Comments
+ • Requests
+ • Names of ‘nroff’ registers (both traditional two-letter names and
GNU nroff long names)
-
- * Arguments to the following requests: `ds', `de', `nr', `do', `so'.
-
- * Arguments to font switch (`\f') and size switch (`\s') escapes
-
- * Arguments to extended charset escape in both traditional (`\(')
- and extended (`\[comp1 comp2 ...]') form.
+ • Arguments to the following requests: ‘ds’, ‘de’, ‘nr’, ‘do’, ‘so’.
+ • Arguments to font switch (‘\f’) and size switch (‘\s’) escapes
+ • Arguments to extended charset escape in both traditional (‘\(’) and
+ extended (‘\[comp1 comp2 …]’) form.
4.4.1.9 Context Filter
......................
fact that the visible/invisible ones are delimited by specific and
unique delimiter characters or character sequences. Whether the
delimited contexts should be visible or invisible only stated by the
-value of the `[dont-]context-visible-first' option and not by the
+value of the ‘[dont-]context-visible-first’ option and not by the
delimiters.
The context delimiters are specified as pairs of delimiters via the
-`add|rem-context-delimiters' option. The delimiters enclosing a
+‘add|rem-context-delimiters’ option. The delimiters enclosing a
specific context are specified as a space separated pair. If more than
one delimiter pair is specified by one call of
-`add|rem-context-delimiters' they have to be combined to a comma
+‘add|rem-context-delimiters’ they have to be combined to a comma
separated list. To indicate that a context is always closed by end of
-line use `\0' sequence as closing delimiter.
+line use ‘\0’ sequence as closing delimiter.
4.4.1.10 Ccpp Filter Mode
.........................
-The `ccpp' filter mode will limit spell checking to C/C++ comments and
-string literals. Any code in between will be left alone.
+The ‘ccpp’ filter mode will limit spell checking to C/C++ comments and
+string literals. Any code in between will be left alone.
\1f
File: aspell.info, Node: Notes on the Prefix Option, Next: Notes on Typo-Analysis, Prev: Notes on Various Filters and Filter Modes, Up: Notes on Various Options
4.4.2 Notes on the Prefix Option
--------------------------------
-The `prefix' option is there to allow Aspell to easily be relocated.
-Changing `prefix' will change all directory names relative to the new
-prefix that are not explicitly set. For example if `prefix' was
-`/usr/local/aspell' and `dict-dir' has a default value of
-`/usr/local/aspell/dict' than changing `prefix' to `/opt/aspell' will
-also change the default value of `dict-dir' to `/opt/aspell/dict'.
-Note that modifying `prefix' will only affect the default compiled in
-values of directories. If a directory option is explicitly given a
-value then changing the value of `prefix' has no effect on that
-directory option.
+The ‘prefix’ option is there to allow Aspell to easily be relocated.
+Changing ‘prefix’ will change all directory names relative to the new
+prefix that are not explicitly set. For example if ‘prefix’ was
+‘/usr/local/aspell’ and ‘dict-dir’ has a default value of
+‘/usr/local/aspell/dict’ than changing ‘prefix’ to ‘/opt/aspell’ will
+also change the default value of ‘dict-dir’ to ‘/opt/aspell/dict’. Note
+that modifying ‘prefix’ will only affect the default compiled in values
+of directories. If a directory option is explicitly given a value then
+changing the value of ‘prefix’ has no effect on that directory option.
\1f
File: aspell.info, Node: Notes on Typo-Analysis, Next: Notes on the Different Suggestion Modes, Prev: Notes on the Prefix Option, Up: Notes on Various Options
-------------------------------------------------------------
Aspell .33 and better will, in general, give a higher priority to
-certain misspellings which are likely to be due to typos such as `teh'
-instead of `the' or `hapoy' instead of `happy'. However in order to do
+certain misspellings which are likely to be due to typos such as ‘teh’
+instead of ‘the’ or ‘hapoy’ instead of ‘happy’. However in order to do
this well Aspell needs to know the layout of the keyboard via the
keyboard definition file. The keyboard definition file simply
identifies the keys on the keyboard and which of them are right next to
-each other. It has an extension of `.kbd' and all non-ASCII characters
+each other. It has an extension of ‘.kbd’ and all non-ASCII characters
are expected to be in UTF-8.
To identify a key use:
- key BASE OTHER ...
+ key BASE OTHER …
+
where BASE is the base character that the key types, and OTHER are
other keys that the key can produce. For example
- key a A á Á
+ key a A á Á
It generally is only necessary to list keys which type more than one
distinct letter as Aspell can derive the rest from the language data
as
-will indicate that `a' and `s' are right next to each other. If `as'
-is listed as an entry it is not necessary to list `sa' as an entry as
-that will be done automatically. Also by "right next to each other" I
-mean two keys that are close enough together that it is easy to type
-one instead of the other. On most keyboards this means keys that are
-to the left or to the right of each other and _not_ keys that are below
-or above it.
+will indicate that ‘a’ and ‘s’ are right next to each other. If ‘as’ is
+listed as an entry it is not necessary to list ‘sa’ as an entry as that
+will be done automatically. Also by "right next to each other" I mean
+two keys that are close enough together that it is easy to type one
+instead of the other. On most keyboards this means keys that are to the
+left or to the right of each other and _not_ keys that are below or
+above it.
- The default for this option is normally `standard'. However the
+ The default for this option is normally ‘standard’. However the
default can be changed via the language data file. The normal default,
-`standard', should work well for most QWERTY like keyboard layouts. It
-may need minor adjusting for foreign keyboards. The `dvorak' option
-can be used for a Dvorak layout.
+‘standard’, should work well for most QWERTY like keyboard layouts. It
+may need minor adjusting for foreign keyboards. The ‘dvorak’ option can
+be used for a Dvorak layout.
\1f
File: aspell.info, Node: Notes on the Different Suggestion Modes, Prev: Notes on Typo-Analysis, Up: Notes on Various Options
---------------------------------------------
In order to understand what these suggestion modes do, a basic
-understanding of how Aspell works is required. For that, see *Note
+understanding of how Aspell works is required. For that, see *note
Aspell Suggestion Strategy::.
The suggestion modes are as follows.
decent suggestions. This currently means that it will look for
soundslikes within one edit distance. This method will also use
the replacement table if one is available. In this mode Aspell
- gets about 87% of the words from my small test kernel of
- misspelled words. (Go to `http://aspell.net/test' for more info
- on the test kernel as well as comparisons of this version of
- Aspell with previous versions and other spell checkers.)
+ gets about 87% of the words from my small test kernel of misspelled
+ words. (Go to <http://aspell.net/test> for more info on the test
+ kernel as well as comparisons of this version of Aspell with
+ previous versions and other spell checkers.)
fast
- This method is currently identical to `ultra'.
+ This method is currently identical to ‘ultra’.
normal
This mode will use what ever method is necessary to return good
distance apart. This mode gets 93% of the words.
slow
- Like `normal' except that "reasonable amount of time" is not a
+ Like ‘normal’ except that “reasonable amount of time” is not a
consideration. In most cases it will return the same results as
- `normal'. The biggest difference is that it will try an ngram
- scan if the normal methods of finding a suggestion fail.
+ ‘normal’. The biggest difference is that it will try an ngram scan
+ if the normal methods of finding a suggestion fail.
bad-spellers
- This method is like `slow' but is tailored more for the bad
+ This method is like ‘slow’ but is tailored more for the bad
speller, where as the other modes are tailored more to strike a
good balance between typos and true misspellings. This mode never
- performs typo-analysis and returns a _huge_ number of words for
- the really bad spellers who can't seem to get the spelling
- anything close to what it should be. If the misspelled word looks
- anything like the correct spelling it is bound to be found
- _somewhere_ on the list of 100 or more suggestions. This mode
- gets 98% of the words.
+ performs typo-analysis and returns a _huge_ number of words for the
+ really bad spellers who can’t seem to get the spelling anything
+ close to what it should be. If the misspelled word looks anything
+ like the correct spelling it is bound to be found _somewhere_ on
+ the list of 100 or more suggestions. This mode gets 98% of the
+ words.
- If jump tables were not used then the `normal' option is identical
-to `fast' and the `slow' option is identical to the `normal' if jump
-tables were used.
+ If jump tables were not used then the ‘normal’ option is identical to
+‘fast’ and the ‘slow’ option is identical to the ‘normal’ if jump tables
+were used.
\1f
File: aspell.info, Node: Working With Dictionaries, Next: Writing programs to use Aspell, Prev: Customizing Aspell, Up: Top
* Menu:
-* Using aspell-import::
-* How Aspell Selects an Appropriate Dictionary::
-* Listing Available Dictionaries::
-* Dumping the Contents of the Word List::
-* Creating an Individual Word List::
-* Working With Affix Info in Word Lists::
-* Format of the Personal and Replacement Dictionaries::
-* Using Multi Dictionaries::
-* Dictionary Naming::
-* AWLI files::
+* Using aspell-import::
+* How Aspell Selects an Appropriate Dictionary::
+* Listing Available Dictionaries::
+* Dumping the Contents of the Word List::
+* Creating an Individual Word List::
+* Working With Affix Info in Word Lists::
+* Format of the Personal and Replacement Dictionaries::
+* Using Multi Dictionaries::
+* Dictionary Naming::
+* AWLI files::
\1f
File: aspell.info, Node: Using aspell-import, Next: How Aspell Selects an Appropriate Dictionary, Up: Working With Dictionaries
-5.1 Using `aspell-import'
+5.1 Using ‘aspell-import’
=========================
-The `aspell-import' Perl script will look for old personal dictionaries
+The ‘aspell-import’ Perl script will look for old personal dictionaries
and will import them into GNU Aspell. It will look for both Ispell and
Aspell ones. To use it, just run it from the command prompt. If you
-get an error about `/usr/bin/perl' not being found, then instead try
-`perl BINDIR/aspell-import'. When running the script if you get a
+get an error about ‘/usr/bin/perl’ not being found, then instead try
+‘perl BINDIR/aspell-import’. When running the script if you get a
message like:
-
Error: No word lists can be found for the language "de".
This means that you have not installed support for the given
-language, in this case `de' for German. To rectify the situation
+language, in this case ‘de’ for German. To rectify the situation
download and install a dictionary designed to work with GNU Aspell 0.50
or better.
5.2 How Aspell Selects an Appropriate Dictionary
================================================
-If the `master' option is set in any fashion (via the command line, the
-`ASPELL_CONF' environment variable, or a configuration file) Aspell
-will look for a dictionary of that name. If one could not be found, it
-will complain.
-
- Otherwise it will use the value of the `lang' option to search for
-an appropriate dictionary. If more than one dictionary is found for
-the given language string then it will look for a dictionary with a
-matching variety if the `variety' option is set. If it is not set it
-will look for a dictionary without a variety. If after matching the
-`lang' and `variety' there is still more than one dictionary available
-it will find one with the size closest to the value of the `size'
-option. The default size is 60. If Aspell cannot find a dictionary
-based on the `lang' option then it will give up and complain.
-
- If the `lang' option is not explicitly set its value will be based
-on the `LC_MESSAGES' locale. This locale is generally taken from the
-`LC_MESSAGES' environment variable or the `LANG' environment variable
-if `LC_MESSAGES' is not set. However, if Aspell is being used as a
-library from within another program which already explicitly set the
-locale then it will use the locale of the library rather than the
-environment variables. If Aspell cannot determine the language from
-the `LC_MESSAGES' locale than it will default to `en_US'.
-
- The list option `dict-alias' can be used to influence which
+If the ‘master’ option is set in any fashion (via the command line, the
+‘ASPELL_CONF’ environment variable, or a configuration file) Aspell will
+look for a dictionary of that name. If one could not be found, it will
+complain.
+
+ Otherwise it will use the value of the ‘lang’ option to search for an
+appropriate dictionary. If more than one dictionary is found for the
+given language string then it will look for a dictionary with a matching
+variety if the ‘variety’ option is set. If it is not set it will look
+for a dictionary without a variety. If after matching the ‘lang’ and
+‘variety’ there is still more than one dictionary available it will find
+one with the size closest to the value of the ‘size’ option. The
+default size is 60. If Aspell cannot find a dictionary based on the
+‘lang’ option then it will give up and complain.
+
+ If the ‘lang’ option is not explicitly set its value will be based on
+the ‘LC_MESSAGES’ locale. This locale is generally taken from the
+‘LC_MESSAGES’ environment variable or the ‘LANG’ environment variable if
+‘LC_MESSAGES’ is not set. However, if Aspell is being used as a library
+from within another program which already explicitly set the locale then
+it will use the locale of the library rather than the environment
+variables. If Aspell cannot determine the language from the
+‘LC_MESSAGES’ locale than it will default to ‘en_US’.
+
+ The list option ‘dict-alias’ can be used to influence which
dictionary is selected by creating an alias from one dictionary name to
another. This option is most useful when there is more than one
-dictionary for a given language. For example `add-dict-alias en_US
-en_US-w_accents' will cause Aspell to choose the accented version of
-the American English dictionary instead of the non-accented version.
-To add an alias use:
+dictionary for a given language. For example ‘add-dict-alias en_US
+en_US-w_accents’ will cause Aspell to choose the accented version of the
+American English dictionary instead of the non-accented version. To add
+an alias use:
add-dict-alias NAME VAL
5.3 Listing Available Dictionaries
==================================
-For a list of available dictionaries use the command `aspell dump
-dicts'. This will form a list of dictionaries that Aspell will search
+For a list of available dictionaries use the command ‘aspell dump
+dicts’. This will form a list of dictionaries that Aspell will search
when a dictionary is not specifically given.
\1f
5.4 Dumping the Contents of the Word List
=========================================
-The dump command in `aspell' will simply dump the contents of a word
-list to `stdout' in a format that can be read back in with `aspell
-create'.
+The dump command in ‘aspell’ will simply dump the contents of a word
+list to ‘stdout’ in a format that can be read back in with ‘aspell
+create’.
If no word list is specified the command will act on the default one.
For example the command
aspell dump personal
will simply dump the contents of the current personal word list to
-`stdout'.
+‘stdout’.
\1f
File: aspell.info, Node: Creating an Individual Word List, Next: Working With Affix Info in Word Lists, Prev: Dumping the Contents of the Word List, Up: Working With Dictionaries
where BASE is the name of the word list and WORDLIST is the list of
words separated by white space. The name of the word list will
-automatically be converted to all lowercase. The `./' is important
+automatically be converted to all lowercase. The ‘./’ is important
because without it Aspell will create the word list in the normal word
list directory. If you are trying to create a word list in a language
-other than English check the Aspell `data-dir' (usually
-`/usr/share/aspell', use `aspell dump config' to find out what it is on
+other than English check the Aspell ‘data-dir’ (usually
+‘/usr/share/aspell’, use ‘aspell dump config’ to find out what it is on
your system) to see if a language data file exists for your language.
If not you will need to create one. For more information on using
-Aspell with other languages *Note Adding Support For Other Languages::.
+Aspell with other languages *note Adding Support For Other Languages::.
- This will create the file `BASE' in the current directory. To use
+ This will create the file ‘BASE’ in the current directory. To use
the new word list copy the file to the normal word list directory (use
-`aspell config' to find out what it is) and use the option
-`--master=BASE'.
+‘aspell config’ to find out what it is) and use the option
+‘--master=BASE’.
During the creating of the dictionary you may get a number of
warnings or errors about invalid words or affixes. By default Aspell
will skip any invalid words and remove invalid affixes. If you rather
that Aspell simply accepts all words given then the option
-`--dont-validate-words' can be specified. To avoid checking if affixes
-are valid use the option `--dont-validate-affixes'. However, rather
+‘--dont-validate-words’ can be specified. To avoid checking if affixes
+are valid use the option ‘--dont-validate-affixes’. However, rather
than disable checking, it is preferable to clean the input word list.
This can be done by using the command
aspell --local-data-dir=./ --lang=LANG clean strict < WORDLIST > RESULT
- The option `--clean-words' can be be added when creating a
-dictionary if you want Aspell to remove invalid characters from the
-beginning and end of a word like the "clean" command does. In addition
-the options `--dont-skip-invalid-words' and `--dont-clean-affixes' can
-be specified to turn the warnings into errors.
+ The option ‘--clean-words’ can be be added when creating a dictionary
+if you want Aspell to remove invalid characters from the beginning and
+end of a word like the "clean" command does. In addition the options
+‘--dont-skip-invalid-words’ and ‘--dont-clean-affixes’ can be specified
+to turn the warnings into errors.
- The compiled dictionary file are endian order dependent. When a
-dictionary is loaded the endian order is checked. Please do not
-distribute the compiled dictionaries unless you are only distributing
-them for a particular platform such as you would a binary.
+ The compiled dictionaries are platform dependent. They depend on the
+endian order and (unless compiled with the ‘--enable-32-bit-hash-fun’
+option) the size of the ‘size_t’ type as it used in the hash function;
+this type is generally different on 32 and 64-bit systems. When a
+dictionary is loaded the endian order and compatibility of the hash
+function is checked. Please do not distribute the compiled dictionaries
+unless you are only distributing them for a particular platform such as
+you would a binary.
- Aspell is now also able to use special `multi' dictionaries. for
-more information *Note How Aspell Selects an Appropriate Dictionary::.
+ Aspell is now also able to use special ‘multi’ dictionaries. for
+more information *note How Aspell Selects an Appropriate Dictionary::.
A personal and replacement word list can be created in a similar
fashion.
5.6.1 The Munch Command
-----------------------
-The `munch' command takes a list of words from standard input and
+The ‘munch’ command takes a list of words from standard input and
outputs a list of possible root words and affixes. The root may,
however, be invalid as it does not check them against the existing
dictionary. For example the command:
5.6.2 The Expand Command
------------------------
-The `expand' command is the reverse of `munch', it expands affix flags
+The ‘expand’ command is the reverse of ‘munch’, it expands affix flags
to produce a list of words. For example:
echo both/R | aspell -l en expand
produces
The formal usage is:
aspell expand [LEVEL] [LIMIT]
- Where LEVEL is the expansion level. Valid values are between 1 and
-3. Level 1 is the default if not otherwise specified. Level 2 causes
-the original root/affix to be included, for example:
+Where LEVEL is the expansion level. Valid values are between 1 and 3.
+Level 1 is the default if not otherwise specified. Level 2 causes the
+original root/affix to be included, for example:
both/R both bother
- Level 3 causes multiple lines to be printed, one for each generated
+Level 3 causes multiple lines to be printed, one for each generated
word, with the original root/affix combination followed by the word it
creates:
both/R both
both/R bother
- Levels larger than 3 may also be supported, but should not be used as
+Levels larger than 3 may also be supported, but should not be used as
they may eventually be removed.
If a LIMIT parameter is given then only expansions which affect the
5.6.3 The Munch-list Command
----------------------------
-The `munch-list' command will reduce the size of word list via affix
+The ‘munch-list’ command will reduce the size of word list via affix
compression. It will reduce a list of words to a minimal (or close to
it) set of roots and affixes that will match the same list of words.
The list of words is read from standard input and the result, the
-"munched" list, is written to standard out. It's usage is:
+“munched” list, is written to standard out. It’s usage is:
aspell munch-list [keep] [single|multi] [simple] < INFILE > OUTFILE
-where `simple', `single', `multi', and `keep' are literal values.
+where ‘simple’, ‘single’, ‘multi’, and ‘keep’ are literal values.
The default algorithm used should give near optimum results. In some
cases the set of words returned is, provably, the minimum number
-possible. In the typical case the number of words returned is within
-1% of the optimum number.
+possible. In the typical case the number of words returned is within 1%
+of the optimum number.
- By default Aspell will remove redundant affix flags. The `keep'
-flag will avoid removing them, which can be useful if you want to
-include all possible expansions for each base word.
+ By default Aspell will remove redundant affix flags. The ‘keep’ flag
+will avoid removing them, which can be useful if you want to include all
+possible expansions for each base word.
When cross products are involved it may be beneficial to list a base
word more than once. Unfortunately, the current version of Aspell can
not correctly handle multiple base words in a dictionary. Therefore,
the current default behavior is to only include the one with the most
-expansions. All of them can be included via the `multi' flag. Once
+expansions. All of them can be included via the ‘multi’ flag. Once
Aspell is able to handle multiple base words the default will be to
-include them all. The `single' flag can be used to only include one of
+include them all. The ‘single’ flag can be used to only include one of
them.
- The `simple' flag will select an alternate faster algorithm. This
-algorithm is very similar to the `munch' command distributed with
-MySpell (the Open Office spell checker), however, it doesn't give
-nearly as good results. It does okay for the English word list but not
-for some other languages such as German; the normal algorithm reduced a
-list of 312,002 German words to 79,420 base words while the simple
-algorithm only reduced it to 115,927 words. This algorithm may
-disappear in a future version of Aspell.
+ The ‘simple’ flag will select an alternate faster algorithm. This
+algorithm is very similar to the ‘munch’ command distributed with
+MySpell (the Open Office spell checker), however, it doesn’t give nearly
+as good results. It does okay for the English word list but not for
+some other languages such as German; the normal algorithm reduced a list
+of 312,002 German words to 79,420 base words while the simple algorithm
+only reduced it to 115,927 words. This algorithm may disappear in a
+future version of Aspell.
\1f
File: aspell.info, Node: Format of the Personal and Replacement Dictionaries, Next: Using Multi Dictionaries, Prev: Working With Affix Info in Word Lists, Up: Working With Dictionaries
.aspell.LANG.pws
-And the file itself contains two parts. The first part is a header
-line of the form:
+And the file itself contains two parts. The first part is a header line
+of the form:
personal_ws-1.1 LANG NUM [ENCODING]
where NUM is the number of words in the list. This number is only used
as a hint, and thus does not have to be accurate. When creating a new
dictionary it is perfectly acceptable for NUM to be 0. The ENCODING is
-optional and specifies the encoding of the word list. If it is left
-out the encoding is expected to be in the default encoding for the
-language as specified by the `data-encoding' option. *Note
-data-encoding::.
+optional and specifies the encoding of the word list. If it is left out
+the encoding is expected to be in the default encoding for the language
+as specified by the ‘data-encoding’ option. *Note data-encoding::.
The second part of simply a word list with one word per line.
.aspell.LANG.prepl
-And the file itself contains two parts. The first part is a header
-line of the form:
+And the file itself contains two parts. The first part is a header line
+of the form:
personal_repl-1.1 LANG NUM [ENCODING]
============================
As with previous versions of Aspell you can specify the main dictionary
-to use via the `-d' or `--master' option. However as of Aspell .32 you
+to use via the ‘-d’ or ‘--master’ option. However as of Aspell .32 you
can now also:
- 1. Specify more than word list to use with the `extra-dicts' option.
+ 1. Specify more than word list to use with the ‘extra-dicts’ option.
2. Specify special _multi_ dictionaries.
- The `extra-dicts' is a list option. To add a dictionary use
-`add-extra-dicts' or to remove a dictionary from the list use
-`rem-extra-dicts'.
+ The ‘extra-dicts’ is a list option. To add a dictionary use
+‘add-extra-dicts’ or to remove a dictionary from the list use
+‘rem-extra-dicts’.
A _multi_ dictionary is a special file which is basically a list of
-dictionary files to use. A _multi_ dictionary must end in `.multi' and
+dictionary files to use. A _multi_ dictionary must end in ‘.multi’ and
has roughly the same format as a configuration file with the only
-accepted key being `add'.
+accepted key being ‘add’.
\1f
File: aspell.info, Node: Dictionary Naming, Next: AWLI files, Prev: Using Multi Dictionaries, Up: Working With Dictionaries
5.9 Dictionary Naming
=====================
-In order for Aspell to be able to correctly recognize a dictionary
-based on the setting of the `LANG' environment variable the
-dictionaries need to be located somewhere Aspell can find them and they
-need to be _multi_ dictionaries. Where Aspell looks for dictionaries
-depends on the value of the `dict-dir' and `word-list-path' option.
+In order for Aspell to be able to correctly recognize a dictionary based
+on the setting of the ‘LANG’ environment variable the dictionaries need
+to be located somewhere Aspell can find them and they need to be _multi_
+dictionaries. Where Aspell looks for dictionaries depends on the value
+of the ‘dict-dir’ and ‘word-list-path’ option.
- `dict-dir' is generally `PREFIX/lib/aspell', and `word-list-path' is
+ ‘dict-dir’ is generally ‘PREFIX/lib/aspell’, and ‘word-list-path’ is
generally empty.
Each dictionary that you expect Aspell to be able to find needs to
LANGUAGE[_REGION][-VARIETY][-SIZE].multi
-where LANGUAGE is the two letter language code, REGION is the two
-letter region code, VARIETY is any extra information to distinguish the
-word list from other ones with the same language and spelling.
-Multiple varieties can be used by separating them with a '-'. Finally,
-SIZE is the size of the dictionary. If no size is specified then the
-default size of 60 will be assumed.
+where LANGUAGE is the two letter language code, REGION is the two letter
+region code, VARIETY is any extra information to distinguish the word
+list from other ones with the same language and spelling. Multiple
+varieties can be used by separating them with a ’-’. Finally, SIZE is
+the size of the dictionary. If no size is specified then the default
+size of 60 will be assumed.
For example:
===============
In order for Aspell to find dictionaries that are located in odd places
-or not named according to *Note Dictionary Naming::, an AWLI file needs
+or not named according to *note Dictionary Naming::, an AWLI file needs
to be created for the dictionary and located in some place where Aspell
can find it.
LANGUAGE[REGION][-VARIETY][-SIZE]-MODULE.awli
-where the names have the same meaning as in *Note Dictionary Naming::,
+where the names have the same meaning as in *note Dictionary Naming::,
and MODULE is the speller module to use, which should be set to DEFAULT
for now since there is only one speller module.
- Each `awli' file for an Aspell word list should then contain exactly
+ Each ‘awli’ file for an Aspell word list should then contain exactly
one line which contains the full path of the main word list.
\1f
* Menu:
-* Through the C API::
-* Through A Pipe::
-* Notes on Storing Replacement Pairs::
+* Through the C API::
+* Through A Pipe::
+* Notes on Storing Replacement Pairs::
\1f
File: aspell.info, Node: Through the C API, Next: Through A Pipe, Up: Writing programs to use Aspell
6.1 Through the C API
=====================
-The Aspell library contains two main classes and several helper
-classes. The two main classes are `AspellConfig' and `AspellSpeller'.
-The `AspellConfig' class is used to set initial defaults and to change
-spell checker specific options. The `AspellSpeller' class does most of
-the real work. The `C API' is responsible for managing the
-dictionaries, checking if a word is in the dictionary, and coming up
-with suggestions among other things. There are many helper classes the
-important ones are `AspellWordList', `AspellMutableWordList',
-`Aspell*Enumeration'. The `AspellWordList' classes is used for
-accessing the suggestion list, as well as the personal and suggestion
-word list currently in use. The `AspellMutableWordList' is used to
-manage the personal, and perhaps other, word lists. The
-`Aspell*Enumeration' classes are used for iterating through a list.
+The Aspell library contains two main classes and several helper classes.
+The two main classes are ‘AspellConfig’ and ‘AspellSpeller’. The
+‘AspellConfig’ class is used to set initial defaults and to change spell
+checker specific options. The ‘AspellSpeller’ class does most of the
+real work. The ‘C API’ is responsible for managing the dictionaries,
+checking if a word is in the dictionary, and coming up with suggestions
+among other things. There are many helper classes the important ones
+are ‘AspellWordList’, ‘AspellMutableWordList’, ‘Aspell*Enumeration’.
+The ‘AspellWordList’ classes is used for accessing the suggestion list,
+as well as the personal and suggestion word list currently in use. The
+‘AspellMutableWordList’ is used to manage the personal, and perhaps
+other, word lists. The ‘Aspell*Enumeration’ classes are used for
+iterating through a list.
6.1.1 Usage
-----------
-To use Aspell your application should include `aspell.h'. In order to
+To use Aspell your application should include ‘aspell.h’. In order to
ensure that all the necessary libraries are linked in libtool should be
used to perform the linking. When using libtool simply linking with
-`-laspell' should be all that is necessary. When using shared
-libraries you might be able to simply link `-laspell', but this is not
+‘-laspell’ should be all that is necessary. When using shared libraries
+you might be able to simply link ‘-laspell’, but this is not
recommended. This version of Aspell uses the CVS version of libtool
however released versions of libtool should also work.
AspellConfig * spell_config = new_aspell_config();
-which will create a new `AspellConfig' class. It is allocated with
-`new' and it is your responsibility to delete it with
-`delete_aspell_config'. Once you have the config class you should set
-some variables. The most important one is the language variable. To
-do so use the command:
+which will create a new ‘AspellConfig’ class. It is allocated with
+‘new’ and it is your responsibility to delete it with
+‘delete_aspell_config’. Once you have the config class you should set
+some variables. The most important one is the language variable. To do
+so use the command:
aspell_config_replace(spell_config, "lang", "en_US");
which will set the default language to use to American English. The
language is expected to be the standard two letter ISO 639 language
code, with an optional two letter ISO 3166 country code after an
-underscore. You can set the preferred size via the `size' option, any
-extra info via the `variety' option, and the encoding via the
-`encoding' option. Other things you might want to set is the preferred
-spell checker to use, the search path for dictionaries, and the like --
-see *Note The Options::, for a list of all available options.
+underscore. You can set the preferred size via the ‘size’ option, any
+extra info via the ‘variety’ option, and the encoding via the ‘encoding’
+option. Other things you might want to set is the preferred spell
+checker to use, the search path for dictionaries, and the like — see
+*note The Options::, for a list of all available options.
- Whenever a new document is created a new `AspellSpeller' class
-should also be created. There should be one speller class per
-document. To create a new speller class use the `new_aspell_speller'
-and then cast it up using `to_aspell_speller' like so:
+ Whenever a new document is created a new ‘AspellSpeller’ class should
+also be created. There should be one speller class per document. To
+create a new speller class use the ‘new_aspell_speller’ and then cast it
+up using ‘to_aspell_speller’ like so:
AspellCanHaveError * possible_err = new_aspell_speller(spell_config);
AspellSpeller * spell_checker = 0;
else
spell_checker = to_aspell_speller(possible_err);
-which will create a new `AspellSpeller' class using the defaults found
-in `spell_config'. To find out which dictionary is selected the
-`lang', `size', and `variety' options may be examined. To find out the
-exact name of the dictionary the `master' option may be examined as
-well as the `master-flags' options to see if there were any special
-flags that were passed on to the module. The `module' option way also
-be examined to figure out which speller module was selected, but since
-there is only one this option will always be the same.
+which will create a new ‘AspellSpeller’ class using the defaults found
+in ‘spell_config’. To find out which dictionary is selected the ‘lang’,
+‘size’, and ‘variety’ options may be examined. To find out the exact
+name of the dictionary the ‘master’ option may be examined as well as
+the ‘master-flags’ options to see if there were any special flags that
+were passed on to the module. The ‘module’ option way also be examined
+to figure out which speller module was selected, but since there is only
+one this option will always be the same.
If for some reason you want to use different defaults simply clone
-`spell_config' and change the setting like so:
+‘spell_config’ and change the setting like so:
AspellConfig * spell_config2 = aspell_config_clone(spell_config);
aspell_config_replace(spell_config2, "lang","nl");
possible_err = new_aspell_speller(spell_config2);
delete_aspell_config(spell_config2);
- Once the speller class is created you can use the `check' method to
+ Once the speller class is created you can use the ‘check’ method to
see if a word in the document is correct like so:
int correct = aspell_speller_check(spell_checker, WORD, SIZE);
-WORD is expected to be a `const char *' character string. If the
-encoding is set to be `ucs-2' or `ucs-4' WORD is expected to be a cast
-from either `const u16int *' or `const u32int *' respectively.
-`u16int' and `u32int' are generally `unsigned short' and `unsigned int'
-respectively. SIZE is the length of the string or `-1' if the string
-is null terminated. If the string is a cast from `const u16int *' or
-`const u32int *' then `size' is the amount of space in bytes the string
-takes up after being cast to `const char *' and not the true size of
-the string. `sspell_speller_check' will return `0' if it is not found
-and non-zero otherwise.
-
- If the word is not correct, then the `suggest' method can be used to
+WORD is expected to be a ‘const char *’ character string. If the
+encoding is set to be ‘ucs-2’ or ‘ucs-4’ WORD is expected to be a cast
+from either ‘const u16int *’ or ‘const u32int *’ respectively. ‘u16int’
+and ‘u32int’ are generally ‘unsigned short’ and ‘unsigned int’
+respectively. SIZE is the length of the string or ‘-1’ if the string is
+null terminated. If the string is a cast from ‘const u16int *’ or
+‘const u32int *’ then ‘size’ is the amount of space in bytes the string
+takes up after being cast to ‘const char *’ and not the true size of the
+string. ‘sspell_speller_check’ will return ‘0’ if it is not found and
+non-zero otherwise.
+
+ If the word is not correct, then the ‘suggest’ method can be used to
come up with likely replacements.
AspellWordList * suggestions = aspell_speller_suggest(spell_checker,
}
delete_aspell_string_enumeration(elements);
- Notice how `elements' is deleted but `suggestions' is not. The
-value returned by `suggestions' is only valid to the next call to
-`suggest'. Once a replacement is made the `store_repl' method should
-be used to communicate the replacement pair back to the spell checker
-(for the reason, *note Notes on Storing Replacement Pairs::). Its
-usage is as follows:
+ Notice how ‘elements’ is deleted but ‘suggestions’ is not. The value
+returned by ‘suggestions’ is only valid to the next call to ‘suggest’.
+Once a replacement is made the ‘store_repl’ method should be used to
+communicate the replacement pair back to the spell checker (for the
+reason, *note Notes on Storing Replacement Pairs::). Its usage is as
+follows:
aspell_speller_store_repl(spell_checker, MISSPELLED_WORD, SIZE,
CORRECTLY_SPELLED_WORD, SIZE);
If the user decided to add the word to the session or personal
-dictionary the the word can be be added using the `add_to_session' or
-`add_to_personal' methods respectively like so:
+dictionary the the word can be be added using the ‘add_to_session’ or
+‘add_to_personal’ methods respectively like so:
aspell_speller_add_to_session|personal(spell_checker, word, size);
doing it yourself so that the words have a chance of appearing in the
suggestion list.
- Finally, when the document is closed the `AspellSpeller' class
-should be deleted like so:
+ Finally, when the document is closed the ‘AspellSpeller’ class should
+be deleted like so:
delete_aspell_speller(spell_checker);
6.1.2 API Reference
-------------------
-Methods that return a boolean result generally return `false' on error
-and `true' otherwise. To find out what went wrong use the
-`error_number' and `error_message' methods. Unless otherwise stated
-methods that return a `const char *' will return `NULL' on error. In
+Methods that return a boolean result generally return ‘false’ on error
+and ‘true’ otherwise. To find out what went wrong use the
+‘error_number’ and ‘error_message’ methods. Unless otherwise stated
+methods that return a ‘const char *’ will return ‘NULL’ on error. In
general, the character string returned is only valid until the next
-method which returns a `const char *' is called.
+method which returns a ‘const char *’ is called.
For the details of the various classes please see the header files.
In the future I will generate class references using some automated
--------------
Two simple examples are included in the examples directory. The
-`example-c' program demonstrates most of the Aspell library
-functionality and the `list-dicts' lists the available dictionaries.
+‘example-c’ program demonstrates most of the Aspell library
+functionality and the ‘list-dicts’ lists the available dictionaries.
6.1.4 Notes About Thread Safety
-------------------------------
underlying compiler, C and C++ library is thread safe. Aspell objects,
including the AspellSpeller class, should not be used by multiple
threads unless they are protected by locks or it is only accessed by
-read-only methods. A method is read-only only if a `const' object is
+read-only methods. A method is read-only only if a ‘const’ object is
passed in. Many methods that seam to be read-only are not because they
may store state information in the object.
6.2 Through A Pipe
==================
-When given the `pipe' or `-a' command, Aspell goes into a pipe mode
-that is compatible with `ispell -a'. Aspell also defines its own set
-of extensions to Ispell pipe mode.
+When given the ‘pipe’ or ‘-a’ command, Aspell goes into a pipe mode that
+is compatible with ‘ispell -a’. Aspell also defines its own set of
+extensions to Ispell pipe mode.
6.2.1 Format of the Data Stream
-------------------------------
and then begins reading lines of input. For each input line, a single
line is written to the standard output for each word checked for
spelling on the line. If the word was found in the main dictionary, or
-your personal dictionary, then the line contains only a `*'.
+your personal dictionary, then the line contains only a ‘*’.
If the word is not in the dictionary, but there are suggestions, then
-the line contains an `&', a space, the misspelled word, a space, the
-number of near misses, the number of characters between the beginning
-of the line and the beginning of the misspelled word, a colon, another
+the line contains an ‘&’, a space, the misspelled word, a space, the
+number of near misses, the number of characters between the beginning of
+the line and the beginning of the misspelled word, a colon, another
space, and a list of the suggestions separated by commas and spaces.
- If you set the option `run-together' and Aspell thinks this word is
-a combination of two words in the dictionary, then it prints a single
-`-' in one line.
+ If you set the option ‘run-together’ and Aspell thinks this word is a
+combination of two words in the dictionary, then it prints a single ‘-’
+in one line.
Finally, if the word does not appear in the dictionary, and there are
-no suggestions, then the line contains a `#', a space, the misspelled
+no suggestions, then the line contains a ‘#’, a space, the misspelled
word, a space, and the character offset from the beginning of the line.
-Each sentence of text input is terminated with an additional blank
-line, indicating that Aspell has completed processing the input line.
+Each sentence of text input is terminated with an additional blank line,
+indicating that Aspell has completed processing the input line.
These output lines can be summarized as follows:
*OK*: *
- *Suggestions*: & original count offset: miss, miss, ...
+ *Suggestions*: & original count offset: miss, miss, …
*None*: # original offset
- When in the `-a' mode, Aspell will also accept lines of single words
-prefixed with any of `*', `&', `@', `+', `-', `~', `#', `!', `%', or
-`^'. A line starting with `*' tells Aspell to insert the word into the
-user's dictionary. A line starting with `&' tells Aspell to insert an
-all-lowercase version of the word into the user's dictionary. A line
-starting with `@' causes Aspell to accept this word in the future. A
-line starting with `+', followed immediately by a valid mode will cause
+ When in the ‘-a’ mode, Aspell will also accept lines of single words
+prefixed with any of ‘*’, ‘&’, ‘@’, ‘+’, ‘-’, ‘~’, ‘#’, ‘!’, ‘%’, or
+‘^’. A line starting with ‘*’ tells Aspell to insert the word into the
+user’s dictionary. A line starting with ‘&’ tells Aspell to insert an
+all-lowercase version of the word into the user’s dictionary. A line
+starting with ‘@’ causes Aspell to accept this word in the future. A
+line starting with ‘+’, followed immediately by a valid mode will cause
Aspell to parse future input according the syntax of that formatter. A
-line consisting solely of a `+' will place Aspell in TeX/LaTeX mode
-(similar to the `-t' option) and `-' returns Aspell to its default mode
+line consisting solely of a ‘+’ will place Aspell in TeX/LaTeX mode
+(similar to the ‘-t’ option) and ‘-’ returns Aspell to its default mode
(which is Nroff unless otherwise specified). (but these commands are
-obsolete). A line `~', is ignored for Ispell compatibility. A line
-prefixed with `#' will cause the personal dictionaries to be saved. A
-line prefixed with `!' will turn on terse mode (see below), and a line
-prefixed with `%' will return Aspell to normal (non-terse) mode. Any
-input following the prefix characters `+', `-', `#', `!', `~', or `%'
-is ignored, as is any input following. To allow spell-checking of
-lines beginning with these characters, a line starting with `^' has
-that character removed before it is passed to the spell-checking code.
-It is recommended that programmatic interfaces prefix every data line
-with an uparrow to protect themselves against future changes in Aspell.
+obsolete). A line ‘~’, is ignored for Ispell compatibility. A line
+prefixed with ‘#’ will cause the personal dictionaries to be saved. A
+line prefixed with ‘!’ will turn on terse mode (see below), and a line
+prefixed with ‘%’ will return Aspell to normal (non-terse) mode. Any
+input following the prefix characters ‘+’, ‘-’, ‘#’, ‘!’, ‘~’, or ‘%’ is
+ignored, as is any input following. To allow spell-checking of lines
+beginning with these characters, a line starting with ‘^’ has that
+character removed before it is passed to the spell-checking code. It is
+recommended that programmatic interfaces prefix every data line with an
+uparrow to protect themselves against future changes in Aspell.
To summarize these:
-`*WORD' Add a word to the personal dictionary
-`&WORD' Insert the all-lowercase version of the word in the personal
+‘*WORD’ Add a word to the personal dictionary
+‘&WORD’ Insert the all-lowercase version of the word in the personal
dictionary
-`@WORD' Accept the word, but leave it out of the dictionary
-`#' Save the current personal dictionary
-`~' Ignored for Ispell compatibility.
-`+' Enter TeX mode.
-`+MODE' Enter the mode specified by MODE.
-`-' Enter the default mode.
-`!' Enter terse mode
-`%' Exit terse mode
-`^' Spell-check the rest of the line
-
- In terse mode, Aspell will not print lines beginning with `*', which
+‘@WORD’ Accept the word, but leave it out of the dictionary
+‘#’ Save the current personal dictionary
+‘~’ Ignored for Ispell compatibility.
+‘+’ Enter TeX mode.
+‘+MODE’ Enter the mode specified by MODE.
+‘-’ Enter the default mode.
+‘!’ Enter terse mode
+‘%’ Exit terse mode
+‘^’ Spell-check the rest of the line
+
+ In terse mode, Aspell will not print lines beginning with ‘*’, which
indicate correct words. This significantly improves running speed when
the driving program is going to ignore correct words anyway.
Where DATA may or may not be required depending on the particular
command. Aspell currently supports the following commands:
-`cs OPTION,VALUE' Change a configuration option.
-`cr OPTION' Prints the value of a configuration option.
-`pp' Returns a list of all words in the current
+‘cs OPTION,VALUE’ Change a configuration option.
+‘cr OPTION’ Prints the value of a configuration option.
+‘pp’ Returns a list of all words in the current
personal wordlist.
-`ps' Returns a list of all words in the current
+‘ps’ Returns a list of all words in the current
session dictionary.
-`l' Returns the current language name.
-`ra MIS,COR' Add the word pair to the replacement
- dictionary for later use. Returns nothing.
+‘l’ Returns the current language name.
+‘ra MIS,COR’ Add the word pair to the replacement
+ dictionary for later use. Returns nothing.
Anything returned is returned on its own line. All lists returned
have the following format
num of items: item1, item2, etc
- _(Part of the preceding section was directly copied out of the
-Ispell manual)_
+ _(Part of the preceding section was directly copied out of the Ispell
+manual)_
\1f
File: aspell.info, Node: Notes on Storing Replacement Pairs, Prev: Through A Pipe, Up: Writing programs to use Aspell
6.3 Notes on Storing Replacement Pairs
======================================
-The `store_repl' method and the `$$ra' should be used because Aspell is
+The ‘store_repl’ method and the ‘$$ra’ should be used because Aspell is
able to learn from users misspellings. For example on the first pass a
user misspells _beginning_ as _beging_ so Aspell suggests:
- begging, begin, being, Beijing, bagging, ....
+ begging, begin, being, Beijing, bagging, ….
However the user then tries _begning_ and Aspell suggests
- beginning, beaning, begging, ...
+ beginning, beaning, begging, …
so the user selects _beginning_. However, later on in the document the
user misspells it as _begng_ (*not* _beging_). Normally Aspell will
suggest.
- began, begging, begin, begun, ...
+ began, begging, begin, begun, …
However because it knows the user misspelled _beginning_ as _beging_ it
will instead suggest:
- beginning, began, begging, begin, begun ...
+ beginning, began, begging, begin, begun …
I myself often misspelled beginning (and still do) as something close
-to begging and too many times wind up writing sentences such as
-"begging with ...".
+to begging and too many times wind up writing sentences such as "begging
+with …".
Please also note that replacements commands have a memory. Which
means if you first store the replacement pair:
sicolagest -> psychologist
-will also get stored so that you don't have to worry about it.
+will also get stored so that you don’t have to worry about it.
\1f
File: aspell.info, Node: Adding Support For Other Languages, Next: Implementation Notes, Prev: Writing programs to use Aspell, Up: Top
************************************
Before you consider adding support for Aspell, first make sure that
-someone else has not already done it. A good number of dictionaries
-off the Aspell home page at `http://aspell.net'. If your language is
-not listed above feel free to send mail to aspell-dict at gnu org for
-help in getting started.
+someone else has not already done it. A good number of dictionaries off
+the Aspell home page at <http://aspell.net>. If your language is not
+listed above feel free to send mail to aspell-dict at gnu org for help
+in getting started.
Adding a language to Aspell is fairly straightforward. You basically
need to create the language data file, and compile a new word list.
* Menu:
-* The Language Data File::
-* Compiling the Word List::
-* Phonetic Code::
-* The Simple Soundslike::
-* Replacement Tables::
-* Affix Compression::
-* Controlling the Behavior of Run-together Words::
-* Creating A New Character Set::
-* Creating An Official Dictionary Package::
+* The Language Data File::
+* Compiling the Word List::
+* Phonetic Code::
+* The Simple Soundslike::
+* Replacement Tables::
+* Affix Compression::
+* Controlling the Behavior of Run-together Words::
+* Creating A New Character Set::
+* Creating An Official Dictionary Package::
\1f
File: aspell.info, Node: The Language Data File, Next: Compiling the Word List, Up: Adding Support For Other Languages
==========================
The basic format of the language data file is the same as it is for the
-Aspell configuration file. It is named `LANG.dat' and is located in
-the architecture independent data dir for Aspell (option `data-dir')
-which is usually `PREFIX/share/aspell'. Use `aspell config' to find
-out where it is in your installation. By convention the language name
-should be the two letter ISO 639 language code if it exists, if not use
-the three letter code.
+Aspell configuration file. It is named ‘LANG.dat’ and is located in the
+architecture independent data dir for Aspell (option ‘data-dir’) which
+is usually ‘PREFIX/share/aspell’. Use ‘aspell config’ to find out where
+it is in your installation. By convention the language name should be
+the two letter ISO 639 language code if it exists, if not use the three
+letter code.
The language data file has several mandatory fields, and several
-optional ones. All fields are case sensitive and should be in all
-lower case.
+optional ones. All fields are case sensitive and should be in all lower
+case.
- The two mandatory fields are `name' and `charset'.
+ The two mandatory fields are ‘name’ and ‘charset’.
- `name' is the name of the language and should be the same as the
-file name (without the `.dat').
+ ‘name’ is the name of the language and should be the same as the file
+name (without the ‘.dat’).
- `charset' is the 8-bit character set Aspell will expect the word
+ ‘charset’ is the 8-bit character set Aspell will expect the word
lists to be formatted in. If possible choose from one of the standard
-ones provided with Aspell. These are `iso-8859-*', `koi8-*', or
-`viscii'. If your language does not require any non-ascii characters
-choose `iso-8859-1'. If one of these standard character sets is not
+ones provided with Aspell. These are ‘iso-8859-*’, ‘koi8-*’, or
+‘viscii’. If your language does not require any non-ascii characters
+choose ‘iso-8859-1’. If one of these standard character sets is not
suitable for your language then you can create a new one. *Note
Creating A New Character Set::.
The optional fields are as follows:
-`data-encoding'
+‘data-encoding’
+
The encoding the language data files are expected to be in as well
as the default encoding to use when saving the personal
- dictionaries. It can be either `utf-8' or any of the 8-bit
+ dictionaries. It can be either ‘utf-8’ or any of the 8-bit
encoding that Aspell supports. If not set, then it defaults to
- `charset'.
+ ‘charset’.
+
+‘special’
-`special'
Non-letter characters that can appear in your language such as the
- `'' and `-'. The format for the value is a list separated by
+ ‘'’ and ‘-’. The format for the value is a list separated by
spaces. Each item of the list has the following format.
<char> <begin><middle><end>
CHAR is the non-letter character in question. BEGIN, MIDDLE, END
- are either a `-' or a `*'. A star for BEGIN means that the
- character can begin a word, a `-' means it can't. The same is
- true for MIDDLE and END. For example, the entry for the `'' in
- English is:
+ are either a ‘-’ or a ‘*’. A star for BEGIN means that the
+ character can begin a word, a ‘-’ means it can’t. The same is true
+ for MIDDLE and END. For example, the entry for the ‘'’ in English
+ is:
' -*-
To include more than one middle character just list them one after
- another on the same line. For example, to make both the `'' and
- the `-' a middle character, use the following line in the language
+ another on the same line. For example, to make both the ‘'’ and
+ the ‘-’ a middle character, use the following line in the language
data file:
special ' -*- - -*-
However, please be aware that adding special characters can have
unintended consequences due to limitations of Aspell. For example
- if the `-' was accepted as a middle character, then _every_ word
- with a `-' in it would be flagged as a spelling error unless that
+ if the ‘-’ was accepted as a middle character, then _every_ word
+ with a ‘-’ in it would be flagged as a spelling error unless that
exact word is in the dictionary, even if both parts are in the
- dictionary. Also, having a `.' as an end character will cause the
- `.' to be part of any misspelled words. Which can get very
+ dictionary. Also, having a ‘.’ as an end character will cause the
+ ‘.’ to be part of any misspelled words. Which can get very
annoying if you misspell a word at the end of a sentence.
-`soundslike'
+‘soundslike’
+
The name of the soundslike data for the language. The data is
- expected to be in the file `NAME_phonet.dat'.
+ expected to be in the file ‘NAME_phonet.dat’.
- If NAME is `simpile' then a very simple soundslike is used. This
+ If NAME is ‘simpile’ then a very simple soundslike is used. This
is not as powerful as full phonetic soundslike but it can be
computed a lot faster. (*note The Simple Soundslike::)
- If the soundslike name is `none', or this option is not specified,
+ If the soundslike name is ‘none’, or this option is not specified,
then no soundslike will be used. The effective soundslike is the
word converted to all lowercase and possibly with accents stripped
- depending on the `store-as' option. For languages with phonetic
+ depending on the ‘store-as’ option. For languages with phonetic
spelling the difference will not be very noticeable. However, for
languages with non-phonetic spelling there will be a noticeable
difference. The difference you notice will depend on the quality
of the soundslike data file. If you do not notice much of a
difference for a language with non-phonetic spelling that is a good
- indication that the soundslike data is not rough enough--or the
+ indication that the soundslike data is not rough enough—or the
words you are trying are not that badly misspelled.
-`invisible-soundslike'
- Avoid storing the soundslike information with the word. Instead
- it is computed as needed. This option defaults to true if the
- soundslike is `none' or `simpile', and false when a phonetic
+‘invisible-soundslike’
+
+ Avoid storing the soundslike information with the word. Instead it
+ is computed as needed. This option defaults to true if the
+ soundslike is ‘none’ or ‘simpile’, and false when a phonetic
soundslike is used.
-`repl-table'
+‘repl-table’
+
*Note Replacement Tables::.
-`keyboard'
+‘keyboard’
+
The base name of the keyboard definition file to use. For more
- information see *Note Notes on Typo-Analysis::.
+ information see *note Notes on Typo-Analysis::.
+
+‘sug-split-char’
-`sug-split-char'
A list of characters which specifies which characters to insert
between two words when a word is split. This is a list option.
-`affix'
-`affix-compress'
-`partially-expand'
+‘affix’
+‘affix-compress’
+‘partially-expand’
+
*Note Affix Compression::.
-`store-as'
+‘store-as’
+
How the words are indexed in the dictionary. If "stripped" then
the word is indexed in a lower case and de-accented form. If
"lower", then the word is indexed in a lower case form but with
indexed, not how it is stored. The default is "stripped" unless
affix compression is used.
-`norm-required'
+‘norm-required’
+
Should be set to true if your language makes use of private use
characters or when Normalization Form C is not the same as full
composition.
-`normalize'
+‘normalize’
-`norm-form'
+‘norm-form’
Additional options includes options to control how run-together words
are handled the same way as they are in the normal configuration files.
-for more information, please *Note Controlling the Behavior of
+for more information, please *note Controlling the Behavior of
Run-together Words::.
\1f
Once you have a working language data file installed in the right place
you are ready to compile the main word list. To find out what to do,
-see *Note Working With Dictionaries::. This section also includes
+see *note Working With Dictionaries::. This section also includes
instructions for creating the AWLI file.
\1f
=================
Aspell is in fact the spell checker that comes up with the best
-suggestions if it finds an unknown word. One reason is that it does
-not just compare the word with other words in the dictionary (like
-Ispell does) but also uses phonetic comparisons with other words.
+suggestions if it finds an unknown word. One reason is that it does not
+just compare the word with other words in the dictionary (like Ispell
+does) but also uses phonetic comparisons with other words.
The new table driven phonetic code is very flexible and setting up
phonetic transformation rules for other languages is not difficult but
-there can be a number of stumbling blocks -- that's why I wrote this
+there can be a number of stumbling blocks — that’s why I wrote this
section.
The main phonetic code is free of any language specific code and
should be powerful enough to allow setting up rules for any language.
-Anything which is language specific is kept in a plain text file and
-can easily be edited. So it's even possible to write phonetic
-transformation rules if you don't have any programming skills. All you
+Anything which is language specific is kept in a plain text file and can
+easily be edited. So it’s even possible to write phonetic
+transformation rules if you don’t have any programming skills. All you
need to know is how words of the language are written and how they are
pronounced.
is also required to appear somewhere in the translation array. The
version string can be anything but it should be changed whenever a new
-version of the translation array is released. This is important
-because it will keep Aspell from using a compiled dictionary with the
-wrong set of rules. For example, if when coming up with suggestion for
-`hallo', Aspell will use the new rules to come up with the soundslike
-say `H*L*', but if `hello' is stored in the dictionary using the old
-rules as `HL' instead of `H*L*' Aspell will never be able to come up
-with `hello'. So to solve this problem Aspell checks if the version
-strings match and aborts with an error if they don't. Thus it is
-important to update it whenever a new version of the translation array
-is released. This is only a problem with the main word list as the
-personal word lists are now stored as simple word lists with a single
-header line (i.e. no soundslike data).
+version of the translation array is released. This is important because
+it will keep Aspell from using a compiled dictionary with the wrong set
+of rules. For example, if when coming up with suggestion for ‘hallo’,
+Aspell will use the new rules to come up with the soundslike say ‘H*L*’,
+but if ‘hello’ is stored in the dictionary using the old rules as ‘HL’
+instead of ‘H*L*’ Aspell will never be able to come up with ‘hello’. So
+to solve this problem Aspell checks if the version strings match and
+aborts with an error if they don’t. Thus it is important to update it
+whenever a new version of the translation array is released. This is
+only a problem with the main word list as the personal word lists are
+now stored as simple word lists with a single header line (i.e. no
+soundslike data).
Each non switch line represents one replacement (transformation)
rule. Words beginning with the same letter must be grouped together;
the order inside this group does not depend on alphabetical issues but
it gives priorities; the higher the rule the higher the priority.
-That's why the first rule that matches is applied. In the following
+That’s why the first rule that matches is applied. In the following
example:
GH _
G K
-`GH -> _' has higher priority than `G -> K'
+‘GH -> _’ has higher priority than ‘G -> K’
- `_' represents the empty string "". If `GH -> _' came after `G ->
-K', the second rule would never match because the algorithm would stop
+ ‘_’ represents the empty string “”. If ‘GH -> _’ came after ‘G ->
+K’, the second rule would never match because the algorithm would stop
searching for more rules after the first match. The above rules
-transform any `GH' to an empty string (delete them) and transforms any
-other `G' to `K'.
+transform any ‘GH’ to an empty string (delete them) and transforms any
+other ‘G’ to ‘K’.
At the end of the first string of a line (the search string) there
may optionally stand a number of characters in brackets. One (only
-one!) of these characters must fit. It's comparable with the `[ ]'
-brackets in regular expressions. The rule `DG(EIY) -> J' for example
-would match any `DGE', `DGI' and `DGY' and replace them with `J'. This
+one!) of these characters must fit. It’s comparable with the ‘[ ]’
+brackets in regular expressions. The rule ‘DG(EIY) -> J’ for example
+would match any ‘DGE’, ‘DGI’ and ‘DGY’ and replace them with ‘J’. This
way you can reduce several rules to one.
- Before the search string, one or more dashes `-' may be placed.
+ Before the search string, one or more dashes ‘-’ may be placed.
Those search strings will be matched totally but only the beginning of
the string will be replaced. Furthermore, for these rules no follow-up
rule will be searched (what this is will be explained later). The rule
-`TCH-- '-> _ will match any word containing `TCH' (like `match') but
-will only replace the first character `T' with an empty string. The
-number of dashes determines how many characters from the end will not
-be replaced. After the replacement, the search for transformation
-rules continues with the not replaced `CH'!
-
- If a `<' is appended to the search string, the search for
-replacement rules will continue with the replacement string and not with
-the next character of the word. The rule `PH< -> F' for example would
-replace `PH' with `F' and then again start to search for a replacement
-rule for `F...'. If there would also be rules like `FO '-> `O' and `F
--> _' then words like `PHOXYZ' would be transformed to `OXYZ' and any
-occurrences of `PH' that are not followed by an `O' will be deleted like
-`PHIXYZ -> IXYZ'. The second replacement however is not applied if the
-priority of this rule is lower than the priority of the first rule.
+‘TCH-- ’-> _ will match any word containing ‘TCH’ (like ‘match’) but
+will only replace the first character ‘T’ with an empty string. The
+number of dashes determines how many characters from the end will not be
+replaced. After the replacement, the search for transformation rules
+continues with the not replaced ‘CH’!
+
+ If a ‘<’ is appended to the search string, the search for replacement
+rules will continue with the replacement string and not with the next
+character of the word. The rule ‘PH< -> F’ for example would replace
+‘PH’ with ‘F’ and then again start to search for a replacement rule for
+‘F…’. If there would also be rules like ‘FO ’-> ‘O’ and ‘F -> _’ then
+words like ‘PHOXYZ’ would be transformed to ‘OXYZ’ and any occurrences
+of ‘PH’ that are not followed by an ‘O’ will be deleted like ‘PHIXYZ ->
+IXYZ’. The second replacement however is not applied if the priority of
+this rule is lower than the priority of the first rule.
Priorities are added to a rule by putting a number between 0 and 9 at
-the end of the search string, for example `ING6 -> N'. The higher the
+the end of the search string, for example ‘ING6 -> N’. The higher the
number the higher is the priority.
Priorities are especially important for the previously mentioned
follow-up rules. Follow-up rules are searched beginning from the last
-string of the first search string. This is a bit complicated but I
-hope this example will make it clearer:
+string of the first search string. This is a bit complicated but I hope
+this example will make it clearer:
CHS X
CH G
SCH SH
- In this example `CHS' in the word `FUCHS' would be transformed to
-`X'. If we take the word `DURCHSCHNITT' then things look a bit
-different. Here `CH' belongs together and `SCH' belongs together and
+ In this example ‘CHS’ in the word ‘FUCHS’ would be transformed to
+‘X’. If we take the word ‘DURCHSCHNITT’ then things look a bit
+different. Here ‘CH’ belongs together and ‘SCH’ belongs together and
both are spoken separately. The algorithm however first finds the
-string `CHS' which may not be transformed like in the previous word
-`FUCHS'. At this point the algorithm can find a follow-up rule. It
-takes the last character of the first matching rule (`CHS') which is
-`S' and looks for the next match, beginning from this character. What
-it finds is clear: It finds `SCH -> SH', which has the same priority
-(no priority means standard priority, which is 5). If the priority is
-the same or higher the follow-up rule will be applied. Let's take a
-look at the word `SCHAUKEL'. In this word `SCH' belongs together and
-may not be taken apart. After the algorithm has found `SCH '-> `SH' it
-searches for a follow-up rule for `H+'`AUKEL'. It finds `HAU--1 -> H',
-but does not apply it because its priority is lower than the one of the
-first rule. You see that this is a very powerful feature but it also
-can easily lead to mistakes. If you really don't need this feature you
-can turn it off by putting the line:
+string ‘CHS’ which may not be transformed like in the previous word
+‘FUCHS’. At this point the algorithm can find a follow-up rule. It
+takes the last character of the first matching rule (‘CHS’) which is ‘S’
+and looks for the next match, beginning from this character. What it
+finds is clear: It finds ‘SCH -> SH’, which has the same priority (no
+priority means standard priority, which is 5). If the priority is the
+same or higher the follow-up rule will be applied. Let’s take a look at
+the word ‘SCHAUKEL’. In this word ‘SCH’ belongs together and may not be
+taken apart. After the algorithm has found ‘SCH ’-> ‘SH’ it searches
+for a follow-up rule for ‘H+’‘AUKEL’. It finds ‘HAU--1 -> H’, but does
+not apply it because its priority is lower than the one of the first
+rule. You see that this is a very powerful feature but it also can
+easily lead to mistakes. If you really don’t need this feature you can
+turn it off by putting the line:
followup 0
at the beginning of the phonetic table file. As mentioned, for rules
-containing a `-' no follow-up rules are searched but giving such rules
-a priority is not totally senseless because they can be follow-up rules
+containing a ‘-’ no follow-up rules are searched but giving such rules a
+priority is not totally senseless because they can be follow-up rules
and in that case the priority makes sense again. Follow-up rules of
-follow-up rules are not searched because this is in fact not needed
-very often.
+follow-up rules are not searched because this is in fact not needed very
+often.
- The control character `^' says that the search string only matches
-at the beginning of words so that the rule `RH -> R' will only apply to
-words like `RHESUS' but not `PERHAPS'. You can append another `^' to
+ The control character ‘^’ says that the search string only matches at
+the beginning of words so that the rule ‘RH -> R’ will only apply to
+words like ‘RHESUS’ but not ‘PERHAPS’. You can append another ‘^’ to
the search string. In that case the algorithm treats the rest of the
word totally separately from the first matched string at the beginning.
This is useful for prefixes whose pronunciation does not depend on the
-rest of the word and vice versa like `OVER^^' in English for example.
+rest of the word and vice versa like ‘OVER^^’ in English for example.
- The same way as `^' works does `$' only apply to words that end with
-the search string. `GN$ -> N' only matches on words like `SIGN' but
-not `SIGNUM'. If you use `^' and `$' together, both of them must fit
-`ENOUGH^$ -> NF' will only match the word `ENOUGH' and nothing else.
+ The same way as ‘^’ works does ‘$’ only apply to words that end with
+the search string. ‘GN$ -> N’ only matches on words like ‘SIGN’ but not
+‘SIGNUM’. If you use ‘^’ and ‘$’ together, both of them must fit
+‘ENOUGH^$ -> NF’ will only match the word ‘ENOUGH’ and nothing else.
Of course you can combine all of the mentioned control characters but
-they must occur in this order: `< - priority ^ $'. All characters must
+they must occur in this order: ‘< - priority ^ $’. All characters must
be written in CAPITAL letters.
- If absolutely no rule can be found -- might happen if you use strange
-characters for which you don't have any replacement rule -- the next
+ If absolutely no rule can be found — might happen if you use strange
+characters for which you don’t have any replacement rule — the next
character will simply be skipped and the search for replacement rules
will continue with the rest of the word.
If you want double letters to be reduced to one you must set up a
-rule like `LL- -> L'. If double letters in the resulting phonetic word
+rule like ‘LL- -> L’. If double letters in the resulting phonetic word
should be allowed, you must place the line:
collapse_result 0
at the beginning of your transformation table file; otherwise set the
-value to `1'. The English rules for example strip all vowels from
-words and so the word "GOGO" would be transformed to "K" and not to
-"KK" (as desired) if `collapse_result' is set to 1. That's why the
-English rules have `collapse_result' set to `0'.
+value to ‘1’. The English rules for example strip all vowels from words
+and so the word "GOGO" would be transformed to "K" and not to "KK" (as
+desired) if ‘collapse_result’ is set to 1. That’s why the English rules
+have ‘collapse_result’ set to ‘0’.
By default, all accents are removed from a word before it is matched
to the soundslike rules. If you do not want this then add the line
at the beginning of your file. The exact definition of an accent is
language dependent and is controlled via the character set file. If you
-set remove_accents to '0' then you should also set "store-as" to "lower"
+set remove_accents to ’0’ then you should also set "store-as" to "lower"
in the language data file (not the phonetic transformation file)
otherwise Aspell will have problems when both the accented and the
de-accented version of a word appearing in the dictionary; it will
First of all, you need to have a large word list of the language you
want to make phonetics for. It should contain about as many words as
-the dictionary of the spell checker. If you don't have such a list,
-you will probably find an Ispell dictionary at
-`http://fmg-www.cs.ucla.edu/geoff/ispell-dictionaries.html' which will
-help you. You can then make affix expansion via `ispell -e' and then
-pipe it through `tr " " "\n"' to put one word on each line. After that
-you eventually have to convert special characters like `é' from
-Ispell's internal representation to latin1 encoding. `sed s/e'/é/g'
-for example would replace all `e'' with `é'.
+the dictionary of the spell checker. If you don’t have such a list, you
+will probably find an Ispell dictionary at
+<http://fmg-www.cs.ucla.edu/geoff/ispell-dictionaries.html> which will
+help you. You can then make affix expansion via ‘ispell -e’ and then
+pipe it through ‘tr " " "\n"’ to put one word on each line. After that
+you eventually have to convert special characters like ‘é’ from Ispell’s
+internal representation to latin1 encoding. ‘sed s/e'/é/g’ for example
+would replace all ‘e'’ with ‘é’.
The second is that you know how to use regular expressions and know
-how to use `grep'. You should for example know that:
+how to use ‘grep’. You should for example know that:
grep ^[^aeiou]qu[io] wordlist | less
-will show you all words that begin with any character but `a', `e',
-`i', `o' or `u' and then continue with `qui' or `quo'. This stuff is
+will show you all words that begin with any character but ‘a’, ‘e’, ‘i’,
+‘o’ or ‘u’ and then continue with ‘qui’ or ‘quo’. This stuff is
important for example to find out if a phonetic replacement rule you
want to set up is valid for all words which match the expression you
want to replace. Taking a look at the regex(7) man page is a good idea.
........................................
Normal text comparison works well as long as the typer misspells a word
-because he pressed one key he didn't really want to press. In these
+because he pressed one key he didn’t really want to press. In these
cases, mostly one character differs from the original word.
- In cases where the writer didn't know about the correct spelling of
+ In cases where the writer didn’t know about the correct spelling of
the word, the word may have several characters that differ from the
original word but usually the word would still sound like the original.
-Someone might think that `tough' is spelled `taff'. No spell checker
-without phonetic code will come to the idea that this might be `tough',
-but a spell checker who knows that `taff' would be pronounced like
-`tough' will make good suggestions to the user. Another example could
-be `funetik' and `phonetic'.
+Someone might think that ‘tough’ is spelled ‘taff’. No spell checker
+without phonetic code will come to the idea that this might be ‘tough’,
+but a spell checker who knows that ‘taff’ would be pronounced like
+‘tough’ will make good suggestions to the user. Another example could
+be ‘funetik’ and ‘phonetic’.
From these examples you can see that the phonetic transformation
should not be too fussy and too precise. If you implement a whole
used letters to the only really necessary ones.
Characters that sound similar should be reduced to one. In the
-English language for example `Z' sounds like `S' and that's why the
-transformation rule `Z -> S' is present in the replacement table. "PH
-is spoken like "F and so we have a `PH -> F' rule.
+English language for example ‘Z’ sounds like ‘S’ and that’s why the
+transformation rule ‘Z -> S’ is present in the replacement table. “PH
+is spoken like “F and so we have a ‘PH -> F’ rule.
If you take a closer look you will even see that vowels sound very
-similar in the English language: `contradiction', `cuntradiction',
-`cantradiction' or `centradiction' in fact sound nearly the same, don't
-they? Therefore the English phonetic replacement rules not only reduce
+similar in the English language: ‘contradiction’, ‘cuntradiction’,
+‘cantradiction’ or ‘centradiction’ in fact sound nearly the same, don’t
+they? Therefore the English phonetic replacement rules not only reduce
all vowels to one but even remove them all (removing is done by just
setting up no rule for those letters). The phonetic code of
-"contradiction" is "KNTRTKXN" and if you try to read this
-letter-monster loud you will hear that it still sound a bit like
-`contradiction'. You also see that "D" is transformed to "T" because
-they nearly sound the same.
+“contradiction” is “KNTRTKXN” and if you try to read this letter-monster
+loud you will hear that it still sound a bit like ‘contradiction’. You
+also see that “D” is transformed to “T” because they nearly sound the
+same.
If you think you have found a regularity you should _always_ take
-your word list and `grep' for the corresponding regular expression you
+your word list and ‘grep’ for the corresponding regular expression you
want to make a transformation rule for. An example: If you come to the
-idea that all English words ending on `ough' sound like `AF' at the end
-because you think of `enough' and `tough'. If you then `grep' for the
-corresponding regular expression by `grep -i ough$ wordlist' you will
+idea that all English words ending on ‘ough’ sound like ‘AF’ at the end
+because you think of ‘enough’ and ‘tough’. If you then ‘grep’ for the
+corresponding regular expression by ‘grep -i ough$ wordlist’ you will
see that the rule you wanted to set up is not correct because the rule
-doesn't fit to words like `although' or `bough'. So you have to define
+doesn’t fit to words like ‘although’ or ‘bough’. So you have to define
your rule more precisely or you have to set up exceptions if the number
of words that differ from the desired rule is not too big.
- Don't forget about follow-up rules which can help in many cases but
-which also can lead to confusion and unwanted side effects. It's also
-important to write exceptions in front of the more general rules (`GH'
-before `G' etc.).
+ Don’t forget about follow-up rules which can help in many cases but
+which also can lead to confusion and unwanted side effects. It’s also
+important to write exceptions in front of the more general rules (‘GH’
+before ‘G’ etc.).
If you think you have set up a number of rules that may produce some
-good results try them out! If you run Aspell as `aspell
---lang=YOUR_LANGUAGE pipe' you get a prompt at which you can type in
+good results try them out! If you run Aspell as ‘aspell
+--lang=YOUR_LANGUAGE pipe’ you get a prompt at which you can type in
words. If you just type words Aspell checks them and eventually makes
-suggestions if they are misspelled. If you type in `$$Sw WORD' you
-will see the phonetic transformation and you can test out if your work
-does what you want.
+suggestions if they are misspelled. If you type in ‘$$Sw WORD’ you will
+see the phonetic transformation and you can test out if your work does
+what you want.
- Another good way to check that changes you make to your rules don't
+ Another good way to check that changes you make to your rules don’t
have any bad side effects is to create another list from your word list
which contains not only the word of the word list but also the
-corresponding phonetic version of this word on the same line. If you
-do this once before the change and once after the change you can make a
-diff (see `man diff') to see what _really_ changed. To do this use the
-command `aspell --lang=YOUR_LANGUAGE soundslike'. In this mode Aspell
-will output the the original word and then its soundslike separated by
-a tab character for each word you give it. If you are interested in
-seeing how the algorithm works you can download a set of useful
-programs from
-`http://members.xoom.com/maccy/spell/phonet-utils.tar.gz'. This
+corresponding phonetic version of this word on the same line. If you do
+this once before the change and once after the change you can make a
+diff (see ‘man diff’) to see what _really_ changed. To do this use the
+command ‘aspell --lang=YOUR_LANGUAGE soundslike’. In this mode Aspell
+will output the the original word and then its soundslike separated by a
+tab character for each word you give it. If you are interested in
+seeing how the algorithm works you can download a set of useful programs
+from <http://members.xoom.com/maccy/spell/phonet-utils.tar.gz>. This
includes a program that produces a list as mentioned above and another
program which illustrates how the algorithm works. It uses the same
transformation table as Aspell and so it helps a lot during the process
During your work you should write down your basic ideas so that other
people are able to understand what you did (and you still know about it
-after a few weeks). The English table has a huge documentation
-appended as an example.
+after a few weeks). The English table has a huge documentation appended
+as an example.
Now you can start experimenting with all the things you just read and
-perhaps set up a nice phonetic transformation table for your language
-to help Aspell to come up with the best correction suggestions ever
-seen also for your language. Take a look at the Aspell homepage to see
-if there is already a transformation table for your language. If there
-is one you might also take a look at it to see if it could be improved.
+perhaps set up a nice phonetic transformation table for your language to
+help Aspell to come up with the best correction suggestions ever seen
+also for your language. Take a look at the Aspell homepage to see if
+there is already a transformation table for your language. If there is
+one you might also take a look at it to see if it could be improved.
If you think that this section helped you or if you think that this
is just a waste of time you can send any feedback to
the same soundslike letter is repeated, the duplicate is removed.
By default all accents are removed, and all vowels are deleted unless
-they appear at the start of the word in which case they are converted
-to a `*'. The exact behavior can be customized via the character data
+they appear at the start of the word in which case they are converted to
+a ‘*’. The exact behavior can be customized via the character data
file.
The simplified soundslike has the advantage that it is very fast to
compute and thus does not need to be stored with a word. Also, when
-affix compression is used and the `partially-expand' is given the
+affix compression is used and the ‘partially-expand’ is given the
results will be identical to the results when affix compression is not
used.
======================
When phonetic code is not used a replacement table can be used instead.
-To enable the use of a replacement table add the line `repl-table
-LANG', in which case the replacement table is excepted to be in the
-file `LANG_repl.dat'. A complete file name can also be specified in
-place of LANG. For compatibility with MySpell the replacement table
-can also be part of the affix file, in which case `repl-table' will be
-`LANG_affix.dat"'.
+To enable the use of a replacement table add the line ‘repl-table LANG’,
+in which case the replacement table is excepted to be in the file
+‘LANG_repl.dat’. A complete file name can also be specified in place of
+LANG. For compatibility with MySpell the replacement table can also be
+part of the affix file, in which case ‘repl-table’ will be
+‘LANG_affix.dat"’.
Replacement table syntax:
REP [what] [replacement]
REP [what] [replacement]
- For example a possible English replacement table definition to
-handle misspelled consonants:
+ For example a possible English replacement table definition to handle
+misspelled consonants:
REP 8
REP f ph
affix LANG
affix-compress true
- The line `affix LANG' adds support for recognizing affix
-information, and the line `affix-compress true' enables affix
-compression.
+ The line ‘affix LANG’ adds support for recognizing affix information,
+and the line ‘affix-compress true’ enables affix compression.
- The affix file is expected to be named `LANG_affix.dat'. It is the
+ The affix file is expected to be named ‘LANG_affix.dat’. It is the
exact same format as those used by MySpell. More information can be
found in the myspell/ directory of the distribution or at
-`http://lingucomponent.openoffice.org/dictionary.html'.
+<http://lingucomponent.openoffice.org/dictionary.html>.
Affix compression can also be used with soundslike lookup. Aspell
-does this by only storing the soundslike for the root word. When a
-word is misspelled it will search for a soundslike close to all
-possible roots of the misspelled word.
+does this by only storing the soundslike for the root word. When a word
+is misspelled it will search for a soundslike close to all possible
+roots of the misspelled word.
When no soundslike information, or the simple soundslike, is used it
-may be beneficial to specify the option `partially-expand' which will
+may be beneficial to specify the option ‘partially-expand’ which will
partially expand a word with affix information so that the affix flags
do not affect the first 3 letters of the word. This will allow Aspell
to get more accurate results when scanning the list for near misses
option should not be used for prefix heavy languages such as Hebrew.
An existing word list, without affix info, can be affix compressed
-using using `aspell munch-list'.
+using using ‘aspell munch-list’.
7.6.1 Format of the Affix File
------------------------------
-An affix is either a prefix or a suffix attached to root words to make
+An affix is either a prefix or a suffix attached to root words to make
other words. For example supply -> supplied by dropping the "y" and
adding an "ied" (the suffix).
- Here is an example of how to define one specific suffix borrowed
-from the English affix file.
+ Here is an example of how to define one specific suffix borrowed from
+the English affix file.
SFX D Y 4
SFX D 0 d e
The first line has 4 fields:
1 SFX indicates this is a suffix
-2 D is the name of the character which represents this suffix
-3 Y indicates it can be combined with prefixes (cross product)
+2 D is the name of the character which represents this
+ suffix
+3 Y indicates it can be combined with prefixes (cross
+ product)
4 4 indicates that sequence of 4 affix entries are needed to
properly store the affix information
1 SFX indicates this is a suffix
2 D is the name of the character which represents this affix
-3 y the string of chars to strip off before adding affix (a 0
- here indicates the NULL string)
-4 ied the string of affix characters to add (a 0 here indicates
- the NULL string)
+3 y the string of chars to strip off before adding affix (a
+ 0 here indicates the NULL string)
+4 ied the string of affix characters to add (a 0 here
+ indicates the NULL string)
5 [^aeiou]y the conditions which must be met before the affix can be
applied
-------------------------------
Now for comparison purposes, here is the same information from the
-Ispell `english.aff' compression file which was used as the basis for
+Ispell ‘english.aff’ compression file which was used as the basis for
the OOo one.
flag *D:
Here are the ways to see the mapping from Ispell .aff format to our
OOo format.
- 1. The Ispell english.aff has flag D under the "suffix" section so
- you know it is a suffix.
+ 1. The Ispell english.aff has flag D under the "suffix" section so you
+ know it is a suffix.
2. The D is the character assigned to this suffix
- 3. `*' indicates that it can be combined with prefixes
+ 3. ‘*’ indicates that it can be combined with prefixes
4. Each line following the : describes the affix entries needed to
define this suffix
- * The first field is the conditions that must be met.
-
- * The second field is after the > if a "-" occurs is the string
+ • The first field is the conditions that must be met.
+ • The second field is after the > if a "-" occurs is the string
to strip off (can be blank).
-
- * The third field is the string to add (the affix)
+ • The third field is the string to add (the affix)
In addition all chars in Ispell aff files are in uppercase.
----------------------------
Affix flags are specified in the word list by specifying them after the
-`/' character:
+‘/’ character:
WORD/FLAGS
create/DG
-will associate the `D' and `G' flag with the word create.
+will associate the ‘D’ and ‘G’ flag with the word create.
\1f
File: aspell.info, Node: Controlling the Behavior of Run-together Words, Next: Creating A New Character Set, Prev: Affix Compression, Up: Adding Support For Other Languages
Support for unconditionally accepting run-together words can either
be turned on in the language data file or as a normal option via the
-`run-together' option. The `run-together-limit' options controls the
+‘run-together’ option. The ‘run-together-limit’ options controls the
maximum number of words that can be strung together, the default is
-normally 2. The `run-together-min' options controls the minimum length
+normally 2. The ‘run-together-min’ options controls the minimum length
of the individual components of the run together word, the default is
-normally 3. Both the `run-together-limit' and `run-together-min'
-option may be specified in both the language data file or as a normal
-option.
+normally 3. Both the ‘run-together-limit’ and ‘run-together-min’ option
+may be specified in both the language data file or as a normal option.
\1f
File: aspell.info, Node: Creating A New Character Set, Next: Creating An Official Dictionary Package, Prev: Controlling the Behavior of Run-together Words, Up: Adding Support For Other Languages
================================
If there is not a standard character set for your language then you can
-invent one. The new charset will only be used by Aspell internally.
-If the option `data-encoding' is set to `utf-8', and your current
-locale character type is always set to `utf-8', then you can use UTF-8
-for everything and not worry yourself that an 8-bit character set is
-being used internally. If your language has no more than 210 distinct
+invent one. The new charset will only be used by Aspell internally. If
+the option ‘data-encoding’ is set to ‘utf-8’, and your current locale
+character type is always set to ‘utf-8’, then you can use UTF-8 for
+everything and not worry yourself that an 8-bit character set is being
+used internally. If your language has no more than 210 distinct
symbols, including different capitalizations and accents, then Aspell
can support it.
Creating An Official Dictionary Package::) and check if one of the
provided charsets in this package will suite your needs. Non-standard
character sets are provided for many scripts and languages. If not,
-then see the included `README' file for instructions on creating a new
+then see the included ‘README’ file for instructions on creating a new
one. Version 0.1, and 0.2 of mkchardata _will not_ work as the format
of the character data file has changed.
===========================================
Once you have a basic dictionary working, you should consider creating
-an official package so that it can be distributed with Aspell. To do so
+an official package so that it can be distributed with Aspell. To do so
download the aspell-lang package available at
-`ftp://ftp.gnu.org/gnu/aspell/aspell-lang-VERSION.tar.bz2' or in the
-"aspell-lang" module in the Aspell CVS repository available at
-`https://savannah.gnu.org/cvs/?group=aspell'. See the included
-`README' file for what to do. Or, send mail to aspell-dict at gnu org
-asking for help on how to get started.
+<ftp://ftp.gnu.org/gnu/aspell/aspell-lang-VERSION.tar.bz2> or in the
+“aspell-lang” module in the Aspell CVS repository available at
+<https://savannah.gnu.org/cvs/?group=aspell>. See the included ‘README’
+file for what to do. Or, send mail to aspell-dict at gnu org asking for
+help on how to get started.
\1f
File: aspell.info, Node: Implementation Notes, Next: Languages Which Aspell can Support, Prev: Adding Support For Other Languages, Up: Top
* Menu:
-* Aspell Suggestion Strategy::
-* Notes on 8-bit Characters::
+* Aspell Suggestion Strategy::
+* Notes on 8-bit Characters::
\1f
File: aspell.info, Node: Aspell Suggestion Strategy, Next: Notes on 8-bit Characters, Up: Implementation Notes
==============================
The magic behind my spell checker comes from merging Lawrence Philips
-excellent metaphone algorithm and Ispell's near miss strategy which is
+excellent metaphone algorithm and Ispell’s near miss strategy which is
inserting a space or hyphen, interchanging two adjacent letters,
changing one letter, deleting a letter, or adding a letter.
metaphone for English words).
2. Find all words that have a soundslike within one or two edit
- distances from the original word's soundslike. The edit distance
+ distances from the original word’s soundslike. The edit distance
is the total number of deletions, insertions, exchanges, or
adjacent swaps needed to make one string equivalent to the other.
When set to only look for soundslikes within one edit distance it
3. Find misspelled words that have a correctly spelled replacement by
the same criteria of step number 2 and 3. That is the misspelled
- word in the word pair (such as "teh -> the") would appear in the
+ word in the word pair (such as “teh -> the”) would appear in the
suggestions list as if it was a correct spelling.
4. Score the result list and return the words with the lowest score.
attached to them.
5. Replace the misspelled words that have correctly spelled
- replacements with their replacements and remove any duplicates
- that might arise because of this.
+ replacements with their replacements and remove any duplicates that
+ might arise because of this.
Please note that the soundslike equivalent is a rough approximation
of how the words sounds. It is not the phoneme of the word by any
-means. For more details about exactly how each step is performed
-please see the file `suggest.cc'. For more information on the metaphone
-algorithm please see the data file `english_phonet.dat'.
+means. For more details about exactly how each step is performed please
+see the file ‘suggest.cc’. For more information on the metaphone
+algorithm please see the data file ‘english_phonet.dat’.
\1f
File: aspell.info, Node: Notes on 8-bit Characters, Prev: Aspell Suggestion Strategy, Up: Implementation Notes
A.2 Notes on 8-bit Characters
=============================
-There is a very good reason I use 8-bit characters in Aspell. Speed and
-simplicity. While many parts of my code can fairly easily be converted
-to some sort of wide character as my code is clean. Other parts cannot
+There is a very good reason I use 8-bit characters in Aspell. Speed and
+simplicity. While many parts of my code can fairly easily be converted
+to some sort of wide character as my code is clean. Other parts cannot
be.
One of the reasons why is because in many, many places I use a direct
-lookup to find out various information about characters. With 8-bit
+lookup to find out various information about characters. With 8-bit
characters this is very feasible because there is only 256 of them.
-With 16-bit wide characters this will waste a LOT of space. With 32-bit
-characters this is just plain impossible. Converting the lookup tables
+With 16-bit wide characters this will waste a LOT of space. With 32-bit
+characters this is just plain impossible. Converting the lookup tables
to another form is certainly possible but degrades performance
significantly.
Furthermore, some of my algorithms rely on words consisting only on a
small number of distinct characters (often around 30 when case and
-accents are not considered). When the possible character can consist of
-any Unicode character this number becomes several thousand, if that. In
+accents are not considered). When the possible character can consist of
+any Unicode character this number becomes several thousand, if that. In
order for these algorithms to still be used, some sort of limit will
-need to be placed on the possible characters the word can contain. If I
-impose that limit, I might as well use some sort of 8-bit characters
-set which will automatically place the limit on what the characters can
-be.
+need to be placed on the possible characters the word can contain. If I
+impose that limit, I might as well use some sort of 8-bit characters set
+which will automatically place the limit on what the characters can be.
There is also the issue of how I should store the word lists in
-memory? As a string of 32 bit wide characters. Now that is using up 4
+memory? As a string of 32 bit wide characters. Now that is using up 4
times more memory than characters would and for languages that can fit
within an 8-bit character that is, in my view, a gross waste of memory.
So maybe I should store them is some variable width format such as
-UTF-8. Unfortunately, way, way too many of the algorithms will simply
-not work with variable width characters without significant
-modification which will very likely degrade performance. So the
-solution is to work with the characters as 32-bit wide characters and
-then convert it to a shorter representation when storing them in the
-lookup tables. Now that can lead to an inefficiency. I could also use
-16 bit wide characters, however that may not be good enough to hold all
-future versions of Unicode and therefore has the same problems.
+UTF-8. Unfortunately, way, way too many of the algorithms will simply
+not work with variable width characters without significant modification
+which will very likely degrade performance. So the solution is to work
+with the characters as 32-bit wide characters and then convert it to a
+shorter representation when storing them in the lookup tables. Now that
+can lead to an inefficiency. I could also use 16 bit wide characters,
+however that may not be good enough to hold all future versions of
+Unicode and therefore has the same problems.
As a response to the space waste used by storing word lists in some
sort of wide format some one asked:
Since hard drives are cheaper and cheaper, you could store a
- dictionary in a usable (uncompressed) form and use it directly
- with memory mapping. Then the efficiency would directly depend on
- the disk caching method, and only the used part of the
- dictionaries would really be loaded into memory. You would no more
- have to load plain dictionaries into main memory, you'll just want
- to compute some indexes (or something like that) after mapping.
+ dictionary in a usable (uncompressed) form and use it directly with
+ memory mapping. Then the efficiency would directly depend on the
+ disk caching method, and only the used part of the dictionaries
+ would really be loaded into memory. You would no more have to load
+ plain dictionaries into main memory, you’ll just want to compute
+ some indexes (or something like that) after mapping.
However, the fact of the matter is that most of the dictionary will
-be read into memory anyway if it is available. If it is not available
-then there would be a good deal of disk swaps. Making characters 32-bit
+be read into memory anyway if it is available. If it is not available
+then there would be a good deal of disk swaps. Making characters 32-bit
wide will increase the chance that there are more disk swaps. So the
bottom line is that it is more efficient to convert characters from
-something like UTF-8 into some sort of 8-bit character. I could also
+something like UTF-8 into some sort of 8-bit character. I could also
use some sort of disk space lookup table such as the Berkeley Database.
However this will *definitely* degrade performance.
The bottom line is that keeping Aspell 8-bit internally is a very
well though out decision that is not likely to change any time soon.
-Feel free to challenge me on it, but, don't expect me to change my mind
-unless you can bring up some point that I have not thought of before
-and quite possibly a patch to solve cleanly convert Aspell to Unicode
+Feel free to challenge me on it, but, don’t expect me to change my mind
+unless you can bring up some point that I have not thought of before and
+quite possibly a patch to solve cleanly convert Aspell to Unicode
internally without a serious performance lost OR serious memory usage
increase.
*********************************************
Even though Aspell will remain 8-bit internally it should still be able
-to support any written languages not based on a logographic script.
-The only logographic writing system in current use are those based on
-hànzi which includes Chinese, Japanese, and sometimes Korean.
+to support any written languages not based on a logographic script. The
+only logographic writing system in current use are those based on hànzi
+which includes Chinese, Japanese, and sometimes Korean.
* Menu:
-* Supported::
-* Unsupported::
-* Multiple Scripts::
-* Planned Dictionaries::
-* References::
+* Supported::
+* Unsupported::
+* Multiple Scripts::
+* Planned Dictionaries::
+* References::
\1f
File: aspell.info, Node: Supported, Next: Unsupported, Up: Languages Which Aspell can Support
Code Language Name Script Dictionary Gettext
Available Translation
-
aa Afar Latin - -
af Afrikaans Latin 0.50 -
ak Akan Latin Maybe -
av Avar Cyrillic - -
ay Aymara Latin - -
az Azerbaijani Cyrillic, Latin 0.60 -
-
ba Bashkir Cyrillic - -
be Belarusian Cyrillic 0.50 Incomplete
bg Bulgarian Cyrillic 0.50 -
bo Tibetan Tibetan - -
br Breton Latin 0.50 -
bs Bosnian Latin Maybe -
-
ca Catalan / Valencian Latin 0.50 Yes
ce Chechen Cyrillic - -
co Corsican Latin Maybe -
csb Kashubian Latin 0.60 -
cv Chuvash Cyrillic - -
cy Welsh Latin 0.50 -
-
da Danish Latin 0.50 Incomplete
de German Latin 0.50 Yes
dyu Dyula - Maybe -
-
ee Ewe Latin - -
el Greek Greek 0.50 -
en English Latin 0.50 Yes
es Spanish Latin 0.50 Incomplete
et Estonian Latin 0.60 -
eu Basque Latin Maybe -
-
fa Persian Arabic 0.60 -
ff Fulah Latin Maybe -
fi Finnish Latin 0.60 -
fr French Latin 0.50 Yes
fur Friulian Latin Maybe -
fy Frisian Latin 0.60 -
-
ga Irish Latin 0.50 Yes
gd Scottish Gaelic Latin 0.50 -
gl Gallegan Latin 0.50 -
gn Guarani Latin Maybe -
gu Gujarati Gujarati 0.60 -
gv Manx Gaelic Latin 0.50 -
-
ha Hausa Latin Maybe -
he Hebrew Hebrew 0.60 -
hi Hindi Devanagari 0.60 -
hu Hungarian Latin 0.60 -
hy Armenian Armenian 0.60 -
hz Herero Latin - -
-
ia Interlingua (IALA) Latin 0.50 -
id Indonesian Arabic, Latin 0.50 -
ig Igbo Latin Maybe -
io Ido Latin - -
is Icelandic Latin 0.50 -
it Italian Latin 0.50 Yes
-
jv Javanese Javanese, Latin Maybe -
-
ka Georgian Georgian - -
kg Kongo Latin Maybe -
ki Kikuyu / Gikuyu Latin - -
kr Kanuri Latin - -
ks Kashmiri Arabic, Devanagari - -
ku Kurdish Arabic, Cyrillic, 0.50 -
- Latin
+ Latin
kv Komi Cyrillic - -
ky Kirghiz Arabic, Cyrillic, Maybe -
- Latin
-
+ Latin
la Latin Latin 0.60 -
lb Luxembourgish Latin Maybe -
lg Ganda Latin Maybe -
lt Lithuanian Latin 0.60 -
lu Luba-Katanga Latin - -
lv Latvian Latin 0.60 -
-
mg Malagasy Latin 0.50 -
mi Maori Latin 0.50 -
mk Macedonian Cyrillic 0.50 -
ms Malay Arabic, Latin 0.50 -
mt Maltese Latin 0.50 -
my Burmese Myanmar - -
-
nb Norwegian Bokmal Latin 0.50 -
nd North Ndebele Latin Maybe -
nds Low Saxon Latin 0.60 -
nso Northern Sotho Latin Maybe -
nv Navajo Latin Maybe -
ny Nyanja Latin 0.50 -
-
oc Occitan / Provencal Latin Maybe -
om Oromo Ethiopic, Latin - -
or Oriya Oriya 0.60 -
os Ossetic Cyrillic - -
-
pa Punjabi Gurmukhi 0.60 -
pl Polish Latin 0.50 -
ps Pushto Arabic - -
pt Portuguese Latin 0.50 Incomplete
-
qu Quechua Latin 0.60 -
-
rn Rundi Latin Maybe -
ro Romanian Latin 0.50 Incomplete
ru Russian Cyrillic 0.50 Yes
rw Kinyarwanda Latin 0.50 -
-
sc Sardinian Latin 0.50 -
sd Sindhi Arabic - -
sg Sango Latin Maybe -
su Sundanese Latin Maybe -
sv Swedish Latin 0.50 Incomplete
sw Swahili Latin 0.50 -
-
ta Tamil Tamil 0.60 -
te Telugu Telugu 0.60 -
tet Tetum Latin 0.50 -
tg Tajik Arabic, Cyrillic, Maybe Incomplete
- Latin
+ Latin
ti Tigrinya Ethiopic Maybe -
tk Turkmen Arabic, Cyrillic, 0.50 -
- Latin
+ Latin
tl Tagalog Latin, Tagalog 0.50 -
tn Tswana Latin 0.50 -
to Tonga Latin Maybe -
tt Tatar Cyrillic - -
tw Twi Latin - -
ty Tahitian Latin Maybe -
-
ug Uighur Arabic, Cyrillic, - -
- Latin
+ Latin
uk Ukrainian Cyrillic 0.50 Yes
ur Urdu Arabic Maybe -
uz Uzbek Cyrillic, Latin 0.60 -
-
ve Venda Latin Maybe -
vi Vietnamese Latin 0.60 Yes
-
wa Walloon Latin 0.50 Incomplete
wo Wolof Latin Maybe -
-
xh Xhosa Latin Maybe -
-
yi Yiddish Hebrew 0.60 -
yo Yoruba Latin Maybe -
-
za Zhuang Latin - -
zu Zulu Latin 0.50 -
+
Dictionaries marked as "0.50" are available for Aspell 0.50. Ones
marked as "0.60" are available for Aspell 0.60 only. Ones marked as
Any letter in the Unicode range U+0000 - U+0249, U+1E00 - U+1EFF
(Basic Latin, Latin-1 Supplement, Latin Extended-A, Latin Extended-B,
-and Latin Extended Additional) can be represented using around 175
-basic letters, and 25 modifiers which is less than 210 and can thus fit
-in an Aspell 8-bit character set. Since this Unicode range covers any
+and Latin Extended Additional) can be represented using around 175 basic
+letters, and 25 modifiers which is less than 210 and can thus fit in an
+Aspell 8-bit character set. Since this Unicode range covers any
possible Latin language this special character set can be used to
represent any word written using the Latin script if so desired.
--------------
Syllabic languages use a separate symbol for each syllable of the
-language. Even thought most of them have more than 210 distinct
-symbols Aspell can still support them by breaking them up.
+language. Even thought most of them have more than 210 distinct symbols
+Aspell can still support them by breaking them up.
B.1.2.1 The Ethiopic Syllabary
..............................
lo Lao Lao
th Thai Thai
zh Chinese Han
+
B.2.1 The Thai, Khmer, and Lao Scripts
--------------------------------------
adding Thai, Khmer, or Lao support to Aspell, but it is not likely
something I will do on my own in the foreseeable future.
-B.2.2 Languages which use Hànzi Characters
+B.2.2 Languages which use Hànzi Characters
------------------------------------------
-Hànzi Characters are used to write Chinese, Japanese, Korean, and were
-once used to write Vietnamese. Each hànzi character represents a
+Hànzi Characters are used to write Chinese, Japanese, Korean, and were
+once used to write Vietnamese. Each hànzi character represents a
syllable of a spoken word and also has a meaning. Since there are
around 3,000 of them in common usage it is unlikely that Aspell will
-ever be able to support spell checking languages written using hànzi
+ever be able to support spell checking languages written using hànzi
until full Unicode support is implemented. However, I am not even sure
-if these languages need spell checking since hànzi characters are
+if these languages need spell checking since hànzi characters are
generally not entered in directly. Furthermore even if Aspell could
-spell check hànzi the existing suggestion strategy will not work well
-at all, and thus a completely new strategy will need to be developed.
-However, if it is the case that hànzi needs to be spell checked and you
+spell check hànzi the existing suggestion strategy will not work well at
+all, and thus a completely new strategy will need to be developed.
+However, if it is the case that hànzi needs to be spell checked and you
know something about the issues involved please fell free to contact me.
B.2.3 Japanese
Modern Japanese is written in a mixture of "hiragana", "katakana",
"kanji", and sometimes "romaji". "Hiragana" and "katakana" are both
-syllabaries unique to Japan, "kanji" is a modified form of hànzi, and
-"romaji" uses the Latin alphabet. With some work, Aspell should be
-able to check the non-kanji part of Japanese text. However, based on
-my limited understanding of Japanese hiragana is often used at the end
-of kanji. Thus if Aspell was to simply separate out the hiragana from
+syllabaries unique to Japan, "kanji" is a modified form of hànzi, and
+"romaji" uses the Latin alphabet. With some work, Aspell should be able
+to check the non-kanji part of Japanese text. However, based on my
+limited understanding of Japanese hiragana is often used at the end of
+kanji. Thus if Aspell was to simply separate out the hiragana from
kanji it would end up with a lot of word endings which are not proper
words and will thus be flagged as misspellings. However, this can be
fairly easily rectified as text is tokenized into words before it is
-converted into Aspell's internal encoding. In fact, some Japanese text
+converted into Aspell’s internal encoding. In fact, some Japanese text
is written in entirely in one script. For example books for children
and foreigners are sometimes written entirely in hiragana. Thus,
Aspell, in its current state, could prove at least somewhat useful for
U+3130 - U+318F), (D) decomposed jamo (Hangul Jamo, U+1100 - U+11FF),
and (C) precoposed sylable blocks (Hangul Syllables, U+AC00 - U+D7AF).
In order for Aspell to work with Hangul it needs to be form A.
-Unfortunately the existing Normalization code in Aspell will not be
-able to adequately deal with converting Hangul from form D and C to
-form A and back again. However, once this code is written, Aspell
-should be able to spell check Hangul without any problem.
+Unfortunately the existing Normalization code in Aspell will not be able
+to adequately deal with converting Hangul from form D and C to form A
+and back again. However, once this code is written, Aspell should be
+able to spell check Hangul without any problem.
\1f
File: aspell.info, Node: Multiple Scripts, Next: Planned Dictionaries, Prev: Unsupported, Up: Languages Which Aspell can Support
B.4 Notes on Planned Dictionaries
=================================
-According to `http://wiki.services.openoffice.org/wiki/Dictionaries',
+According to <http://wiki.services.openoffice.org/wiki/Dictionaries>,
Open Office dictionaries are available for the following languages, but
no corresponding Aspell dictionary exists:
- * Coptic (cop)
-
- * Dyula (dyu)
-
- * Fulah (ff)
-
- * Fijian (fj)
-
- * Friulian (fur)
-
- * Khmer (km)
-
- * Luxembourgish (lb)
-
- * Mossi (mos)
-
- * Nepali (ne)
-
- * South Ndebele (nr)
-
- * Northern Sotho (nso)
-
- * Swati (ss)
-
- * Southern Sotho (st)
-
- * Tsonga (ts)
-
- * Venda (ve)
-
- * Xhosa (xh)
+ • Coptic (cop)
+ • Dyula (dyu)
+ • Fulah (ff)
+ • Fijian (fj)
+ • Friulian (fur)
+ • Khmer (km)
+ • Luxembourgish (lb)
+ • Mossi (mos)
+ • Nepali (ne)
+ • South Ndebele (nr)
+ • Northern Sotho (nso)
+ • Swati (ss)
+ • Southern Sotho (st)
+ • Tsonga (ts)
+ • Venda (ve)
+ • Xhosa (xh)
If you are interested in converting any of them please coordinate your
efforts with the dictionary author and submit it to aspell-dict at gnu
org when you have something ready.
An unofficial dictionary for Albanian (sq) is available at
-`http://psychology.rutgers.edu/~zaimi/software.html'. However, I can
-not find any contact information for the author, thus I have been
-unable to contact him. In addition an Albanian (sq) dictionary is
-available for Ispell at
-`http://www.7kosova.com/kde-shqip/ispell/ispell.html'. However, the
-raw word list is not provided and the author has not been responding to
-emails, possibly because he doesn't speak English. If you have any
-additional information on either of these dictionaries, or can speak
-Albanian and can translate for me please let me know at <kevina@gnu.org>
+<http://psychology.rutgers.edu/~zaimi/software.html>. However, I can
+not find any contact information for the author, thus I have been unable
+to contact him. In addition an Albanian (sq) dictionary is available
+for Ispell at <http://www.7kosova.com/kde-shqip/ispell/ispell.html>.
+However, the raw word list is not provided and the author has not been
+responding to emails, possibly because he doesn’t speak English. If you
+have any additional information on either of these dictionaries, or can
+speak Albanian and can translate for me please let me know at
+<kevina@gnu.org>
An unofficial dictionary for Malayalam (ml) is available at
-`http://in.geocities.com/paivakil/downloads/aspell/'. I am working
-with the author to create an official one.
+<http://in.geocities.com/paivakil/downloads/aspell/>. I am working with
+the author to create an official one.
Kevin Patrick Scannell has word lists available for the following
languages based on his web crawling software
-(`http://borel.slu.edu/crubadan/') but needs someone to proofread them:
-
- * Afrikaans (af)
-
- * Asturian / Bable (ast)
-
- * Azerbaijani (az)
-
- * Balinese (ban)
-
- * Bemba (bem)
-
- * Bislama (bi)
-
- * Breton (br)
-
- * Catalan / Valencian (ca)
-
- * Cebuano (ceb)
-
- * Chamorro (ch)
-
- * Chuukese (chk)
-
- * Corsican (co)
-
- * Kashubian (csb)
-
- * Welsh (cy)
-
- * Basque (eu)
-
- * Fijian (fj)
-
- * Faroese (fo)
-
- * Friulian (fur)
-
- * Frisian (fy)
-
- * Irish (ga)
-
- * Scottish Gaelic (gd)
-
- * Gallegan (gl)
-
- * Guarani (gn)
-
- * Manx Gaelic (gv)
-
- * Hausa (ha)
-
- * Hawaiian (haw)
-
- * Hiligaynon (hil)
-
- * Haitian Creole (ht)
-
- * Iban (iba)
-
- * Igbo (ig)
-
- * Iloko (ilo)
-
- * Javanese (jv)
-
- * Kachin (kac)
-
- * Khasi (kha)
-
- * Kalaallisut / Greenlandic (kl)
-
- * Konkani (kok)
-
- * Kurdish (ku)
-
- * Cornish (kw)
-
- * Luxembourgish (lb)
-
- * Ganda (lg)
-
- * Limburgian (li)
-
- * Lingala (ln)
-
- * Lozi (loz)
-
- * Luo (Kenya and Tanzania) (luo)
-
- * Malagasy (mg)
-
- * Marshallese (mh)
-
- * Maori (mi)
-
- * Minangkabau (min)
-
- * Mongolian (mn)
-
- * Maltese (mt)
-
- * North Ndebele (nd)
-
- * Low Saxon (nds)
-
- * Ndonga (ng)
-
- * Niuean (niu)
-
- * Norwegian Nynorsk (nn)
-
- * Northern Sotho (nso)
-
- * Navajo (nv)
-
- * Nyanja (ny)
-
- * Occitan / Provencal (oc)
-
- * Pampanga (pam)
-
- * Papiamento (pap)
-
- * Quechua (qu)
-
- * Rarotongan (rar)
-
- * Rundi (rn)
-
- * Kinyarwanda (rw)
-
- * Sardinian (sc)
-
- * Northern Sami (se)
-
- * Sango (sg)
-
- * Samoan (sm)
-
- * Shona (sn)
-
- * Somali (so)
-
- * Swati (ss)
-
- * Southern Sotho (st)
-
- * Sundanese (su)
-
- * Swahili (sw)
-
- * Tetum (tet)
-
- * Tajik (tg)
-
- * Turkmen (tk)
-
- * Tokelau (tkl)
-
- * Tagalog (tl)
-
- * Tswana (tn)
-
- * Tonga (to)
-
- * Tok Pisin (tpi)
-
- * Tsonga (ts)
-
- * Tahitian (ty)
-
- * Venda (ve)
-
- * Walloon (wa)
-
- * Wolof (wo)
-
- * Xhosa (xh)
-
- * Yoruba (yo)
-
- * Zulu (zu)
+(<http://borel.slu.edu/crubadan/>) but needs someone to proofread them:
+
+ • Afrikaans (af)
+ • Asturian / Bable (ast)
+ • Azerbaijani (az)
+ • Balinese (ban)
+ • Bemba (bem)
+ • Bislama (bi)
+ • Breton (br)
+ • Catalan / Valencian (ca)
+ • Cebuano (ceb)
+ • Chamorro (ch)
+ • Chuukese (chk)
+ • Corsican (co)
+ • Kashubian (csb)
+ • Welsh (cy)
+ • Basque (eu)
+ • Fijian (fj)
+ • Faroese (fo)
+ • Friulian (fur)
+ • Frisian (fy)
+ • Irish (ga)
+ • Scottish Gaelic (gd)
+ • Gallegan (gl)
+ • Guarani (gn)
+ • Manx Gaelic (gv)
+ • Hausa (ha)
+ • Hawaiian (haw)
+ • Hiligaynon (hil)
+ • Haitian Creole (ht)
+ • Iban (iba)
+ • Igbo (ig)
+ • Iloko (ilo)
+ • Javanese (jv)
+ • Kachin (kac)
+ • Khasi (kha)
+ • Kalaallisut / Greenlandic (kl)
+ • Konkani (kok)
+ • Kurdish (ku)
+ • Cornish (kw)
+ • Luxembourgish (lb)
+ • Ganda (lg)
+ • Limburgian (li)
+ • Lingala (ln)
+ • Lozi (loz)
+ • Luo (Kenya and Tanzania) (luo)
+ • Malagasy (mg)
+ • Marshallese (mh)
+ • Maori (mi)
+ • Minangkabau (min)
+ • Mongolian (mn)
+ • Maltese (mt)
+ • North Ndebele (nd)
+ • Low Saxon (nds)
+ • Ndonga (ng)
+ • Niuean (niu)
+ • Norwegian Nynorsk (nn)
+ • Northern Sotho (nso)
+ • Navajo (nv)
+ • Nyanja (ny)
+ • Occitan / Provencal (oc)
+ • Pampanga (pam)
+ • Papiamento (pap)
+ • Quechua (qu)
+ • Rarotongan (rar)
+ • Rundi (rn)
+ • Kinyarwanda (rw)
+ • Sardinian (sc)
+ • Northern Sami (se)
+ • Sango (sg)
+ • Samoan (sm)
+ • Shona (sn)
+ • Somali (so)
+ • Swati (ss)
+ • Southern Sotho (st)
+ • Sundanese (su)
+ • Swahili (sw)
+ • Tetum (tet)
+ • Tajik (tg)
+ • Turkmen (tk)
+ • Tokelau (tkl)
+ • Tagalog (tl)
+ • Tswana (tn)
+ • Tonga (to)
+ • Tok Pisin (tpi)
+ • Tsonga (ts)
+ • Tahitian (ty)
+ • Venda (ve)
+ • Walloon (wa)
+ • Wolof (wo)
+ • Xhosa (xh)
+ • Yoruba (yo)
+ • Zulu (zu)
If you are interested, please contact him at scannell at slu edu.
The information in this chapter was gathered from numerous sources,
including:
- * ISO 639-2 Registration Authority,
- `http://www.loc.gov/standards/iso639-2/'
+ • ISO 639-2 Registration Authority,
+ <http://www.loc.gov/standards/iso639-2/>
- * Languages and Scripts (Official Unicode Site),
- `http://www.unicode.org/onlinedat/languages-scripts.html'
+ • Languages and Scripts (Official Unicode Site),
+ <http://www.unicode.org/onlinedat/languages-scripts.html>
- * Omniglot - a guide to written language, `http://www.omniglot.com/'
+ • Omniglot - a guide to written language, <http://www.omniglot.com/>
- * Wikipedia - The Free Encyclopedia, `http://wikipedia.org/'
+ • Wikipedia - The Free Encyclopedia, <http://wikipedia.org/>
- * Ethnologue - Languages of the World, `http://www.ethnologue.com/'
+ • Ethnologue - Languages of the World, <http://www.ethnologue.com/>
- * World Languages - The Ultimate Language Store,
- `http://www.worldlanguage.com/'
+ • World Languages - The Ultimate Language Store,
+ <http://www.worldlanguage.com/>
- * South African Languages Web, `http://www.languages.web.za/'
-
- * The Languages and Writing Systems of Africa (Global Advisor
- Newsletter), `http://www.intersolinc.com/newsletters/africa.htm'
+ • South African Languages Web, <http://www.languages.web.za/>
+ • The Languages and Writing Systems of Africa (Global Advisor
+ Newsletter), <http://www.intersolinc.com/newsletters/africa.htm>
Special thanks goes to Era Eriksson for helping me with the
information in this chapter.
* Menu:
-* Compound Words::
-* Words With Symbols in Them::
-* Unicode Normalization::
-* German Sharp S::
-* Context Sensitive Spelling::
+* Compound Words::
+* Words With Symbols in Them::
+* Unicode Normalization::
+* German Sharp S::
+* Context Sensitive Spelling::
\1f
File: aspell.info, Node: Compound Words, Next: Words With Symbols in Them, Up: Language Related Issues
limiting and no one used it.
After receiving feedback from several people it seems that acceptable
-support for compound words involved two basically independent parts.
-If this is not sufficient for your language please let me know.
+support for compound words involved two basically independent parts. If
+this is not sufficient for your language please let me know.
Part One
========
and with which words.
To do this each word can be assigned a category. Then each category
-can be given a set of rules to describe how it can be used in a
-compound word for example
+can be given a set of rules to describe how it can be used in a compound
+word for example
A + B: indicates that category A may appear at the beginning of a
word when followed by a category B word. When combined it is then
etc..
I have not decided if a word should be allowed to belong to more than
-one category as a new category can be created in necessary to mean
-words in both category A and B for example.
+one category as a new category can be created in necessary to mean words
+in both category A and B for example.
C.1.1 To Implement
------------------
4. expand the dictionary format to store the necessary compound info
with the word
-
- I don't know when I will be able to actually implement this. If you
+ I don’t know when I will be able to actually implement this. If you
would like to try please let me know.
\1f
This works most of the time but it is not fool proof. For example,
suppose the user forgot to leave a space after the period:
- ... and the dog went up the tree.Then the cat ...
+ … and the dog went up the tree.Then the cat …
-Aspell would think "tree.Then" is one word. A better solution might be
-to then try to check "tree" and "Then" separately. But what if one of
-them is not in the dictionary? Should Aspell assume "tree.Then" is one
+Aspell would think “tree.Then” is one word. A better solution might be
+to then try to check “tree” and “Then” separately. But what if one of
+them is not in the dictionary? Should Aspell assume “tree.Then” is one
word?
The case where the symbol can appear at the beginning or end of the
-word is more difficult to deal with. The symbol may or may not
-actually be part of the word. Aspell currently handles this case by
-first trying to spell check the word with the symbol and if that fails,
-try it without. The problem is, if the word is misspelled, should
-Aspell assume the symbol belongs with the word or not? Currently
-Aspell assumes it does, which is not always the correct thing to do.
+word is more difficult to deal with. The symbol may or may not actually
+be part of the word. Aspell currently handles this case by first trying
+to spell check the word with the symbol and if that fails, try it
+without. The problem is, if the word is misspelled, should Aspell
+assume the symbol belongs with the word or not? Currently Aspell
+assumes it does, which is not always the correct thing to do.
Numbers in words present a different challenge to Aspell. If Aspell
treats numbers as letters then every possible number a user might write
-in a document must be specified in the dictionary. This could easily
-be solved by having special code to assume all numbers are correctly
-spelled. Yet, what about something like "4th". Since the "th" suffix
+in a document must be specified in the dictionary. This could easily be
+solved by having special code to assume all numbers are correctly
+spelled. Yet, what about something like “4th”. Since the “th” suffix
can appear after any number we are left with the same problem. The
-solution would be to have a special symbol for "any number".
+solution would be to have a special symbol for “any number”.
Words with spaces in them, such as foreign phrases, are even more
trouble to deal with. The basic problem is that when tokenizing a
-string there is no good way to keep phrases together. One solution is to
-use trial and error. If a word is not in the dictionary try grouping it
-with the previous or next word and see if the combined word is in the
+string there is no good way to keep phrases together. One solution is
+to use trial and error. If a word is not in the dictionary try grouping
+it with the previous or next word and see if the combined word is in the
dictionary. But what if the combined word is not, should the misspelled
word be grouped when looking for suggestions? One solution is to also
store each part of the phrase in the dictionary, but tag it as part of a
=========================
Because Unicode contains a large number of precomposed characters there
-are multiple ways a character can be represented. For example letter ö
+are multiple ways a character can be represented. For example letter ö
can either be represented as
U+00F6 LATIN SMALL LETTER O WITH DIAERESIS
language. Give the choice of:
1. Precomposed character
-
2. Base letter + combining character(s)
-
3. Base letter only
if the precomposed character is in the target character set, then (1),
==================
The German Sharp S or Eszett does not have an uppercase equivalent.
-Instead when `ß' is converted to `SS'. The conversion of `ß' to `SS'
+Instead when ‘ß’ is converted to ‘SS’. The conversion of ‘ß’ to ‘SS’
requires a special rule, and increases the length of a word, thus
disallowing inplace case conversion. Furthermore, my general rule of
converting all words to lowercase before looking them up in the
-dictionary won't work because the conversion of `SS' to lowercase is
-ambiguous; it can be `ss' or `ß'. I do plan on dealing with this
+dictionary won’t work because the conversion of ‘SS’ to lowercase is
+ambiguous; it can be ‘ss’ or ‘ß’. I do plan on dealing with this
eventually.
\1f
==============================
In some language, such as Luxembourgish, the spelling of a word depends
-on which words surround it. For example the the letter `n' at the end
-of a word will disappear if it is followed by another word starting
-with a certain letter such as an `s'. However, it can probably get
-more complicated than that. I would like to know how complicated before
-I attempt to implement support for context sensitive spelling.
+on which words surround it. For example the the letter ‘n’ at the end
+of a word will disappear if it is followed by another word starting with
+a certain letter such as an ‘s’. However, it can probably get more
+complicated than that. I would like to know how complicated before I
+attempt to implement support for context sensitive spelling.
\1f
File: aspell.info, Node: To Do, Next: Installing, Prev: Language Related Issues, Up: Top
* Menu:
-* Important Items::
-* Other Items::
-* Notes on Various Items::
+* Important Items::
+* Other Items::
+* Notes on Various Items::
\1f
File: aspell.info, Node: Important Items, Next: Other Items, Up: To Do
D.1.1 Things that need to be done
---------------------------------
-These items need to be done before I consider Aspell finished. If you
+These items need to be done before I consider Aspell finished. If you
are interested in helping me with one of these tasks please email me.
Good C++ skills are needed for most of these tasks involving coding.
- * Create a generic filter to handle multi-character letters such as
- `"a' or `\"a' for ä. This filter should make use of the already
+ • Create a generic filter to handle multi-character letters such as
+ ‘"a’ or ‘\"a’ for ä. This filter should make use of the already
exiting normalization code if possible.
-
- * Make Aspell *Thread safe*. Even though Aspell itself is not
+ • Make Aspell *Thread safe*. Even though Aspell itself is not
multi-threaded I would like it to be thread safe so that it can be
- used by multi-threaded programs. There are several areas of Aspell
+ used by multi-threaded programs. There are several areas of Aspell
that are potentially thread unsafe (such as accessing a global
- pool) and several classes which have the potential of being used
- by more than one thread (such as the personal dictionary). _[In
+ pool) and several classes which have the potential of being used by
+ more than one thread (such as the personal dictionary). _[In
Progress]_.
-
- * Enhance *ispell.el* so that it will work better with GNU Aspell.
+ • Enhance *ispell.el* so that it will work better with GNU Aspell.
_[In Progress]_.
-
- * Clean up copyright notices and bring the Aspell package up to *GNU
- Standards*. _[In Progress]_.
+ • Clean up copyright notices and bring the Aspell package up to *GNU
+ Standards*. _[In Progress]_.
D.1.2 Things I would like to get done
-------------------------------------
-I would like to get these done. However, I may still consider Aspell
-finished without. They will probably eventually get implemented.
+I would like to get these done. However, I may still consider Aspell
+finished without. They will probably eventually get implemented.
However, I could still use help with them.
- * Better support for *compound words*. The support for _conditional_
+ • Better support for *compound words*. The support for _conditional_
compound words found in Aspell versions 0.50 and earlier is no
- longer available since no one seems to be using it. Support for
- _unconditional_ compound words is still available. *Note Compound
+ longer available since no one seems to be using it. Support for
+ _unconditional_ compound words is still available. *Note Compound
Words::.
-
- * Be able to accept *words with spaces in them* as many languages
+ • Be able to accept *words with spaces in them* as many languages
have words, such as a word in a foreign phrase, which only makes
- sense when followed by other words. *Note Words With Symbols in
+ sense when followed by other words. *Note Words With Symbols in
Them::.
-
- * Reorganize manual to make it easier to understand and to make it
+ • Reorganize manual to make it easier to understand and to make it
possible to break out useful man pages.
-
- * Support *soundslike lookup with affix compression*. I think it is
- possible, although I don't know how effective it will be. The
- basic idea is to affix compress the soundslike codes and then
- match the codes up with affix compressed words. If you are
- interested, email <aspell-devel@gnu.org>, and I will explain it in
- more detail.
-
- * Use Lawrence Philips' new *Double Metaphone algorithm*. See
- `http://aspell.net/metaphone/'. The main task involved here is
- converting the algorithm into table form. This will take some time
- but there is no real programming experience required. If you want
- to help with Aspell but don't have any real programming experience,
+ • Support *soundslike lookup with affix compression*. I think it is
+ possible, although I don’t know how effective it will be. The
+ basic idea is to affix compress the soundslike codes and then match
+ the codes up with affix compressed words. If you are interested,
+ email <aspell-devel@gnu.org>, and I will explain it in more detail.
+ • Use Lawrence Philips’ new *Double Metaphone algorithm*. See
+ <http://aspell.net/metaphone/>. The main task involved here is
+ converting the algorithm into table form. This will take some time
+ but there is no real programming experience required. If you want
+ to help with Aspell but don’t have any real programming experience,
this would be a great place to start.
-
- * Rank suggestions based on *frequency information*. Both global
+ • Rank suggestions based on *frequency information*. Both global
frequency and document specific frequency can be used. The latter
- will require that the whole document be made available to the
- spell checker. Also use frequency information to flag words which
- are found in the dictionary but not in common usage, and thus
- might not be what was intended.
-
- * Support a *"dual-script" mode* where Aspell can use a separate
+ will require that the whole document be made available to the spell
+ checker. Also use frequency information to flag words which are
+ found in the dictionary but not in common usage, and thus might not
+ be what was intended.
+ • Support a *"dual-script" mode* where Aspell can use a separate
dictionary depending on which script it detects the current word
in, the two dictionaries can have nothing in common, ie an English
one and a Russian one for example. This will _not_ support two
languages that use the same script as that is a lot more
complicated. For example if the word is misspelled which
dictionary should it use for the suggestions?
-
- * Write a *GUI* for the Aspell utility. Ideally it should be able to
+ • Write a *GUI* for the Aspell utility. Ideally it should be able to
do everything the Aspell utility can do and not just be able spell
check a document.
-
- * Develop a *more powerful C API* for Aspell. Ideally this API
+ • Develop a *more powerful C API* for Aspell. Ideally this API
should allow one to perform all the tasks the Aspell utility can
do. This included the ability to check whole documents, and create
dictionaries, among other things.
-
- * Create a *C++ interface* for Aspell, possibly on top of the C one.
-
+ • Create a *C++ interface* for Aspell, possibly on top of the C one.
\1f
File: aspell.info, Node: Other Items, Next: Notes on Various Items, Prev: Important Items, Up: To Do
===============
These items all sound like good ideas however I am not sure when I will
-get to implementing them if ever. Words in bold indicate how you
-should refer to the item when discussing it with me or others.
+get to implementing them if ever. Words in bold indicate how you should
+refer to the item when discussing it with me or others.
- * Come up with a plug-in for `gEdit' the gnome text editor.
+ • Come up with a plug-in for ‘gEdit’ the gnome text editor.
- * Change languages (and thus dictionaries) based on the information
+ • Change languages (and thus dictionaries) based on the information
in the actual document.
- * Come up with a mode that will skip words based on the symbols that
+ • Come up with a mode that will skip words based on the symbols that
(almost) always surround the word. *Note Word skipping by
context::.
- * Create two *server modes* for Aspell. One that uses the DICT
- protocol and one that uses `ispell -a' method of communication via
+ • Create two *server modes* for Aspell. One that uses the DICT
+ protocol and one that uses ‘ispell -a’ method of communication via
some arbitrary port.
- * Come up with *thread safe personal dictionaries*.
+ • Come up with *thread safe personal dictionaries*.
- * Use the *Hidden Markov Model* to base the suggestions on not only
- the word itself but on the context around the word. *Note Hidden
+ • Use the *Hidden Markov Model* to base the suggestions on not only
+ the word itself but on the context around the word. *Note Hidden
Markov Model::.
- * Having a way to *email the personal dictionary* and/or replacement
+ • Having a way to *email the personal dictionary* and/or replacement
list to a particular address either periodically or when it grows
- to a certain size. *Note Email the Personal Dictionary::.
+ to a certain size. *Note Email the Personal Dictionary::.
- The following good ideas were found in the Ispell `WISHES' file so I
+ The following good ideas were found in the Ispell ‘WISHES’ file so I
thought I would pass them on.
- * Ispell should be smart enough to ignore hyphenation signs, such as
- the TeX `\-' hyphenation indicator.
+ • Ispell should be smart enough to ignore hyphenation signs, such as
+ the TeX ‘\-’ hyphenation indicator.
- * (Jeff Edmonds) The personal dictionary should be able to remove
+ • (Jeff Edmonds) The personal dictionary should be able to remove
certain words from the master dictionary, so that obscure words
- like "wether" wouldn't mask favorite typos.
+ like "wether" wouldn’t mask favorite typos.
- * (Jeff Edmonds) It would be wonderful if Ispell could correct
+ • (Jeff Edmonds) It would be wonderful if Ispell could correct
inserted spaces such as "th e" for "the" or even "can not" for
"cannot".
- * Since Ispell has dictionaries available to it, it is conceivable
+ • Since Ispell has dictionaries available to it, it is conceivable
that it could automatically determine the language of a particular
file by choosing the dictionary that produced the fewest spelling
errors on the first few lines.
* Menu:
-* Word skipping by context::
-* Hidden Markov Model::
-* Email the Personal Dictionary::
+* Word skipping by context::
+* Hidden Markov Model::
+* Email the Personal Dictionary::
\1f
File: aspell.info, Node: Word skipping by context, Next: Hidden Markov Model, Up: Notes on Various Items
This was posted on the Aspell mailing list on January 1, 1999:
I had an idea on a great general way to determine if a word should be
-skipped. Determine the words to skip based on the symbols that
-(almost) always surround the word.
+skipped. Determine the words to skip based on the symbols that (almost)
+always surround the word.
For example when asked to check the following C++ code:
cout << "My age is: " << num << endl;
cout << "Next year I will be " << num + 1 << endl;
- `cout', `num', and `endl' will all be skipped. `cout' will be
-skipped because it is always preceded by a `<<'. `num' will be skipped
-because it is always preceded by a `<<'. And `endl' will be skipped
-because it is always between a `<<' and a `;'.
+ ‘cout’, ‘num’, and ‘endl’ will all be skipped. ‘cout’ will be
+skipped because it is always preceded by a ‘<<’. ‘num’ will be skipped
+because it is always preceded by a ‘<<’. And ‘endl’ will be skipped
+because it is always between a ‘<<’ and a ‘;’.
Given the following HTML code.
<table width=50% cellspacing=0 cellpadding=1>
<table cellspacing=0 cellpadding=1>
</table>
- `table', `width' `cellspacing', `cellpadding', `tr', `td' will all
-be skipped because they are always enclosed in `<>'. Now of course
-`table' and `width' would be marked as correct anyway however there is
-no harm in skipping them.
+ ‘table’, ‘width’ ‘cellspacing’, ‘cellpadding’, ‘tr’, ‘td’ will all be
+skipped because they are always enclosed in ‘<>’. Now of course ‘table’
+and ‘width’ would be marked as correct anyway however there is no harm
+in skipping them.
So I was wondering if anyone on this list has any experience in
writing this sort of context recognition code or could give me some
D.3.2 Hidden Markov Model
-------------------------
-Knud Haugaard Sørensen suggested this one. From his email on the
-Aspell mailing list:
+Knud Haugaard Sørensen suggested this one. From his email on the Aspell
+mailing list:
consider these examples:
This might also provide a good base to include grammar correction in
Aspell.
- see this link `http://www.cse.ogi.edu/CSLU/HLTsurvey/ch1node7.html'.
+ see this link <http://www.cse.ogi.edu/CSLU/HLTsurvey/ch1node7.html>.
- I think it is a great idea. However unfortunately it will probably
-be very complicated to implement. Perhaps in the far future.
+ I think it is a great idea. However unfortunately it will probably
+be very complicated to implement. Perhaps in the far future.
\1f
File: aspell.info, Node: Email the Personal Dictionary, Prev: Hidden Markov Model, Up: Notes on Various Items
Someone suggested in a personal email:
Have you thought of adding a function to Aspell, that - when the
- personal dictionary has grown significantly - sends the user's
+ personal dictionary has grown significantly - sends the user’s
personal dictionary to the maintainer of the corresponding Aspell
- dictionary? (if the user allows it)
+ dictionary? (if the user allows it)
It would be a very useful service to the dictionary maintainers,
and I think most users can see their benefit in it too.
Yes I have considered something like that but not for the personal
dictionaries but rather the replacement word list in order to get
- better test data for `http://aspell.sourceforge.net/test/'.
+ better test data for <http://aspell.net/test/>.
- The problem is I don't know of a good way to do this since Aspell can
+ The problem is I don’t know of a good way to do this since Aspell can
also be used as a library. It also is not a real high priority,
especially since I would first need to learn how to send email within a
C++ program.
any major problems provided that the compile can handle all of the
advanced C++ features Aspell uses. C++ compilers for non-Unix systems
might work but it will take some work. Aspell at very least requires a
-Unix-like environment (`sh', `grep', `sed', `tr', ...), and Perl in
-order to build. Aspell also uses a few POSIX functions when necessary.
+Unix-like environment (‘sh’, ‘grep’, ‘sed’, ‘tr’, …), and Perl in order
+to build. Aspell also uses a few POSIX functions when necessary.
- The latest version can always be found at GNU Aspell's home page at
-`http://aspell.net'.
+ The latest version can always be found at GNU Aspell’s home page at
+<http://aspell.net>.
* Menu:
-* Generic Install Instructions::
-* HTML Manuals and "make clean"::
-* Curses Notes::
-* Loadable Filter Notes::
-* Upgrading from Aspell 0.50::
-* Upgrading from Aspell .33/Pspell .12::
-* Upgrading from a Pre-0.50 snapshot::
-* WIN32 Notes::
+* Generic Install Instructions::
+* HTML Manuals and "make clean"::
+* Curses Notes::
+* Loadable Filter Notes::
+* Using 32-Bit Dictionaries on a 64-Bit System::
+* Upgrading from Aspell 0.50::
+* Upgrading from Aspell .33/Pspell .12::
+* Upgrading from a Pre-0.50 snapshot::
+* WIN32 Notes::
\1f
File: aspell.info, Node: Generic Install Instructions, Next: HTML Manuals and "make clean", Up: Installing
./configure && make
- For additional `configure' options type `./configure --help'. You
+ For additional ‘configure’ options type ‘./configure --help’. You
can control what C++ compiler is used by setting the environment
-variable `CXX' before running configure and you can control what flags
-are passed to the C++ compile via the environment variable `CXXFLAGS'.
-Static libraries are disabled by default since static libraries will
-not work right due to the mixing of C and C++. When a C program links
-with the static libraries in Aspell it is likely to crash because
-Aspell's C++ objects are not getting initialized correctly. However,
-if for some reason you want them, you can enable them via
-`--enable-static'.
+variable ‘CXX’ before running configure and you can control what flags
+are passed to the C++ compile via the environment variable ‘CXXFLAGS’.
+Static libraries are disabled by default since static libraries will not
+work right due to the mixing of C and C++. When a C program links with
+the static libraries in Aspell it is likely to crash because Aspell’s
+C++ objects are not getting initialized correctly. However, if for some
+reason you want them, you can enable them via ‘--enable-static’.
Aspell should then compile without any additional user intervention.
If you run into problems please first check the sections below as that
make install
After Aspell is installed at least one dictionary needs to be
-installed. You can find them at `http://aspell.net/'. The `aspell'
+installed. You can find them at <http://aspell.net/>. The ‘aspell’
program must be in your path in order for the dictionaries to install
correctly.
- If you do not have Ispell or the traditional Unix `spell' utility
+ If you do not have Ispell or the traditional Unix ‘spell’ utility
installed on your system then you should also copy the compatibility
-scripts `ispell' and `spell' located in the `scripts/' directory into
-your binary directory which is usually `/usr/local/bin' so that
-programs that expect the `ispell' or `spell' command will work
-correctly.
+scripts ‘ispell’ and ‘spell’ located in the ‘scripts/’ directory into
+your binary directory which is usually ‘/usr/local/bin’ so that programs
+that expect the ‘ispell’ or ‘spell’ command will work correctly.
\1f
File: aspell.info, Node: HTML Manuals and "make clean", Next: Curses Notes, Prev: Generic Install Instructions, Up: Installing
-E.2 HTML Manuals and `make clean'
+E.2 HTML Manuals and ‘make clean’
=================================
The Aspell distribution includes HTML versions of the User and
-Developer's manual. Unfortunately, doing a `make clean' will erase
+Developer’s manual. Unfortunately, doing a ‘make clean’ will erase
them. This is due to a limitation of automake which is not easily
-fixed. If makeinfo is installed they can easily be rebuild with `make
-aspell.html aspell-dev.html', or you can unpack them from the tarbar.
+fixed. If makeinfo is installed they can easily be rebuild with ‘make
+aspell.html aspell-dev.html’, or you can unpack them from the tarball.
\1f
File: aspell.info, Node: Curses Notes, Next: Loadable Filter Notes, Prev: HTML Manuals and "make clean", Up: Installing
E.3 Curses Notes
================
-If you are having problems compiling `check_funs.cpp' then the most
-likely reason is due to incompatibilities with the curses
-implementation on your system. You should first try disabling the
-"wide" curses library by with the `--disable-wide-curses' configure
-option.. By doing so you will lose support for properly displaying
-UTF-8 characters but you may still be able to get the full screen
-interface. If this fails than you can disable curses support
-altogether with the `--disable-curses' configure option. By doing this
-you will lose the nice full screen interface but hopefully you will be
-able to at least get Aspell to compile correctly.
-
- If the curses library is installed in a non-standard location than
+If you are having problems compiling ‘check_funs.cpp’ then the most
+likely reason is due to incompatibilities with the curses implementation
+on your system. You should first try disabling the “wide” curses
+library with the ‘--disable-wide-curses’ configure option. By doing so
+you will lose support for properly displaying UTF-8 characters but you
+may still be able to get the full screen interface. If this fails then
+you can disable curses support altogether with the ‘--disable-curses’
+configure option. By doing this you will lose the nice full screen
+interface but hopefully you will be able to at least get Aspell to
+compile correctly.
+
+ If the curses library is installed in a non-standard location then
you can specify the library and include directory with
-`--enable-curses=LIB' and `--enable-curses-include=DIR'.
+‘--enable-curses=LIB’ and ‘--enable-curses-include=DIR’.
- `LIB' can either be the complete path of the library--for example
+ ‘LIB’ can either be the complete path of the library—for example
/usr/local/curses/libcurses.a
- or the name of the library (for example `ncurses') or a combined
-location and library in the form `-LLIBDIR -lLIB' (for example
-`-L/usr/local/ncurses/lib -lncurses').
+ or the name of the library (for example ‘ncurses’) or a combined
+location and library in the form ‘-LLIBDIR -lLIB’ (for example
+‘-L/usr/local/ncurses/lib -lncurses’).
DIR is the location of the curses header files (for example
-`/usr/local/ncurses/include').
+‘/usr/local/ncurses/include’).
E.3.1 Unicode Support
---------------------
In order for Aspell to correctly spell check UTF-8 documents in full
-screen mode the "wide" version of the curses library must be installed.
+screen mode the “wide” version of the curses library must be installed.
This is different from the normal version of curses library, and is
-normally named `libcursesw' (with a `w' at the end) or `libncursesw'.
+normally named ‘libcursesw’ (with a ‘w’ at the end) or ‘libncursesw’.
UTF-8 documents will not display correctly without the right curses
version installed.
- In addition your system must also support the `mblen' function.
+ In addition your system must also support the ‘mblen’ function.
Although this function was defined in the ISO C89 standard (ANSI
X3.159-1989), not all systems have it.
\1f
-File: aspell.info, Node: Loadable Filter Notes, Next: Upgrading from Aspell 0.50, Prev: Curses Notes, Up: Installing
+File: aspell.info, Node: Loadable Filter Notes, Next: Using 32-Bit Dictionaries on a 64-Bit System, Prev: Curses Notes, Up: Installing
E.4 Loadable Filter Notes
=========================
-Support for being able to load additional filter modules at run-time
-has only been verified to work on Linux platforms. If you get linker
-errors when trying to use a filter, then it is likely that loadable
-filter support is not working yet on your platform. Thus, in order to
-get Aspell to work correctly you will need to avoid compiling the
-filters as individual modules by using the
-`--enable-compile-in-filters' when configuring Aspell with
-`./configure'.
+Support for being able to load additional filter modules at run-time has
+only been verified to work on Linux platforms. If you get linker errors
+when trying to use a filter, then it is likely that loadable filter
+support is not working yet on your platform. Thus, in order to get
+Aspell to work correctly you will need to avoid compiling the filters as
+individual modules by using the ‘--enable-compile-in-filters’ when
+configuring Aspell with ‘./configure’.
\1f
-File: aspell.info, Node: Upgrading from Aspell 0.50, Next: Upgrading from Aspell .33/Pspell .12, Prev: Loadable Filter Notes, Up: Installing
+File: aspell.info, Node: Using 32-Bit Dictionaries on a 64-Bit System, Next: Upgrading from Aspell 0.50, Prev: Loadable Filter Notes, Up: Installing
-E.5 Upgrading from Aspell 0.50
+E.5 Using 32-Bit Dictionaries on a 64-Bit System
+================================================
+
+Due to an oversight, Aspell compiled dictionaries not only depend on the
+endian order, they also depend on the the size of the ‘size_t’ type,
+which is generally different on 32 and 64-bit systems. The ‘size_t’
+type is used in the hash function of the compiled dictionaries. To
+force the hash function to use a 32-bit integer instead, use the
+‘--enable-32-bit-hash-fun’ configure option. This option will allow you
+to use dictionaries compiled on a 32-bit machine on a 64-bit one as long
+as the endian order is the same. Of course, dictionaries compiled on a
+64-bit machine without this option enabled will no longer be usable. If
+Aspell detects that an incompatible hash function is used, it will fail
+with:
+ Error: The file “SOME-FILE” is not in the proper format.
+ Incompatible hash function.
+
+\1f
+File: aspell.info, Node: Upgrading from Aspell 0.50, Next: Upgrading from Aspell .33/Pspell .12, Prev: Using 32-Bit Dictionaries on a 64-Bit System, Up: Installing
+
+E.6 Upgrading from Aspell 0.50
==============================
The dictionary format has changed so dictionaries will need to be
recompiled.
- All data, by default, is now included in `LIBDIR/aspell-0.60' so
-that multiple versions of Aspell can more peacefully coexist. This
-included both the dictionaries and the language data files which were
-stored in `SHAREDIR/aspell' before Aspell 0.60.
+ All data, by default, is now included in ‘LIBDIR/aspell-0.60’ so that
+multiple versions of Aspell can more peacefully coexist. This included
+both the dictionaries and the language data files which were stored in
+‘SHAREDIR/aspell’ before Aspell 0.60.
The format of the character data files has changed. The new
-character data files are installed with Aspell so you should not have
-to worry about it unless you made a custom one.
+character data files are installed with Aspell so you should not have to
+worry about it unless you made a custom one.
- The dictionary option `strip-accents' has been removed. For this
+ The dictionary option ‘strip-accents’ has been removed. For this
reason the old English dictionary (up to 0.51) will no longer work. A
new English dictionary is now available which avoids using this option.
-In addition the `ignore-accents' option is currently unimplemented.
+In addition the ‘ignore-accents’ option is currently unimplemented.
- The flag `-l' is now a shortcut for `--lang', instead of `--list' as
+ The flag ‘-l’ is now a shortcut for ‘--lang’, instead of ‘--list’ as
it was with Aspell 0.50.
-E.5.1 Binary Compatibility
+E.6.1 Binary Compatibility
--------------------------
The Aspell 0.60 library is binary compatible with the Aspell 0.50
However, this means that having both Aspell 0.50 and Aspell 0.60
installed at the same time can be pragmatic. If you wish to allow both
Aspell 0.50 and 0.60 to be installed at the same time then you can use
-the configure option `--incremented-soname' which will increment
+the configure option ‘--incremented-soname’ which will increment
so-name. You should only use this option if you know what you are
doing. It is up to you to somehow ensure that both the Aspell 0.50 and
0.60 executables can coexist.
If after incrementing the so-name you wish to allow programs compiled
for Aspell 0.50 to use Aspell 0.60 instead (thus implying that Aspell
0.50 is not installed) then you can use a special compatibility library
-which can be found in the `lib5' directory. This directory will not be
+which can be found in the ‘lib5’ directory. This directory will not be
entered when building or installing Aspell so you must manually build
and install this library. You should build it after the rest of Aspell
is built. The order in which this library is installed, with relation
to the rest of Aspell, is also important. If it is installed _after_
-the rest of Aspell then new programs will link to the old library
-(which will work for Aspell 0.50 or 0.60) when built, if installed
-_before_, new programs will link with the new library (Aspell 0.60
-only).
+the rest of Aspell then new programs will link to the old library (which
+will work for Aspell 0.50 or 0.60) when built, if installed _before_,
+new programs will link with the new library (Aspell 0.60 only).
\1f
File: aspell.info, Node: Upgrading from Aspell .33/Pspell .12, Next: Upgrading from a Pre-0.50 snapshot, Prev: Upgrading from Aspell 0.50, Up: Installing
-E.6 Upgrading from Aspell .33/Pspell .12
+E.7 Upgrading from Aspell .33/Pspell .12
========================================
Aspell has undergone an extremely large number of changes since the
Because of the massive changes between Aspell/Pspell and Aspell 0.50
you may want to clean out the old files before installing the the new
-Aspell. To do so do a `make uninstall' in the original Aspell and
+Aspell. To do so do a ‘make uninstall’ in the original Aspell and
Pspell source directories.
The way dictionaries are handled has also changed. This includes a
change in the naming conventions of both language names and
dictionaries. Due to the language name change, your old personal
dictionaries will not be recognized. However, you can import the old
-dictionaries by running the `aspell-import' script. This also means
-that dictionaries designed to work with older versions of Aspell are
-not likely to function correctly. Fortunately new dictionary packages
-are available for most languages. You can find them off of the Aspell
-home page at `http://aspell.net'.
+dictionaries by running the ‘aspell-import’ script. This also means
+that dictionaries designed to work with older versions of Aspell are not
+likely to function correctly. Fortunately new dictionary packages are
+available for most languages. You can find them off of the Aspell home
+page at <http://aspell.net>.
The Pspell ABI is now part of Aspell except that the name of
everything has changed due to the renaming of Pspell to Aspell. In
emulation -> enumeration
master_word_list -> main_word_list
- Please also note that the name of the `language-tag' option has
-changed to `lang'. However, for backward compatibility the
-`language-tag' option will still work.
+ Please also note that the name of the ‘language-tag’ option has
+changed to ‘lang’. However, for backward compatibility the
+‘language-tag’ option will still work.
However, you should also be able to build applications that require
Pspell with the new Aspell as a backward compatibility header file is
provided.
Due to a change in the way dictionaries are handled, scanning for
-`.pwli' files in order to find out which dictionaries are available
-will no longer work. This means that programs that relied on this
-technique may have problems finding dictionaries. Fortunately, GNU
-Aspell now provided a uniform way to list all installed dictionaries
-via the c API. See the file `list-dicts.c' in the `examples/'
-directory for an example of how to do this. Unfortunately there isn't
-any simple way to find out which dictionaries are installed which will
-work with both the old Aspell/Pspell and the new GNU Aspell.
+‘.pwli’ files in order to find out which dictionaries are available will
+no longer work. This means that programs that relied on this technique
+may have problems finding dictionaries. Fortunately, GNU Aspell now
+provided a uniform way to list all installed dictionaries via the c API.
+See the file ‘list-dicts.c’ in the ‘examples/’ directory for an example
+of how to do this. Unfortunately there isn’t any simple way to find out
+which dictionaries are installed which will work with both the old
+Aspell/Pspell and the new GNU Aspell.
\1f
File: aspell.info, Node: Upgrading from a Pre-0.50 snapshot, Next: WIN32 Notes, Prev: Upgrading from Aspell .33/Pspell .12, Up: Installing
-E.7 Upgrading from a Pre-0.50 snapshot
+E.8 Upgrading from a Pre-0.50 snapshot
======================================
-At the last minute I decided to merge the `speller-util' program into
-the main `aspell' program. You may wish to remove that `speller-util'
+At the last minute I decided to merge the ‘speller-util’ program into
+the main ‘aspell’ program. You may wish to remove that ‘speller-util’
program to avoid confusion. This also means that dictionaries designed
to work with the snapshot will no longer work with the official release.
\1f
File: aspell.info, Node: WIN32 Notes, Prev: Upgrading from a Pre-0.50 snapshot, Up: Installing
-E.8 WIN32 Notes
+E.9 WIN32 Notes
===============
-E.8.1 Getting the WIN32 version
+E.9.1 Getting the WIN32 version
-------------------------------
The latest version of the native Aspell/WIN32 port, including binaries,
-can be found at `http://aspell.net/win32'. This page has,
+can be found at <http://aspell.net/win32>. This page has,
unfortunately, not been updated for Aspell 0.60. If you are interested
in updated the native port please let me know.
-E.8.2 Building the WIN32 version
+E.9.2 Building the WIN32 version
--------------------------------
There are two basically different ways of building Aspell using GCC for
WIN32: You can either use the Cygwin compiler, which will produce
-binaries that depend on the POSIX layer in `cygwin1.dll'. The other
-way is using MinGW GCC, those binaries use the native C runtime from
+binaries that depend on the POSIX layer in ‘cygwin1.dll’. The other way
+is using MinGW GCC, those binaries use the native C runtime from
Microsoft (MSVCRT.DLL).
-E.8.2.1 Building Aspell using Cygwin
+E.9.2.1 Building Aspell using Cygwin
....................................
This works exactly like on other POSIX compatible systems using the
-`./configure && make && make install' cycle. Some versions of Cygwin
-GCC will fail to link, this is caused by an incorrect `libstdc++.la' in
-the `/lib' directory. After removing or renaming this file, the build
+‘./configure && make && make install’ cycle. Some versions of Cygwin
+GCC will fail to link, this is caused by an incorrect ‘libstdc++.la’ in
+the ‘/lib’ directory. After removing or renaming this file, the build
progress should work (GCC-2.95 and GCC-3.x should work).
-E.8.2.2 Building Aspell using MinGW
+E.9.2.2 Building Aspell using MinGW
...................................
-There are several different ways to build Aspell using MinGW. The
+There are several different ways to build Aspell using MinGW. The
easiest way is to use a Cygwin compiler but instruct it to build a
native binary rather than a Cygwin one. To do this configure with:
./configure CFLAGS='-O2 -mno-cygwin' CXXFLAGS='-O2 -mno-cygwin'
- You may also want to add the option `--enable-win32-relocatable' to
+ You may also want to add the option ‘--enable-win32-relocatable’ to
use more windows friendly directories. *Note Win32-Directories::. In
this case configure with:
It should also be possible to build Aspell using the MSYS
environment. But this has not been very well tested. If building with
-MSYS _do not_ add `CFLAGS ...' to configure.
+MSYS _do not_ add ‘CFLAGS …’ to configure.
-E.8.2.3 Building Aspell without using Cygwin or MSYS
+E.9.2.3 Building Aspell without using Cygwin or MSYS
....................................................
-It is also possible to build Aspell without Cygwin of MinGW by using
-the files in the `win32/' subdirectory. However, these files have not
-been updated to work with Aspell 0.60. Thus the following instructions
-will not work without some effort. If you do get Aspell to compile
-this way please send me the updated files so that I can include them
-with the next release.
+It is also possible to build Aspell without Cygwin of MinGW by using the
+files in the ‘win32/’ subdirectory. However, these files have not been
+updated to work with Aspell 0.60. Thus the following instructions will
+not work without some effort. If you do get Aspell to compile this way
+please send me the updated files so that I can include them with the
+next release.
To compile Aspell with the MinGW compiler, you will need at least
-GCC-3.2 (as shipped with MinGW-2.0.3) and some GNU tools like `rm' and
-`cp'. The origin of those tools doesn't matter, it has shown to work
+GCC-3.2 (as shipped with MinGW-2.0.3) and some GNU tools like ‘rm’ and
+‘cp’. The origin of those tools doesn’t matter, it has shown to work
with any tools from MinGW/MSys, Cygwin or Linux. To build Aspell, move
-into the `win32' subdirectory and type `make'. You can enable some
-additional build options by either commenting out the definitions at
-the head of the Makefile or passing those values as environment
-variables or at the `make' command line. Following options are
-supported:
+into the ‘win32’ subdirectory and type ‘make’. You can enable some
+additional build options by either commenting out the definitions at the
+head of the Makefile or passing those values as environment variables or
+at the ‘make’ command line. Following options are supported:
-`DEBUGVERSION'
+‘DEBUGVERSION’
If set to "1", the binaries will include debugging information
(resulting in a much bigger size).
-`CURSESDIR'
+‘CURSESDIR’
Enter the path to the pdcurses library here, in order to get a
nicer console interface (see below).
-`MSVCLIB'
- Enter the filename of MS `lib.exe' here, if you want to build
+‘MSVCLIB’
+ Enter the filename of MS ‘lib.exe’ here, if you want to build
libraries that can be imported from MS Visual C++.
-`WIN32_RELOCATABLE'
+‘WIN32_RELOCATABLE’
If set to "1", Aspell will detect the prefix from the path where
the DLL resides (see below for further details).
-`TARGET'
+‘TARGET’
Sets a prefix to be used for cross compilation (e.g.
- `/usr/local/bin/i586-mingw32msvc-' to cross compile from Linux).
+ ‘/usr/local/bin/i586-mingw32msvc-’ to cross compile from Linux).
There are also a MinGW compilers available for Cygwin and Linux, both
-versions are able to compile Aspell using the prebuilt `Makefile'.
+versions are able to compile Aspell using the prebuilt ‘Makefile’.
While the Cygwin port automatically detects the correct compiler, the
-Linux version depends on setting the `TARGET' variable in the
-`Makefile' (or environment) to the correct compiler prefix.
+Linux version depends on setting the ‘TARGET’ variable in the ‘Makefile’
+(or environment) to the correct compiler prefix.
Other compilers may work. There is a patch for MS Visual C++ 6.0
-available at `ftp://ftp.gnu.org/gnu/aspell', but it needs a lot of
-changes to the Aspell sources. It has also been reported that the
-Intel C++ compiler can be used for compilation.
+available at <ftp://ftp.gnu.org/gnu/aspell>, but it needs a lot of
+changes to the Aspell sources. It has also been reported that the Intel
+C++ compiler can be used for compilation.
-E.8.3 (PD)Curses
+E.9.3 (PD)Curses
----------------
In order to get the nice full screen interface when spell checking
-files, a curses implementation that does not require Cygwin is
-required. The PDCurses (`http://pdcurses.sourceforge.net')
-implementation is known to work, other implementations may work however
-they have not been tested. See the previous section for information on
-specifying the location of the curses library and include file.
+files, a curses implementation that does not require Cygwin is required.
+The PDCurses (<http://pdcurses.sourceforge.net>) implementation is known
+to work, other implementations may work however they have not been
+tested. See the previous section for information on specifying the
+location of the curses library and include file.
Curses notes:
- * PDcurses built with MinGW needs to be compiled with
- `-DPDC_STATIC_BUILD' to avoid duplicate declaration of `DllMain'
- when compiling `aspell.exe'.
+ • PDcurses built with MinGW needs to be compiled with
+ ‘-DPDC_STATIC_BUILD’ to avoid duplicate declaration of ‘DllMain’
+ when compiling ‘aspell.exe’.
- * The curses enabled version can cause trouble in some shells (MSys
- `rxvt', `emacs') and will produce errors like `initscr() LINES=1
- COLS=1: too small'. Use a non-curses version for those purposes.
+ • The curses enabled version can cause trouble in some shells (MSys
+ ‘rxvt’, ‘emacs’) and will produce errors like ‘initscr() LINES=1
+ COLS=1: too small’. Use a non-curses version for those purposes.
-E.8.4 Directories
+E.9.4 Directories
-----------------
-If Aspell is configured with `--enable-win32-relocatable' or compiled
-with `WIN32_RELOCATABLE=1' when using a Makefile, it can be run from
-any directory: it will set `PREFIX' according to its install location
-(assuming it resides in `PREFIX\\bin'). Your personal wordlists will
-be saved in the `PREFIX' directory with their names changed from
-`.aspell.LANG.*' to `LANG.*' (you can override the path by setting the
-`HOME' environment variable).
+If Aspell is configured with ‘--enable-win32-relocatable’ or compiled
+with ‘WIN32_RELOCATABLE=1’ when using a Makefile, it can be run from any
+directory: it will set ‘PREFIX’ according to its install location
+(assuming it resides in ‘PREFIX\\bin’). Your personal wordlists will be
+saved in the ‘PREFIX’ directory with their names changed from
+‘.aspell.LANG.*’ to ‘LANG.*’ (you can override the path by setting the
+‘HOME’ environment variable).
-E.8.5 Installer
+E.9.5 Installer
---------------
The installer registers the DLLs as shared libraries, you should
HKLM\SOFTWARE\Aspell
-E.8.6 WIN32 consoles
+E.9.6 WIN32 consoles
--------------------
The console uses a different encoding than GUI applications, changing
-this to to a Windows encoding (e.g. 1252) is not supported on
-Win9x/Me. On WinNT (and later) those codepages can be set by first
-changing the console font to `lucida console', then changing the
-codepage using `chcp 1252'.
+this to to a Windows encoding (e.g. 1252) is not supported on Win9x/Me.
+On WinNT (and later) those codepages can be set by first changing the
+console font to ‘lucida console’, then changing the codepage using ‘chcp
+1252’.
- Some alternative shells (e.g. MSys' `rxvt' or Cygwin's `bash') do a
+ Some alternative shells (e.g. MSys’ ‘rxvt’ or Cygwin’s ‘bash’) do a
codepage conversion (if correctly set up), so running Aspell inside
those shells might be a workaround for Win9x.
Appendix F ChangeLog
********************
+Changes from 0.60.6.1 to 0.60.7 (July 29, 2019)
+===============================================
+
+ • Add partial support for recognizing the Unicode apostrophe (’) in
+ words. In particular Aspell will accept the Unicode apostrophe
+ when the language uses an ISO Latin charset that doesn’t already
+ have a Unicode apostrophe. For now, Aspell will still use the
+ ASCII version in suggestions.
+ • Detect when a dictionary compiled on a 32-bit machine is used on a
+ 64-bit one (and vise versa), as due to an oversight, compiled
+ dictionaries depend on more than the endianness. Also added a
+ compile time option to remove this dependency, but at the cost of
+ breaking compatibility with already compiled dictionaries on 64-bit
+ systems.
+ • Fix a bug which caused Aspell to crash when passing in a null
+ string to almost any of the C API functions. This should not
+ happen if the size is also zero as the pointer should never be
+ derefrenced.
+ • Fix a bug that caused Aspell to crash with a SEGFAULT when built
+ with mingw-w64.
+ • In addition to outputting a warning when building with NDEBUG
+ defined, also include NDEBUG in the version string.
+ • Various compile fixes for newer version of Gcc and Clang.
+ • Fix VPATH builds.
+ • Use utf-8 encoding for manual instead of iso-8859-1.
+ • Other minor updates and bug fixes.
+
Changes from 0.60.6 to 0.60.6.1 (July 4, 2011)
==============================================
- * Update to Automake 1.10.3.
-
- * Fix a bug which caused a race condition (leading to a likely crash)
+ • Update to Automake 1.10.3
+ • Fix a bug which caused a race condition (leading to a likely crash)
when two threads try to update the dictionary cache at the same
time.
-
- * Make it very clear that compiling Aspell with NDEBUG is a bad idea
- (see `http://aspell.net/ndebug.html') by outputting a warning when
+ • Make it very clear that compiling Aspell with NDEBUG is a bad idea
+ (see <http://aspell.net/ndebug.html>) by outputting a warning when
building with NDEBUG defined.
-
- * Numerous other minor updates and bug fixes.
+ • Numerous other minor updates and bug fixes.
Changes from 0.60.5 to 0.60.6 (April 16, 2007)
==============================================
- * Compile fixes for Gcc 4.3.
-
- * Updated to Libtool 2.2.2 and Automake 1.10.1
-
- * Minor tweak to suggestion code which improved suggestion results in
+ • Compile fixes for Gcc 4.3.
+ • Updated to Libtool 2.2.2 and Automake 1.10.1
+ • Minor tweak to suggestion code which improved suggestion results in
certain cases.
-
- * Always line buffer stdout and stderr in the Aspell utility when
+ • Always line buffer stdout and stderr in the Aspell utility when
there is the potential for it to be used interactively through a
pipe.
-
- * Removed debug output in `aspell munch-list'.
-
- * Other minor updates and bug fixes.
+ • Removed debug output in ‘aspell munch-list’.
+ • Other minor updates and bug fixes.
Changes from 0.60.4 to 0.60.5 (December 18, 2006)
=================================================
- * Compile fix for Gcc 4.1
-
- * Updated to Gettext 0.16.1, Libtool 1.5.22, Automake 1.10, Autoconf
+ • Compile fix for Gcc 4.1
+ • Updated to Gettext 0.16.1, Libtool 1.5.22, Automake 1.10, Autoconf
2.61
-
- * Documentation improvements, including an updated `man' page.
-
- * Complain if more than one file is specified when checking files
- using the `aspell check' command, rather than ignoring the other
+ • Documentation improvements, including an updated ‘man’ page.
+ • Complain if more than one file is specified when checking files
+ using the ‘aspell check’ command, rather than ignoring the other
files.
-
- * Large number of bug fixes.
+ • Large number of bug fixes.
Changes from 0.60.3 to 0.60.4 (October 19, 2005)
================================================
- * Fixed a bug that caused Aspell to crash when checking certain
+ • Fixed a bug that caused Aspell to crash when checking certain
Russian words, this bug likely affected other languages as well.
-
- * Updated to Gettext 0.14.5 which is required for AMD64, also
- updated to to Libtool 1.5.20.
-
- * Fixed an alignment bug which caused mmap to always fail when
+ • Updated to Gettext 0.14.5 which is required for AMD64, also updated
+ to to Libtool 1.5.20.
+ • Fixed an alignment bug which caused mmap to always fail when
reading in dictionaries.
-
- * Added note about how `make clean' will remove the HTML manuals.
-
- * Added manual page for prezip-bin and enhanced word-list-compress
+ • Added note about how ‘make clean’ will remove the HTML manuals.
+ • Added manual page for prezip-bin and enhanced word-list-compress
manual page thanks to the work of Jose Da Silva.
-
- * Other minor updates and bug fixes.
+ • Other minor updates and bug fixes.
Changes from 0.60.2 to 0.60.3 (June 28, 2005)
=============================================
- * Fixed bugs involving several of the C API functions.
-
- * Fixed bug where `ultra' or `fast' mode would not return any
+ • Fixed bugs involving several of the C API functions.
+ • Fixed bug where ‘ultra’ or ‘fast’ mode would not return any
suggestions when soundslike lookup was not used.
-
- * Made a minor, yet significant, optimization to the suggestion code.
+ • Made a minor, yet significant, optimization to the suggestion code.
This sped things up by an order of magnitude in some cases.
-
- * Avoid using the slow ngram scan except when the `sug-mode' is
- `slow' or `bad-speller'.
-
- * Fixed a bug in curses mode which caused word-wrap to not work
+ • Avoid using the slow ngram scan except when the ‘sug-mode’ is
+ ‘slow’ or ‘bad-speller’.
+ • Fixed a bug in curses mode which caused word-wrap to not work
correctly in some cases.
-
- * Fixed a bug in pipe mode with a missing newline.
-
- * Fixed the `spell' compatibility script.
-
- * Several other minor bugs fixed.
-
- * Made note about the change in behavior of the `-l' command line
+ • Fixed a bug in pipe mode with a missing newline.
+ • Fixed the ‘spell’ compatibility script.
+ • Several other minor bugs fixed.
+ • Made note about the change in behavior of the ‘-l’ command line
switch.
-
- * Other manual update/fixes.
-
- * Updated to Libtool 1.5.18, Automake 1.9.6, and Makeinfo 4.8.
+ • Other manual update/fixes.
+ • Updated to Libtool 1.5.18, Automake 1.9.6, and Makeinfo 4.8.
Changes from 0.60.1 to 0.60.2 (December 18, 2004)
=================================================
- * Added the `munch-list' command to the Aspell utility. The `munch'
- program in the `myspell/' directory will disappear in Aspell 0.61.
- The `munchlist' script will also likely disappear or be replaced
- when Aspell 0.61 is released since it doesn't work correctly
+ • Added the ‘munch-list’ command to the Aspell utility. The ‘munch’
+ program in the ‘myspell/’ directory will disappear in Aspell 0.61.
+ The ‘munchlist’ script will also likely disappear or be replaced
+ when Aspell 0.61 is released since it doesn’t work correctly
anyway.
-
- * Several important bug fixes some of which rendered some non-English
+ • Several important bug fixes some of which rendered some non-English
languages unusable.
-
- * Other minor changes.
+ • Other minor changes.
Changes from 0.60.1 to 0.60.1.1 (November 20, 2004)
===================================================
- * Fix bug involving checking of capitalized word when affix
+ • Fix bug involving checking of capitalized word when affix
compression is used.
-
- * Compile fixes.
-
- * Added an option to disable using the "wide" curses version in case
+ • Compile fixes.
+ • Added an option to disable using the “wide” curses version in case
it causes compile problems.
-
- * Minor manual updates
-
- * Avoided including some unnecessary files in the distribution.
+ • Minor manual updates
+ • Avoided including some unnecessary files in the distribution.
Changes from 0.60 to 0.60.1 (November 7, 2004)
==============================================
- * Lots of compile fixes for various platforms.
-
- * Miscellaneous bug fixes.
-
- * Added Nroff filter thanks to Sergey Poznyakoff.
-
- * The default filter mode when in pipe mode is now nroff for
+ • Lots of compile fixes for various platforms.
+ • Miscellaneous bug fixes.
+ • Added Nroff filter thanks to Sergey Poznyakoff.
+ • The default filter mode when in pipe mode is now nroff for
compatibility with Ispell.
-
- * Added Texinfo filter.
-
- * Added a section detailing the differences between Ispell and
+ • Added Texinfo filter.
+ • Added a section detailing the differences between Ispell and
Aspell.
-
- * Updated the section on thread safety.
-
- * Other miscellaneous manual changes such as updating the To Do and
+ • Updated the section on thread safety.
+ • Other miscellaneous manual changes such as updating the To Do and
Authors section.
Changes from 0.50.5 to 0.60 (August 27, 2004)
=============================================
- * Added support for Affix Compression. Affix compression stores the
+ • Added support for Affix Compression. Affix compression stores the
root word and then a list of prefixes and suffixes that the word
can take, and thus saves a lot of space. The codebase comes from
MySpell found in OpenOffice. It uses the same affix file that
OpenOffice (and Mozilla) use. Affix compression will even work
with soundslike lookup to a limited extent.
-
- * Added support for accepting all input and printing all output in
+ • Added support for accepting all input and printing all output in
UTF-8 or some other encoding different from the one Aspell uses.
This includes support for Unicode normalization. Aspell can now
support any language with no more than 210 distinct characters,
- including different capitalizations and accents, _even if_ there
- is not an existing 8-bit encoding that supports the language.
-
- * Added support for loadable filters and customizable filter modes
- thanks to Christoph Hintermüller.
-
- * Enhanced SGML filter to also support skipping sgml tags such as
+ including different capitalizations and accents, _even if_ there is
+ not an existing 8-bit encoding that supports the language.
+ • Added support for loadable filters and customizable filter modes
+ thanks to Christoph Hintermüller.
+ • Enhanced SGML filter to also support skipping sgml tags such as
"script" blocks thanks to Tom Snyder.
-
- * Added gettext support thanks to Sergey Poznyakoff
-
- * Reworked the compiled dictionary format. Compiled dictionaries
- now take up less space (less than 80% for the English language) and
- creating them is significantly faster (over 4 times for the
- English language).
-
- * Reworked suggestion code. It is significantly faster when dealing
+ • Added gettext support thanks to Sergey Poznyakoff
+ • Reworked the compiled dictionary format. Compiled dictionaries now
+ take up less space (less than 80% for the English language) and
+ creating them is significantly faster (over 4 times for the English
+ language).
+ • Reworked suggestion code. It is significantly faster when dealing
with short words (up to 10 times). Also added support for MySpell
Replacement Tables and n-gram lookup. In addition, added basic
support for compound words.
-
- * Manual has has been converted to texinfo format thanks to the work
+ • Manual has has been converted to texinfo format thanks to the work
of Chris Martin.
-
- * Reworked the build system so that a single Makefile is used for
+ • Reworked the build system so that a single Makefile is used for
most of the code.
-
- * All data, by default, is now included in `LIBDIR/aspell-0.60'.
+ • All data, by default, is now included in ‘LIBDIR/aspell-0.60’.
Also added a built time option to increment the major version
number of the shared library. This should allow both Aspell
version 0.50 and 0.60 to coexist. The major version number is
_not_ incremented by default as Aspell 0.60 is binary compatible
with Aspell 0.50. *Note Binary Compatibility::.
-
- * The code to handle dictionaries has been rewritten. Because of
- this support for the dictionary option `strip-accents' has been
- removed. In addition the `ignore-accents' option is currently
+ • The code to handle dictionaries has been rewritten. Because of
+ this support for the dictionary option ‘strip-accents’ has been
+ removed. In addition the ‘ignore-accents’ option is currently
unimplemented.
-
- * Lots of other minor changes due to massive overhaul of the source
+ • Lots of other minor changes due to massive overhaul of the source
code.
-
Changes from 0.50.4.1 to 0.50.5 (Feb 10, 2004)
==============================================
- * Reworked url filter which fixed several bugs and now accepts
+ • Reworked url filter which fixed several bugs and now accepts
"bla.bla/kdkdl" as a url.
-
- * Fixed bug in which the url filter was coming before all other
- filters when it was supposed to come after. This solved a number
+ • Fixed bug in which the url filter was coming before all other
+ filters when it was supposed to come after. This solved a number
of problems where the url filter was interfering with other
filters.
-
- * Small bug fix in SGML filter.
-
- * Added code page charsets, ie cp125?.dat.
-
- * Added natural (split) keyboard data file as "split.kbd"
-
- * Compile fixes for the upcoming Gcc 3.4
-
- * Removed Solaris link hack as it was causing more problems than it
+ • Small bug fix in SGML filter.
+ • Added code page charsets, ie cp125?.dat.
+ • Added natural (split) keyboard data file as "split.kbd"
+ • Compile fixes for the upcoming Gcc 3.4
+ • Removed Solaris link hack as it was causing more problems than it
fixes.
-
- * Compile fixes for Sun WorkShop 6 compiler, but there may still be
+ • Compile fixes for Sun WorkShop 6 compiler, but there may still be
some problems, especially with linking.
-
- * Included patch to help compile with Microsoft Visual C++ 6.
-
- * Minor manual fixes.
-
- * Updated the TODO section to reflect the current progress with the
+ • Included patch to help compile with Microsoft Visual C++ 6.
+ • Minor manual fixes.
+ • Updated the TODO section to reflect the current progress with the
next major version of Aspell (0.51).
-
- * Updated to Autoconf 2.59, Automake 1.82, and Libtool 1.5.2.
+ • Updated to Autoconf 2.59, Automake 1.82, and Libtool 1.5.2.
Changes from 0.50.4 to 0.50.4.1 (Oct 11, 2003)
==============================================
- * Fixed major bug in pipe mode which caused the last character to be
+ • Fixed major bug in pipe mode which caused the last character to be
chopped off words before they were stored.
-
- * Minor formating fixes in the manual.
+ • Minor formating fixes in the manual.
Changes from 0.50.3 to 0.50.4 (Sep 26, 2003)
============================================
- * Minor changes in URL filter to avoid treating the double quote
+ • Minor changes in URL filter to avoid treating the double quote
character as part of the URL, and to avoid treating words ending in
more than one period as a URL.
- * Document fixes in Aspell API
+ • Document fixes in Aspell API
- * Small compile fixes, including one for GCC 3.3
+ • Small compile fixes, including one for GCC 3.3
- * Updated Win32 section since a port now exists thanks to Thorsten
+ • Updated Win32 section since a port now exists thanks to Thorsten
Maerz.
- * Complain instead of doing nothing or aborting for unimplemented
+ • Complain instead of doing nothing or aborting for unimplemented
functions in Aspell utility.
- * Portability bug fixes.
+ • Portability bug fixes.
- * Upgraded to Autoconf 2.57, Automake 1.7.7, Libtool 1.5 (no longer
- use CVS version of libtool).
+ • Upgraded to Autoconf 2.57, Automake 1.7.7, Libtool 1.5 (no longer
+ use CVS version of libtool).
Changes from 0.50.2 to 0.50.3 (Nov 23, 2002)
============================================
- * Hopefully fixed the Ispell alignment error problem when Aspell is
+ • Hopefully fixed the Ispell alignment error problem when Aspell is
used with ispell.el.
- * Fixed a problem with personal dictionaries on NFS mounted home
+ • Fixed a problem with personal dictionaries on NFS mounted home
directories.
- * Compiled libaspell-common directory into libaspell for now to avoid
+ • Compiled libaspell-common directory into libaspell for now to avoid
forcing applications to relink whenever a new Aspell version is out
- which was due to the use of the libtool '-release' flag.
+ which was due to the use of the libtool ’-release’ flag.
- * Fixed Makefiles so that Aspell can be built outside the source tree
+ • Fixed Makefiles so that Aspell can be built outside the source tree
(i.e. with VPATH).
- * Updated the section on compiling with Win32.
+ • Updated the section on compiling with Win32.
- * Updated to Autoconf 2.56.
+ • Updated to Autoconf 2.56.
Changes from 0.50.1 to 0.50.2 (Sep 28, 2002)
============================================
- * Fixed a number of bugs in Ispell compatibility mode
+ • Fixed a number of bugs in Ispell compatibility mode
- * Fixed a number of bugs with the handling of replacement pairs
+ • Fixed a number of bugs with the handling of replacement pairs
- * Other miscellaneous bug fixes
+ • Other miscellaneous bug fixes
- * Additional Win32 portability fixes
+ • Additional Win32 portability fixes
- * Added the Ukrainian KOI8-U charset.
+ • Added the Ukrainian KOI8-U charset.
Changes from 0.50 to 0.50.1 (Aug 28, 2002)
==========================================
- * A rather large number of portability fixes for non GNU/Linux
+ • A rather large number of portability fixes for non GNU/Linux
platforms.
- * Fixed pkglibdir and pkgdatadir in configure.
+ • Fixed pkglibdir and pkgdatadir in configure.
- * Reintroduced some configure options from Aspell .33.7 included
+ • Reintroduced some configure options from Aspell .33.7 included
dict-dir, data-dir, curses, curses-include, win32-relocatable.
- * Fixed Aspell so it will now compile with -O3 when using gcc.
+ • Fixed Aspell so it will now compile with -O3 when using gcc.
- * Updated note on Win32 support.
+ • Updated note on Win32 support.
- * Other minor manual improvements.
+ • Other minor manual improvements.
- * Portability fixes in dictionary files
+ • Portability fixes in dictionary files
- * Official dictionary package for the Slovak language.
+ • Official dictionary package for the Slovak language.
Changes from .33.7.1 to 0.50 (Aug 23, 2002)
===========================================
- * A complete overhaul of the source code which included merging
+ • A complete overhaul of the source code which included merging
Pspell into Aspell.
- * Changed the way dictionaries and languages are handled.
+ • Changed the way dictionaries and languages are handled.
- * Added Dvorak keymap.
+ • Added Dvorak keymap.
- * Added the ability to list the available dictionaries
+ • Added the ability to list the available dictionaries
- * Improved the spell checking interface a bit.
+ • Improved the spell checking interface a bit.
- * Added support for using the Ispell keymapping when checking files.
+ • Added support for using the Ispell keymapping when checking files.
- * Complete rewrite of the filter interface. It should now be
- fairly easy to add new filters to Aspell.
+ • Complete rewrite of the filter interface. It should now be fairly
+ easy to add new filters to Aspell.
- * Added some preliminary developer documentation.
+ • Added some preliminary developer documentation.
- * Lots of other changes due to the massive overhaul of the source
+ • Lots of other changes due to the massive overhaul of the source
code.
Changes from .33.7 to .33.7.1 (Aug 20, 2001)
============================================
- * Minor manual fixes.
+ • Minor manual fixes.
- * Compile fix for Gcc 3.0 and Solaris.
+ • Compile fix for Gcc 3.0 and Solaris.
Changes from .33.6.3 to .33.7 (Aug 2, 2001)
===========================================
- * Updates to Autoconf 2.50 and switched to the HEAD branch of
+ • Updates to Autoconf 2.50 and switched to the HEAD branch of
libtools.
- * Fixed a bug which caused Aspell to crash when typo-analysis was not
+ • Fixed a bug which caused Aspell to crash when typo-analysis was not
used such as when sug-mode is *fast* or *bad spellers*.
- * Added support for typo-analysis even when a soundslike was not
+ • Added support for typo-analysis even when a soundslike was not
used.
- * Fixed a bug which causes extended charters to display incorrectly
+ • Fixed a bug which causes extended charters to display incorrectly
on some platforms
- * Compile fixes so that it will compile with Gcc 3.0.
+ • Compile fixes so that it will compile with Gcc 3.0.
- * Compile fixed which should allow Aspell to compile with Egcs 1.1.
+ • Compile fixed which should allow Aspell to compile with Egcs 1.1.
I have not been able to actually test it though. Please let me
know at kevina@users.sourceforge.net if you have tried with Egcs
1.1.
- * Compile and configuration script fixes so that USE_FILE_INO will
+ • Compile and configuration script fixes so that USE_FILE_INO will
properly be defined and Aspell will compile correctly when it is
defined.
- * More ANSI C++ compliance fixes.
+ • More ANSI C++ compliance fixes.
Changes from .33.6.2 to .33.6.3 (June 3, 2001)
==============================================
- * Fixed a build problem in the manual/ directory by including
+ • Fixed a build problem in the manual/ directory by including
manual-text and manual-html in the distribution.
Changes from .33.6.1 to .33.6.2 (June 3, 2001)
==============================================
- * Compile fix so that Aspell will work correctly when not installed
+ • Compile fix so that Aspell will work correctly when not installed
in /usr/local.
- * Avoided regenerating the manual unless configured with
+ • Avoided regenerating the manual unless configured with
enable-maintainer-mode.
- * Added the missing documentation files in the scowl directory.
+ • Added the missing documentation files in the scowl directory.
Changes from .33.6 to .33.6.1 (May 29, 2001)
============================================
- * Fixed a formating problem with the manual involving <.
+ • Fixed a formating problem with the manual involving <.
- * Added a note about creating pwli files.
+ • Added a note about creating pwli files.
- * Removed the space after between the -L and the directory name in
- the pspell-module/Makefile which caused problems on some
- platforms.
+ • Removed the space after between the -L and the directory name in
+ the pspell-module/Makefile which caused problems on some platforms.
- * Added the configure option AM_MAINTAINER_MODE to avoid enabling
+ • Added the configure option AM_MAINTAINER_MODE to avoid enabling
rules which often causes generated build files to be rebuilt with
- the wrong version of Libtool by default. I don't know why I
- didn't think to do this a long time ago.
+ the wrong version of Libtool by default. I don’t know why I didn’t
+ think to do this a long time ago.
Changes from .33.5 to .33.6 (May 18, 2001)
==========================================
- * Fixed a minor bug where some words would have random compound tags
+ • Fixed a minor bug where some words would have random compound tags
attached to them.
- * Fixed a compile problem on many platforms where fileno is defined
+ • Fixed a compile problem on many platforms where fileno is defined
as a macro.
- * Updated the description for a few of Aspell's options.
+ • Updated the description for a few of Aspell’s options.
- * Removed the note of Aspell not being able to run when compiled with
+ • Removed the note of Aspell not being able to run when compiled with
the upcoming Gcc 3.0 compiler as things seam to work now.
- * Added a note about Aspell not being able to compile with Egcs 1.1.
+ • Added a note about Aspell not being able to compile with Egcs 1.1.
- * Added hack to deal with Libtool's interdependencies problem. See
+ • Added hack to deal with Libtool’s interdependencies problem. See
bug #416981 for Pspell for more info.
Changes from .33 to .33.5 (April 5, 2001)
=========================================
- * *dump master* correctly detects which dictionary and language to
- use based on the `LANG' environment variable.
+ • *dump master* correctly detects which dictionary and language to
+ use based on the ‘LANG’ environment variable.
- * Fixed a problem on Win32 which involves path names that began with
+ • Fixed a problem on Win32 which involves path names that began with
<Drive Letter>:.
- * Bug fixes and enhancements so that Aspell can once again run under
- MinGW. You can even use the new full screen interface if Aspell is
+ • Bug fixes and enhancements so that Aspell can once again run under
+ MinGW. You can even use the new full screen interface if Aspell is
compiled with PDCurses.
- * Some major modifications to make Aspell more C++ compliant in
- order to get Aspell to compile under the upcoming Gcc 3.0
- compiler. This included only using STL features found in the
- standard version of C++. (Which means Aspell will no longer
- require using the SGI version of the STL) This should also make
- compiling C++ under non-gcc compilers a lot simpler. Please note
- that Aspell still has some problems with the upcoming Gcc 3.0
- compiler.
+ • Some major modifications to make Aspell more C++ compliant in order
+ to get Aspell to compile under the upcoming Gcc 3.0 compiler. This
+ included only using STL features found in the standard version of
+ C++. (Which means Aspell will no longer require using the SGI
+ version of the STL) This should also make compiling C++ under
+ non-gcc compilers a lot simpler. Please note that Aspell still has
+ some problems with the upcoming Gcc 3.0 compiler.
- * Minor changes to remove some -Wall warnings.
+ • Minor changes to remove some -Wall warnings.
- * Added a hack so that Aspell would properly compile as a shared
+ • Added a hack so that Aspell would properly compile as a shared
library under Solaris.
- * Added a few important missing words to the English word list.
+ • Added a few important missing words to the English word list.
Changes from .32.6 to .33 (January 28, 2001)
============================================
- * Added a new new curses based interface to replace the dumb terminal
+ • Added a new new curses based interface to replace the dumb terminal
interface everyone has been bitching about.
- * Added the ability to give higher priority to words such as "the"
+ • Added the ability to give higher priority to words such as "the"
instead of "teh" which are likely to be due to typos.
- * Reorganized the manual so that it is hopefully easier to follow.
+ • Reorganized the manual so that it is hopefully easier to follow.
- * Ability to automatically select the best dictionary to use based on
- the setting of the `LANG' environment variable.
+ • Ability to automatically select the best dictionary to use based on
+ the setting of the ‘LANG’ environment variable.
- * Expanded the medium dictionary size to include more words which
+ • Expanded the medium dictionary size to include more words which
included the original words found in Ispell and eliminated the
large size for now.
- * Added three special variant add-on dictionaries.
+ • Added three special variant add-on dictionaries.
- * Switched to the multi-language branch of the CVS version of
+ • Switched to the multi-language branch of the CVS version of
libtool.
-
Changes from .32.5 to .32.6 (Nov 8, 2000)
=========================================
- * Fixed a bug where Aspell would crash when reading-in accented
+ • Fixed a bug where Aspell would crash when reading-in accented
characters on some platforms. This fixed bug # 112435.
- * Fixed some other bugs so that it will run under Win32 under CygWin.
- Unfortunately it still won't run properly under Mingw.
+ • Fixed some other bugs so that it will run under Win32 under CygWin.
+ Unfortunately it still won’t run properly under Mingw.
- * Fixed the mmap test in configure so that it won't fail on some
+ • Fixed the mmap test in configure so that it won’t fail on some
platforms that use munmap(char *, int) instead of munmap(void *,
int).
- * Upgraded to the latest CVS version of libtool which fixed the
+ • Upgraded to the latest CVS version of libtool which fixed the
problem with using GNU Make under Solaris.
- * Added an option to copy files instead of using symbolic links for
+ • Added an option to copy files instead of using symbolic links for
the special *multi* dictionary files.
Changes from .32.1 to .32.5 (August 18, 2000)
=============================================
- * Changed my email from kevinatk at home com to kevina at users
+ • Changed my email from kevinatk at home com to kevina at users
sourceforge net please make a note of the new email address.
- * Added an option to control if the personal replacement dictionary
+ • Added an option to control if the personal replacement dictionary
is saved when the save_all_wls method is called.
- * Brought back the ability to dump the master word list even in the
+ • Brought back the ability to dump the master word list even in the
case of the special *multi* lists.
- * Added a large number of hacker related words and some other slang
+ • Added a large number of hacker related words and some other slang
terms to the medium size word list.
- * Added an *ispell* and *spell* compatibility script for systems
- which don't have Ispell installed. They are located in the
+ • Added an *ispell* and *spell* compatibility script for systems
+ which don’t have Ispell installed. They are located in the
scripts/ directory and are not installed by default.
- * Manual fixes.
+ • Manual fixes.
- * Added a note on not using GNU Make on Solaris.
+ • Added a note on not using GNU Make on Solaris.
Changes from .32 to .32.1 (August 5, 2000)
==========================================
- * Minor compile fixes for recent gcc snapshot.
+ • Minor compile fixes for recent gcc snapshot.
- * Fixed naming of pwli files.
+ • Fixed naming of pwli files.
- * Fixed a bug when Aspell will crash when used with certain single
+ • Fixed a bug when Aspell will crash when used with certain single
letter flags. This bug was most noticeable when used with Emacs.
- * Word list changes, see SCOWL Readme.
+ • Word list changes, see SCOWL Readme.
- * Other miscellaneous changes.
+ • Other miscellaneous changes.
Changes from .31.1 to .32 (July 23, 2000)
=========================================
- * Added support for optionally doing without the soundslike data.
+ • Added support for optionally doing without the soundslike data.
- * Greatly reduced the amount of memory used when creating word lists.
+ • Greatly reduced the amount of memory used when creating word lists.
- * Added support for ignoring accents when coming up with suggestions.
+ • Added support for ignoring accents when coming up with suggestions.
- * Added support for local-data-dir which is searched before data-dir.
+ • Added support for local-data-dir which is searched before data-dir.
- * Added support for specifying which words may be used in compounds
- and where they may be used.
+ • Added support for specifying which words may be used in compounds
+ and where they may be used.
- * Added support for having more than one main word list as well as a
+ • Added support for having more than one main word list as well as a
special *multi* word list files which will allow multiple word
lists to be treated as one.
- * Aspell now uses a completely new word list.
+ • Aspell now uses a completely new word list.
- * The apostrophe (') is no longer considered part of the word when
- it as at the end of the word such as in `dogs''.
+ • The apostrophe (’) is no longer considered part of the word when it
+ as at the end of the word such as in ‘dogs'’.
Changes from .31 to .31.1 (June 18, 2000)
=========================================
- * Fixed a bug where Aspell would not create a complete dictionary
+ • Fixed a bug where Aspell would not create a complete dictionary
file on some platforms when the data is 8-bit.
- * Added a workaround so Aspell will work with ispell.el 3.3.
+ • Added a workaround so Aspell will work with ispell.el 3.3.
- * Minor compile fixes so it would compile better with the very latest
+ • Minor compile fixes so it would compile better with the very latest
gcc (CVS Version).
- * Removed note about compiling in Win32 as I was now able to get it
+ • Removed note about compiling in Win32 as I was now able to get it
to work.
Changes from .30.1 to .31 (June 11, 2000)
=========================================
- * Added support for spell checking run together words.
+ • Added support for spell checking run together words.
- * Added an option to produce a list of misspelled words from
- standard input.
+ • Added an option to produce a list of misspelled words from standard
+ input.
- * More robust error reporting when reading in language data files.
+ • More robust error reporting when reading in language data files.
- * Fixed a bug that would cause Aspell to crash if the *special* line
+ • Fixed a bug that would cause Aspell to crash if the *special* line
was not defined in the language data file.
- * Updated Pspell Module.
+ • Updated Pspell Module.
- * Minor bug fixes.
+ • Minor bug fixes.
- * Added cross references in "The Aspell Utility Chapter" for easier
+ • Added cross references in “The Aspell Utility Chapter” for easier
use.
Changes from .30 to .30.1 (April 29, 2000)
==========================================
- * Ported Aspell to Win32 platforms.
+ • Ported Aspell to Win32 platforms.
- * Portability fixes which may help Aspell compile on other platforms.
+ • Portability fixes which may help Aspell compile on other platforms.
- * Aspell will no longer fail if for some reason the mmap fails,
- instead it will just read the file in as normal and free the
- memory when done.
+ • Aspell will no longer fail if for some reason the mmap fails,
+ instead it will just read the file in as normal and free the memory
+ when done.
- * Minor changes in the format of the main word list as a result of
+ • Minor changes in the format of the main word list as a result of
the changes, the old format should still work in most cases.
- * Fixed a bug where Aspell was ignoring the extension of file names
+ • Fixed a bug where Aspell was ignoring the extension of file names
such as .html or .tex when checking files.
- * Fixed a bug where Aspell will go into an infinite loop when
+ • Fixed a bug where Aspell will go into an infinite loop when
creating the main word list from a word list which has duplicates
in it.
- * Minor changes to the manual for better clarity.
+ • Minor changes to the manual for better clarity.
Changes from .29.1 to .30 (April 2, 2000)
=========================================
- * Fixed many of the capitalization bugs found in previous versions of
+ • Fixed many of the capitalization bugs found in previous versions of
Aspell.
- * Changed the format of the main word list yet again.
+ • Changed the format of the main word list yet again.
- * Fixed a bug so that `aspell check' will work on the PowerPC.
+ • Fixed a bug so that ‘aspell check’ will work on the PowerPC.
- * Added ability to change configuration options in the middle of a
+ • Added ability to change configuration options in the middle of a
session.
- * Added words from /usr/dict/words found on most Linux systems as
+ • Added words from /usr/dict/words found on most Linux systems as
well as a bunch of commonly used abbreviations to the word list.
- * Fixed a bug where Aspell would dump core after reporting certain
+ • Fixed a bug where Aspell would dump core after reporting certain
errors when compiled with gcc 2.95 or higher. This involved
reworking the Exception heritage to get around a bug in gcc 2.95.
- * Added a few more commands to the list of default commands the TeX
+ • Added a few more commands to the list of default commands the TeX
filter knows about.
- * Aspell will now check if a word only contains valid characters
+ • Aspell will now check if a word only contains valid characters
before adding it to any dictionaries. This might mean that you
have to manually delete a few words from your personal word list.
- * Added option to ignore case when checking a document.
+ • Added option to ignore case when checking a document.
- * Adjusted the parameters of the *normal* suggest mode to so that
+ • Adjusted the parameters of the *normal* suggest mode to so that
significantly less far fetched results are returned in cases such
as tomatoe, which went from 100 suggestions down to 32, at the
expense of getting slightly lower results (less than 1%),
- * Improved the edit distance algorithm for slightly faster results.
+ • Improved the edit distance algorithm for slightly faster results.
- * Removed the `$$m' command in pipe mode, you should now use `$$cs
- mode,MODE' to set the mode and *$$cr mode* to find out the current
+ • Removed the ‘$$m’ command in pipe mode, you should now use ‘$$cs
+ mode,MODE’ to set the mode and *$$cr mode* to find out the current
mode.
- * Reworked parts of Aspell to use Pspell services to avoid
+ • Reworked parts of Aspell to use Pspell services to avoid
duplicating code.
- * Added a module for the newly released Pspell. It will get
+ • Added a module for the newly released Pspell. It will get
installed with the rest of Aspell.
- * Miscellaneous other bug fixes.
+ • Miscellaneous other bug fixes.
Changes from .29 to .29.1 (Feb 18, 2000)
========================================
- * Improved the TeX filter so that it will accept '@' at the beginning
- of a command name and ignored trailing '*'s. It also now has
+ • Improved the TeX filter so that it will accept ’@’ at the beginning
+ of a command name and ignored trailing ’*’s. It also now has
better defaults for which parameters to skip.
- * Reworked the main dictionary so that it can be memory mapped in.
- This decreases startup time and allows multiple Aspell processes
- to use the same memory for the main word list. This also also
- made Aspell 64 bit clean so that it should work on an alpha now.
+ • Reworked the main dictionary so that it can be memory mapped in.
+ This decreases startup time and allows multiple Aspell processes to
+ use the same memory for the main word list. This also also made
+ Aspell 64 bit clean so that it should work on an alpha now.
- * Fix so that Aspell could compile on platforms that gnu is not yet
+ • Fix so that Aspell could compile on platforms that gnu is not yet
available for.
- * Fixed issue with flock so it would compile on FreeBSD.
+ • Fixed issue with flock so it would compile on FreeBSD.
- * Minor changes in the code to make it more C++ compliant although I
- am sure there will still be problems when using some other
- compiler other than gcc or egcs.
+ • Minor changes in the code to make it more C++ compliant although I
+ am sure there will still be problems when using some other compiler
+ other than gcc or egcs.
- * Added some comments to the header files to better document a few of
+ • Added some comments to the header files to better document a few of
the classes.
Changes from .28.3 to .29 (Feb 6, 2000)
=======================================
- * Fixed a bug in the pipe mode with lines that start with `^$$'.
+ • Fixed a bug in the pipe mode with lines that start with ‘^$$’.
- * Added support for ignoring all words less than or equal to a
+ • Added support for ignoring all words less than or equal to a
specified length
- * New soundslike code based thanks to the contribution of Björn
+ • New soundslike code based thanks to the contribution of Björn
Jacke. It now gets all of its data from a table making it easier
for other people to add soundslike code for their native language.
He also converted the metaphone algorithm to table form,
eliminating the need for the old metaphone code.
- * Major redesign of the suggestion code for better results.
+ • Major redesign of the suggestion code for better results.
- * Changed the format of the personal word lists. In most cases it
+ • Changed the format of the personal word lists. In most cases it
should be converted automatically.
- * Changed the format of the main word list.
+ • Changed the format of the main word list.
- * Name space cleanup for more consistent naming. I now use name
- spaces which means that gcc 2.8.* and egcs 1.0.* will no longer
- cut it.
+ • Name space cleanup for more consistent naming. I now use name
+ spaces which means that gcc 2.8.* and egcs 1.0.* will no longer cut
+ it.
- * Used file locks when reading and saving the personal dictionaries
+ • Used file locks when reading and saving the personal dictionaries
so that it truly multiprocesses safely.
- * Added rudimentary filter support.
+ • Added rudimentary filter support.
- * Reworked the configuration system once again. However, the
- changes to the end user who does not directly use my library
- should be minimal.
+ • Reworked the configuration system once again. However, the changes
+ to the end user who does not directly use my library should be
+ minimal.
- * Rewrote my code that handles parsing command line parameters so
- that it no longer used popt as it was causing too many problems
- and didn't integrate well with my new configuration system.
+ • Rewrote my code that handles parsing command line parameters so
+ that it no longer used popt as it was causing too many problems and
+ didn’t integrate well with my new configuration system.
- * Fixed pipe mode so that it will properly ignore lines starting with
- '~' for better Ispell compatibility.
+ • Fixed pipe mode so that it will properly ignore lines starting with
+ ’~’ for better Ispell compatibility.
- * Aspell now has a new home page at
- `http://aspell.sourceforge.net/'. Please make note of the new URL.
+ • Aspell now has a new home page at <http://aspell.sourceforge.net/>.
+ Please make note of the new URL.
- * Miscellaneous manual fixes and clarifications.
+ • Miscellaneous manual fixes and clarifications.
Changes from .28.2.1 to .28.3 (Nov 20, 1999)
============================================
- * Fixed a bug that caused Aspell to crash when spell checking words
+ • Fixed a bug that caused Aspell to crash when spell checking words
over 60 characters long.
- * Reworked *aspell check* so that
+ • Reworked *aspell check* so that
1. You no longer have to hit enter when making a choice.
2. It will now overwrite the original file instead of creating a
new file. An optional backup can be made by using the -b
option.
- * Fixed a few bugs in data.cc.
+ • Fixed a few bugs in data.cc.
Changes from .28.2 to .28.2.1 (Aug 25, 1999)
============================================
- * Fixed the version number for the shared library.
+ • Fixed the version number for the shared library.
- * Fixed a problem with undefined references when linking to the
+ • Fixed a problem with undefined references when linking to the
shared library.
Changes from .28.1 to .28.2 (Aug 25, 1999)
==========================================
- * Fixed a bunch of bugs in the language and configuration classes.
+ • Fixed a bunch of bugs in the language and configuration classes.
- * Minor changes in the code so that it could compile with the new gcc
+ • Minor changes in the code so that it could compile with the new gcc
2.95(.1).
- * Changed the output of `dump config' so that default values are
- given the value `<default>'. This means that the output can be
+ • Changed the output of ‘dump config’ so that default values are
+ given the value ‘<default>’. This means that the output can be
used to create a configuration file.
- * Added notes on using Aspell with VIM.
+ • Added notes on using Aspell with VIM.
Changes from .28 to .28.1 (July 27, 1999)
=========================================
- * Removed some debug output
+ • Removed some debug output
- * Changed notes on compiling with gcc 2.8.* as I managed to get it to
+ • Changed notes on compiling with gcc 2.8.* as I managed to get it to
compile on my school account
- * Avoided including *stdexcept* in `const_string.hh' so that I could
+ • Avoided including *stdexcept* in ‘const_string.hh’ so that I could
get Aspell to compile on my school account with gcc 2.8.1.
Changes from .27.2 to .28 (July 25, 1999)
Provided an iterator for the replacement classes.
- * Added support for dumping and creating and merging the personal and
+ • Added support for dumping and creating and merging the personal and
replacement word lists.
- * Changed the Aspell utility command line a bit, it now used popt.
+ • Changed the Aspell utility command line a bit, it now used popt.
- * Totally reworked Aspell configuration system. Now Aspell could get
+ • Totally reworked Aspell configuration system. Now Aspell could get
configuration from any of 5 sources: the command line, the
- environment variable `ASPELL_CONF', the personal configuration
+ environment variable ‘ASPELL_CONF’, the personal configuration
file, the global configuration file, and finally the compiled-in
defaults.
- * Totally reworked the language class in preparation for my new
- language code. See `http://aspell.sourceforge.net/international/'
+ • Totally reworked the language class in preparation for my new
+ language code. See <http://aspell.sourceforge.net/international/>
for more information of what I have in store.
- * Added some options to the configure script: -enable-dict-dir=DIR,
- -enable-doc-dir=DIR, -enable-debug, and -enable-opt
+ • Added some options to the configure script: –enable-dict-dir=DIR,
+ –enable-doc-dir=DIR, –enable-debug, and –enable-opt
- * Removed some old header files.
+ • Removed some old header files.
- * Reorganized the directory structure a bit
+ • Reorganized the directory structure a bit
- * Made the text version of the manual pages slightly easier to read
+ • Made the text version of the manual pages slightly easier to read
- * Used the `\url' command for urls for better formating of the
+ • Used the ‘\url’ command for urls for better formating of the
printed version.
Changes from .27.1 to .27.2 (Mar 1, 1999)
=========================================
- * Fixed a major bug that caused Aspell to dump core when used without
+ • Fixed a major bug that caused Aspell to dump core when used without
any arguments
- * Fixed another major bug that caused Aspell to do nothing when used
+ • Fixed another major bug that caused Aspell to do nothing when used
in interactive mode.
- * Added an option to exit in Aspell's interactive mode.
+ • Added an option to exit in Aspell’s interactive mode.
- * Removed some old documentation files from the distribution.
+ • Removed some old documentation files from the distribution.
- * Minor changes to the the section on using Aspell with egcs.
+ • Minor changes to the the section on using Aspell with egcs.
- * Minor changes to remove -Wall warnings.
+ • Minor changes to remove -Wall warnings.
Changes from .27 to .27.1 (Feb 24, 1999)
========================================
- * Fixed a minor compile problem.
+ • Fixed a minor compile problem.
- * Updated the section on using Aspell with egcs to it. It was now
+ • Updated the section on using Aspell with egcs to it. It was now
more clear why the patch was necessary.
Changes from .26.2 to .27 (Feb 22, 1999)
========================================
- * Totally reworked the C++ library which means you may need to change
+ • Totally reworked the C++ library which means you may need to change
some things in your code.
- * Added support for detachable and multiple personal dictionaries in
+ • Added support for detachable and multiple personal dictionaries in
the C++ class library.
- * The C++ class library now throws exceptions.
+ • The C++ class library now throws exceptions.
- * Reworked Aspell ability to learn from users misspellings a bit so
- that it now has a memory. For more information see *Note Notes on
+ • Reworked Aspell ability to learn from users misspellings a bit so
+ that it now has a memory. For more information see *note Notes on
Storing Replacement Pairs::.
- * Upgraded autoconf to version 2.13 and automake to version 1.4 for
+ • Upgraded autoconf to version 2.13 and automake to version 1.4 for
better portability.
- * Fixed the configuration so the `make dist' will work. From now on
- Aspell will be distributed with `make dist'.
+ • Fixed the configuration so the ‘make dist’ will work. From now on
+ Aspell will be distributed with ‘make dist’.
- * Added support to skip over URL's, email addresses and host names.
+ • Added support to skip over URL’s, email addresses and host names.
- * Added support for dumping the master and personal word list. You
+ • Added support for dumping the master and personal word list. You
can now also merge a personal word list. Type aspell -help for
help on using this feature.
- * Reorganized the source code.
+ • Reorganized the source code.
- * Started using proper version numbers for the shared library.
+ • Started using proper version numbers for the shared library.
- * Fixed a bug that caused Aspell to crash when adding certain
+ • Fixed a bug that caused Aspell to crash when adding certain
replacement pairs.
- * Fixed the problem with duplicate lines when exiting pipe mode for
+ • Fixed the problem with duplicate lines when exiting pipe mode for
good.
Changed from .26.1 to .26.2 (Jan 3, 1998)
=========================================
- * Fixed another compile problem. Hopefully this time it will really
+ • Fixed another compile problem. Hopefully this time it will really
compile OK on other peoples machines.
Changed from .26 to .26.1 (Jan 3, 1998)
=======================================
- * Fixed a small compile problem in `as_data.cc'.
+ • Fixed a small compile problem in ‘as_data.cc’.
Changed from .25.1 to .26 (Jan 3, 1999)
=======================================
- * Fixed a bug that caused duplicate items to be displayed in the
+ • Fixed a bug that caused duplicate items to be displayed in the
suggestion list for good. (If it still does it please send me
email.)
- * Added the ability for Aspell to learn form the users misspellings.
+ • Added the ability for Aspell to learn form the users misspellings.
- * Library Interface changes. Still more to come ....
+ • Library Interface changes. Still more to come ….
- * Is now multiprocess safe. When a personal dictionary (or
+ • Is now multiprocess safe. When a personal dictionary (or
replacement list) is saved it will now first update the list
against the dictionary on disk in case another process modified it.
- * Fixed the bug that caused duplicate output when used non
+ • Fixed the bug that caused duplicate output when used non
interactively in pipe mode.
- * Dropped support for gcc 2.7.2 as the C++ compiler.
+ • Dropped support for gcc 2.7.2 as the C++ compiler.
- * Updated the How Aspell Works (*Note Aspell Suggestion Strategy::.)
+ • Updated the How Aspell Works (*note Aspell Suggestion Strategy::.)
- * Added support for the `ASPELL_DATA_DIR' environment variable.
+ • Added support for the ‘ASPELL_DATA_DIR’ environment variable.
Changes from .25 to .25.1 (Dec 10, 1998)
========================================
- * Fixed the version number so that Aspell reports the correct version
+ • Fixed the version number so that Aspell reports the correct version
number.
- * Changed the note on gcc 2.7.2 compilers to make it clear that only
- the C++ compiler cannot be gcc 2.7.2, it is OK if the C compiler
- is gcc 2.7.2.
+ • Changed the note on gcc 2.7.2 compilers to make it clear that only
+ the C++ compiler cannot be gcc 2.7.2, it is OK if the C compiler is
+ gcc 2.7.2.
- * Updated the TODO list and reorganized it a bit.
+ • Updated the TODO list and reorganized it a bit.
- * Fixed the directory so that all the documentation will get
+ • Fixed the directory so that all the documentation will get
installed in ${prefix}/doc/aspell instead of half of it in
${prefix}/doc/aspell and half of it in ${prefix}/doc/kspell.
Changes from .24 to .25 (Nov 23, 1998)
======================================
- * Total rework of how the main word list is stored. Start up time
+ • Total rework of how the main word list is stored. Start up time
decreased to about 1/3 of what it was in .24 and memory usage
decreased to about 2/3. (When used with the provided word list on
a Linux system).
Also the format and default locations of the main word list data
- files changed in the process and the data is now machine
- dependent. The personal word list format, however, stayed the
- same.
+ files changed in the process and the data is now machine dependent.
+ The personal word list format, however, stayed the same.
- * Changed the scoring method to produce slightly better results with
+ • Changed the scoring method to produce slightly better results with
words like the vs. teh. And other simpler misspellings where two
letters are swapped.
- * Fixed the very unpredictable behavior of the `*', `&', `@'
- commands in the pipe mode.
+ • Fixed the very unpredictable behavior of the ‘*’, ‘&’, ‘@’ commands
+ in the pipe mode.
- * Added documentations for Aspell pipe mode (also known as `ispell
- -a' compatibility mode)
+ • Added documentations for Aspell pipe mode (also known as ‘ispell
+ -a’ compatibility mode)
- * Added a bunch of Aspell specific extensions to the pipe mode and
+ • Added a bunch of Aspell specific extensions to the pipe mode and
documented them.
- * Documented the `to_soundslike' and `soundslike' methods for the
- `aspell' class.
+ • Documented the ‘to_soundslike’ and ‘soundslike’ methods for the
+ ‘aspell’ class.
- * Changed the scoring method to produce better results for words like
- _fone_ vs _phone_ and other words that have a spelling that
- doesn't directly relate to how the word sounds by using the phoneme
+ • Changed the scoring method to produce better results for words like
+ _fone_ vs _phone_ and other words that have a spelling that doesn’t
+ directly relate to how the word sounds by using the phoneme
equivalent of the word in the scoring of it.
- * Added the `to_phoneme' and `have_phoneme' methods to the
- `SC_Language' class.
+ • Added the ‘to_phoneme’ and ‘have_phoneme’ methods to the
+ ‘SC_Language’ class.
- * Added the `to_phoneme' method to the `aspell' class.
+ • Added the ‘to_phoneme’ method to the ‘aspell’ class.
- * Added the framework for being able to learn from the users
+ • Added the framework for being able to learn from the users
misspelling. Right now it just keeps a log of replacements.
- * Redid `stl_rope-30.diff'. For some reason the version of patch on
+ • Redid ‘stl_rope-30.diff’. For some reason the version of patch on
my system refused it.
- * Rewrite of the "_Using as a replacement for Ispell_" section and
- added the `run-with-aspell' utility as a replacement of the old
+ • Rewrite of the “_Using as a replacement for Ispell_” section and
+ added the ‘run-with-aspell’ utility as a replacement of the old
method of mapping Ispell to Aspell.
- * Fixed a bug that caused duplicate words to appear in the suggestion
+ • Fixed a bug that caused duplicate words to appear in the suggestion
list.
Changes from .23 to .24 (Nov 8, 1998)
=====================================
- * Fixed my code so that it can once again compile with g++ 2.7.2.
+ • Fixed my code so that it can once again compile with g++ 2.7.2.
- * Rewrote the How It Works chapter.
+ • Rewrote the How It Works chapter.
- * Rewrote the Requirement section and added notes on compiling with
+ • Rewrote the Requirement section and added notes on compiling with
g++ 2.7.2.
- * Added a To Do chapter.
+ • Added a To Do chapter.
- * Added a Glossary and References chapter.
+ • Added a Glossary and References chapter.
- * Other minor documentation improvements.
+ • Other minor documentation improvements.
- * Internal code documentation improvements.
+ • Internal code documentation improvements.
Changes from .22.1 to .23 (Oct 31, 1998)
========================================
- * Minor documentation fixes.
+ • Minor documentation fixes.
- * Changed the scoring strategy for words with 3 or less letters.
+ • Changed the scoring strategy for words with 3 or less letters.
This cut the number of words returned for these roughly in half.
- * Expanded the word list to also include *american.0* and
+ • Expanded the word list to also include *american.0* and
*american.1* from the Ispell distribution. It now includes
*english.0*, *english.1*, *american.0* and *american.1* from the
- directory `languages/english' provided with Ispell 3.1.20.
+ directory ‘languages/english’ provided with Ispell 3.1.20.
- * Added a link to the location of the latest Ispell.el in the
+ • Added a link to the location of the latest Ispell.el in the
documentation.
- * Started a C interface and added some rough documentation for it.
+ • Started a C interface and added some rough documentation for it.
Changes from .22 to .22.1 (Oct 27, 1998)
========================================
- * Minor bug fixes. I was deleting arrays with delete rather than
+ • Minor bug fixes. I was deleting arrays with delete rather than
delete[]. I was suprised that this had not created a problem.
- * Added a simple test program to test for a memory leak present on
- some systems. (Only debian slink at the moment.) See the file
+ • Added a simple test program to test for a memory leak present on
+ some systems. (Only debian slink at the moment.) See the file
memleak-test.cc for more info.
Changes from .21 to .22 (Oct 26, 1998)
======================================
- * Major redesign of the scoring method. It now uses absolute
+ • Major redesign of the scoring method. It now uses absolute
distances rather than relative scores for more consistent results.
- See `suggest.cc' for more info.
+ See ‘suggest.cc’ for more info.
- * Suggest code rewritten in several places, however the core process
+ • Suggest code rewritten in several places, however the core process
stayed the same.
- * The `suggest_ultra' method temporarily does nothing. It should be
+ • The ‘suggest_ultra’ method temporarily does nothing. It should be
working again by the next release.
Changes from .20 to .21 (Oct 13, 1998)
======================================
- * Added documentation for aspell::Error
+ • Added documentation for aspell::Error
- * Changed the library name from `libspell' to `libaspell'. It
- should never have been `libspell' in the first place. Sorry for
- the incompatibility.
+ •
+ Changed the library name from ‘libspell’ to ‘libaspell’. It should
+ never have been ‘libspell’ in the first place. Sorry for the
+ incompatibility.
- * Added `as_error.hh' to the list of files copied to the include
+ • Added ‘as_error.hh’ to the list of files copied to the include
directory so that you can actually use the library outside of the
source dir.
- * Fixed bug that caused a segmentation fault with words where the
+ • Fixed bug that caused a segmentation fault with words where the
only suggestions was inserting a space or hyphen such as in
*ledgerline*.
- * Added the *score* method to `aspell'.
+ • Added the *score* method to ‘aspell’.
- * Changed the scoring method to deal with word when the user uses
- "f" in place of "ph" a lot better.
+ • Changed the scoring method to deal with word when the user uses "f"
+ in place of "ph" a lot better.
Changes from .11 to .20 (Oct 10, 1998)
======================================
- * _Name change_. Everything that was Kspell is now Aspell. Sorry,
- the name Kspell was already used by KDE and I didn't want to cause
+ • _Name change_. Everything that was Kspell is now Aspell. Sorry,
+ the name Kspell was already used by KDE and I didn’t want to cause
any confusion.
- * Fixed a bug that causes a segmentation fault when the `HOME'
- environment variable doesn't exist.
+ • Fixed a bug that causes a segmentation fault when the ‘HOME’
+ environment variable doesn’t exist.
Changes from .10 to .11 (Sep 12, 1998)
======================================
- * Overhaul of the SC_Language class
+ • Overhaul of the SC_Language class
- * Added documentation for international support
+ • Added documentation for international support
- * Added documentation for the C++ library
+ • Added documentation for the C++ library
- * Other minor bug fixes.
+ • Other minor bug fixes.
\1f
File: aspell.info, Node: Authors, Next: Copying, Prev: ChangeLog, Up: Top
of code to Aspell and thus own the Copyright to part of Aspell.
Jose Da Silva
- Bug fixes and enhancements to `word-list-compress'.
+ Bug fixes and enhancements to ‘word-list-compress’.
Sergey Poznyakoff
Wrote the Nroff filter.
affix compression. Aspell affix compression code is based on his
code.
-Christoph Hintermüller
+Christoph Hintermüller
Added support for loadable filters.
Melvin Hadasht
- Wrote a locale independent version of strtol and strtod. Wrote
- the original loadable filter support however his code has been
- completely rewritten by Christoph Hintermüller and Kevin Atkinson.
+ Wrote a locale independent version of strtol and strtod. Wrote the
+ original loadable filter support however his code has been
+ completely rewritten by Christoph Hintermüller and Kevin Atkinson.
-Björn Jacke
+Björn Jacke
Wrote the generic soundslike algorithm which gets all of its data
- from a file, thus eliminating almost all need for language
- specific code from Aspell.
+ from a file, thus eliminating almost all need for language specific
+ code from Aspell.
Silicon Graphics Computer Systems, Inc.
Hewlett-Packard Company
Parts of the SGI STL code were used in various places throughout
the Aspell source.
-
In addition the authors of some of translated messages did not
-release their work into the Public Domain, and thus own the copyright
-to the translated text. See the files `*.po' in the `po' directory for
+release their work into the Public Domain, and thus own the copyright to
+the translated text. See the files ‘*.po’ in the ‘po’ directory for
more details.
- The folowing people also contributed to the development of Aspell
-but do not own the Copyright to part of Aspell.
+ The folowing people also contributed to the development of Aspell but
+do not own the Copyright to part of Aspell.
Sergey Poznyakoff
Added gettext support.
especially with the affix code, were taken from Ispell. However
none of the original Ispell code is used in Aspell.
-
\1f
File: aspell.info, Node: Copying, Prev: Authors, Up: Top
Appendix H Copying
******************
-Copyright (C) 2000-2006 Kevin Atkinson.
+Copyright © 2000–2006 Kevin Atkinson.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1 or
copy of the license is included in the section entitled "GNU Free
Documentation License".
- The library and utility program is copyright (C) 2000-2006 by Kevin
+ The library and utility program is copyright © 2000–2006 by Kevin
Atkinson. You can redistribute it and/or modify it under the terms of
the GNU Lesser General Public License as (LGPL) published by the Free
Software Foundation; either version 2.1 of the License, or (at your
option) any later version.
Certain parts of the library, as indicated at the top of the source
-file, are under a weaker license. However, all parts of the library
-are LGPL Compatible.
+file, are under a weaker license. However, all parts of the library are
+LGPL Compatible.
* Menu:
Version 1.2, November 2002
- Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
+ Copyright © 2000,2001,2002 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
Everyone is permitted to copy and distribute verbatim copies
author and publisher a way to get credit for their work, while not
being considered responsible for modifications made by others.
- This License is a kind of "copyleft", which means that derivative
+ This License is a kind of “copyleft”, which means that derivative
works of the document must themselves be free in the same sense.
It complements the GNU General Public License, which is a copyleft
license designed for free software.
free program should come with manuals providing the same freedoms
that the software does. But this License is not limited to
software manuals; it can be used for any textual work, regardless
- of subject matter or whether it is published as a printed book.
- We recommend this License principally for works whose purpose is
+ of subject matter or whether it is published as a printed book. We
+ recommend this License principally for works whose purpose is
instruction or reference.
1. APPLICABILITY AND DEFINITIONS
This License applies to any manual or other work, in any medium,
- that contains a notice placed by the copyright holder saying it
- can be distributed under the terms of this License. Such a notice
+ that contains a notice placed by the copyright holder saying it can
+ be distributed under the terms of this License. Such a notice
grants a world-wide, royalty-free license, unlimited in duration,
to use that work under the conditions stated herein. The
- "Document", below, refers to any such manual or work. Any member
- of the public is a licensee, and is addressed as "you". You
- accept the license if you copy, modify or distribute the work in a
- way requiring permission under copyright law.
+ “Document”, below, refers to any such manual or work. Any member
+ of the public is a licensee, and is addressed as “you”. You accept
+ the license if you copy, modify or distribute the work in a way
+ requiring permission under copyright law.
- A "Modified Version" of the Document means any work containing the
+ A “Modified Version” of the Document means any work containing the
Document or a portion of it, either copied verbatim, or with
modifications and/or translated into another language.
- A "Secondary Section" is a named appendix or a front-matter section
+ A “Secondary Section” is a named appendix or a front-matter section
of the Document that deals exclusively with the relationship of the
- publishers or authors of the Document to the Document's overall
+ publishers or authors of the Document to the Document’s overall
subject (or to related matters) and contains nothing that could
fall directly within that overall subject. (Thus, if the Document
is in part a textbook of mathematics, a Secondary Section may not
of legal, commercial, philosophical, ethical or political position
regarding them.
- The "Invariant Sections" are certain Secondary Sections whose
- titles are designated, as being those of Invariant Sections, in
- the notice that says that the Document is released under this
- License. If a section does not fit the above definition of
- Secondary then it is not allowed to be designated as Invariant.
- The Document may contain zero Invariant Sections. If the Document
- does not identify any Invariant Sections then there are none.
+ The “Invariant Sections” are certain Secondary Sections whose
+ titles are designated, as being those of Invariant Sections, in the
+ notice that says that the Document is released under this License.
+ If a section does not fit the above definition of Secondary then it
+ is not allowed to be designated as Invariant. The Document may
+ contain zero Invariant Sections. If the Document does not identify
+ any Invariant Sections then there are none.
- The "Cover Texts" are certain short passages of text that are
+ The “Cover Texts” are certain short passages of text that are
listed, as Front-Cover Texts or Back-Cover Texts, in the notice
that says that the Document is released under this License. A
Front-Cover Text may be at most 5 words, and a Back-Cover Text may
be at most 25 words.
- A "Transparent" copy of the Document means a machine-readable copy,
+ A “Transparent” copy of the Document means a machine-readable copy,
represented in a format whose specification is available to the
general public, that is suitable for revising the document
- straightforwardly with generic text editors or (for images
- composed of pixels) generic paint programs or (for drawings) some
- widely available drawing editor, and that is suitable for input to
- text formatters or for automatic translation to a variety of
- formats suitable for input to text formatters. A copy made in an
- otherwise Transparent file format whose markup, or absence of
- markup, has been arranged to thwart or discourage subsequent
- modification by readers is not Transparent. An image format is
- not Transparent if used for any substantial amount of text. A
- copy that is not "Transparent" is called "Opaque".
+ straightforwardly with generic text editors or (for images composed
+ of pixels) generic paint programs or (for drawings) some widely
+ available drawing editor, and that is suitable for input to text
+ formatters or for automatic translation to a variety of formats
+ suitable for input to text formatters. A copy made in an otherwise
+ Transparent file format whose markup, or absence of markup, has
+ been arranged to thwart or discourage subsequent modification by
+ readers is not Transparent. An image format is not Transparent if
+ used for any substantial amount of text. A copy that is not
+ “Transparent” is called “Opaque”.
Examples of suitable formats for Transparent copies include plain
ASCII without markup, Texinfo input format, LaTeX input format,
- SGML or XML using a publicly available DTD, and
- standard-conforming simple HTML, PostScript or PDF designed for
- human modification. Examples of transparent image formats include
- PNG, XCF and JPG. Opaque formats include proprietary formats that
- can be read and edited only by proprietary word processors, SGML or
- XML for which the DTD and/or processing tools are not generally
- available, and the machine-generated HTML, PostScript or PDF
- produced by some word processors for output purposes only.
-
- The "Title Page" means, for a printed book, the title page itself,
+ SGML or XML using a publicly available DTD, and standard-conforming
+ simple HTML, PostScript or PDF designed for human modification.
+ Examples of transparent image formats include PNG, XCF and JPG.
+ Opaque formats include proprietary formats that can be read and
+ edited only by proprietary word processors, SGML or XML for which
+ the DTD and/or processing tools are not generally available, and
+ the machine-generated HTML, PostScript or PDF produced by some word
+ processors for output purposes only.
+
+ The “Title Page” means, for a printed book, the title page itself,
plus such following pages as are needed to hold, legibly, the
material this License requires to appear in the title page. For
- works in formats which do not have any title page as such, "Title
- Page" means the text near the most prominent appearance of the
- work's title, preceding the beginning of the body of the text.
+ works in formats which do not have any title page as such, “Title
+ Page” means the text near the most prominent appearance of the
+ work’s title, preceding the beginning of the body of the text.
- A section "Entitled XYZ" means a named subunit of the Document
+ A section “Entitled XYZ” means a named subunit of the Document
whose title either is precisely XYZ or contains XYZ in parentheses
following text that translates XYZ in another language. (Here XYZ
stands for a specific section name mentioned below, such as
- "Acknowledgements", "Dedications", "Endorsements", or "History".)
- To "Preserve the Title" of such a section when you modify the
- Document means that it remains a section "Entitled XYZ" according
+ “Acknowledgements”, “Dedications”, “Endorsements”, or “History”.)
+ To “Preserve the Title” of such a section when you modify the
+ Document means that it remains a section “Entitled XYZ” according
to this definition.
The Document may include Warranty Disclaimers next to the notice
may not use technical measures to obstruct or control the reading
or further copying of the copies you make or distribute. However,
you may accept compensation in exchange for copies. If you
- distribute a large enough number of copies you must also follow
- the conditions in section 3.
+ distribute a large enough number of copies you must also follow the
+ conditions in section 3.
You may also lend copies, under the same conditions stated above,
and you may publicly display copies.
If you publish printed copies (or copies in media that commonly
have printed covers) of the Document, numbering more than 100, and
- the Document's license notice requires Cover Texts, you must
+ the Document’s license notice requires Cover Texts, you must
enclose the copies in covers that carry, clearly and legibly, all
these Cover Texts: Front-Cover Texts on the front cover, and
Back-Cover Texts on the back cover. Both covers must also clearly
and legibly identify you as the publisher of these copies. The
- front cover must present the full title with all words of the
- title equally prominent and visible. You may add other material
- on the covers in addition. Copying with changes limited to the
- covers, as long as they preserve the title of the Document and
- satisfy these conditions, can be treated as verbatim copying in
- other respects.
+ front cover must present the full title with all words of the title
+ equally prominent and visible. You may add other material on the
+ covers in addition. Copying with changes limited to the covers, as
+ long as they preserve the title of the Document and satisfy these
+ conditions, can be treated as verbatim copying in other respects.
If the required texts for either cover are too voluminous to fit
legibly, you should put the first ones listed (as many as fit
adjacent pages.
If you publish or distribute Opaque copies of the Document
- numbering more than 100, you must either include a
- machine-readable Transparent copy along with each Opaque copy, or
- state in or with each Opaque copy a computer-network location from
- which the general network-using public has access to download
- using public-standard network protocols a complete Transparent
- copy of the Document, free of added material. If you use the
- latter option, you must take reasonably prudent steps, when you
- begin distribution of Opaque copies in quantity, to ensure that
- this Transparent copy will remain thus accessible at the stated
- location until at least one year after the last time you
- distribute an Opaque copy (directly or through your agents or
- retailers) of that edition to the public.
+ numbering more than 100, you must either include a machine-readable
+ Transparent copy along with each Opaque copy, or state in or with
+ each Opaque copy a computer-network location from which the general
+ network-using public has access to download using public-standard
+ network protocols a complete Transparent copy of the Document, free
+ of added material. If you use the latter option, you must take
+ reasonably prudent steps, when you begin distribution of Opaque
+ copies in quantity, to ensure that this Transparent copy will
+ remain thus accessible at the stated location until at least one
+ year after the last time you distribute an Opaque copy (directly or
+ through your agents or retailers) of that edition to the public.
It is requested, but not required, that you contact the authors of
- the Document well before redistributing any large number of
- copies, to give them a chance to provide you with an updated
- version of the Document.
+ the Document well before redistributing any large number of copies,
+ to give them a chance to provide you with an updated version of the
+ Document.
4. MODIFICATIONS
You may copy and distribute a Modified Version of the Document
under the conditions of sections 2 and 3 above, provided that you
- release the Modified Version under precisely this License, with
- the Modified Version filling the role of the Document, thus
- licensing distribution and modification of the Modified Version to
- whoever possesses a copy of it. In addition, you must do these
- things in the Modified Version:
+ release the Modified Version under precisely this License, with the
+ Modified Version filling the role of the Document, thus licensing
+ distribution and modification of the Modified Version to whoever
+ possesses a copy of it. In addition, you must do these things in
+ the Modified Version:
A. Use in the Title Page (and on the covers, if any) a title
- distinct from that of the Document, and from those of
- previous versions (which should, if there were any, be listed
- in the History section of the Document). You may use the
- same title as a previous version if the original publisher of
- that version gives permission.
+ distinct from that of the Document, and from those of previous
+ versions (which should, if there were any, be listed in the
+ History section of the Document). You may use the same title
+ as a previous version if the original publisher of that
+ version gives permission.
B. List on the Title Page, as authors, one or more persons or
entities responsible for authorship of the modifications in
the Addendum below.
G. Preserve in that license notice the full lists of Invariant
- Sections and required Cover Texts given in the Document's
+ Sections and required Cover Texts given in the Document’s
license notice.
H. Include an unaltered copy of this License.
- I. Preserve the section Entitled "History", Preserve its Title,
+ I. Preserve the section Entitled “History”, Preserve its Title,
and add to it an item stating at least the title, year, new
- authors, and publisher of the Modified Version as given on
- the Title Page. If there is no section Entitled "History" in
- the Document, create one stating the title, year, authors,
- and publisher of the Document as given on its Title Page,
- then add an item describing the Modified Version as stated in
- the previous sentence.
+ authors, and publisher of the Modified Version as given on the
+ Title Page. If there is no section Entitled “History” in the
+ Document, create one stating the title, year, authors, and
+ publisher of the Document as given on its Title Page, then add
+ an item describing the Modified Version as stated in the
+ previous sentence.
J. Preserve the network location, if any, given in the Document
for public access to a Transparent copy of the Document, and
likewise the network locations given in the Document for
- previous versions it was based on. These may be placed in
- the "History" section. You may omit a network location for a
- work that was published at least four years before the
- Document itself, or if the original publisher of the version
- it refers to gives permission.
-
- K. For any section Entitled "Acknowledgements" or "Dedications",
- Preserve the Title of the section, and preserve in the
- section all the substance and tone of each of the contributor
+ previous versions it was based on. These may be placed in the
+ “History” section. You may omit a network location for a work
+ that was published at least four years before the Document
+ itself, or if the original publisher of the version it refers
+ to gives permission.
+
+ K. For any section Entitled “Acknowledgements” or “Dedications”,
+ Preserve the Title of the section, and preserve in the section
+ all the substance and tone of each of the contributor
acknowledgements and/or dedications given therein.
- L. Preserve all the Invariant Sections of the Document,
- unaltered in their text and in their titles. Section numbers
- or the equivalent are not considered part of the section
- titles.
+ L. Preserve all the Invariant Sections of the Document, unaltered
+ in their text and in their titles. Section numbers or the
+ equivalent are not considered part of the section titles.
- M. Delete any section Entitled "Endorsements". Such a section
+ M. Delete any section Entitled “Endorsements”. Such a section
may not be included in the Modified Version.
N. Do not retitle any existing section to be Entitled
- "Endorsements" or to conflict in title with any Invariant
+ “Endorsements” or to conflict in title with any Invariant
Section.
O. Preserve any Warranty Disclaimers.
If the Modified Version includes new front-matter sections or
appendices that qualify as Secondary Sections and contain no
- material copied from the Document, you may at your option
- designate some or all of these sections as invariant. To do this,
- add their titles to the list of Invariant Sections in the Modified
- Version's license notice. These titles must be distinct from any
- other section titles.
+ material copied from the Document, you may at your option designate
+ some or all of these sections as invariant. To do this, add their
+ titles to the list of Invariant Sections in the Modified Version’s
+ license notice. These titles must be distinct from any other
+ section titles.
- You may add a section Entitled "Endorsements", provided it contains
+ You may add a section Entitled “Endorsements”, provided it contains
nothing but endorsements of your Modified Version by various
- parties--for example, statements of peer review or that the text
- has been approved by an organization as the authoritative
- definition of a standard.
+ parties—for example, statements of peer review or that the text has
+ been approved by an organization as the authoritative definition of
+ a standard.
You may add a passage of up to five words as a Front-Cover Text,
- and a passage of up to 25 words as a Back-Cover Text, to the end
- of the list of Cover Texts in the Modified Version. Only one
- passage of Front-Cover Text and one of Back-Cover Text may be
- added by (or through arrangements made by) any one entity. If the
- Document already includes a cover text for the same cover,
- previously added by you or by arrangement made by the same entity
- you are acting on behalf of, you may not add another; but you may
- replace the old one, on explicit permission from the previous
- publisher that added the old one.
+ and a passage of up to 25 words as a Back-Cover Text, to the end of
+ the list of Cover Texts in the Modified Version. Only one passage
+ of Front-Cover Text and one of Back-Cover Text may be added by (or
+ through arrangements made by) any one entity. If the Document
+ already includes a cover text for the same cover, previously added
+ by you or by arrangement made by the same entity you are acting on
+ behalf of, you may not add another; but you may replace the old
+ one, on explicit permission from the previous publisher that added
+ the old one.
The author(s) and publisher(s) of the Document do not by this
License give permission to use their names for publicity for or to
You may combine the Document with other documents released under
this License, under the terms defined in section 4 above for
- modified versions, provided that you include in the combination
- all of the Invariant Sections of all of the original documents,
+ modified versions, provided that you include in the combination all
+ of the Invariant Sections of all of the original documents,
unmodified, and list them all as Invariant Sections of your
combined work in its license notice, and that you preserve all
their Warranty Disclaimers.
combined work.
In the combination, you must combine any sections Entitled
- "History" in the various original documents, forming one section
- Entitled "History"; likewise combine any sections Entitled
- "Acknowledgements", and any sections Entitled "Dedications". You
- must delete all sections Entitled "Endorsements."
+ “History” in the various original documents, forming one section
+ Entitled “History”; likewise combine any sections Entitled
+ “Acknowledgements”, and any sections Entitled “Dedications”. You
+ must delete all sections Entitled “Endorsements.”
6. COLLECTIONS OF DOCUMENTS
documents released under this License, and replace the individual
copies of this License in the various documents with a single copy
that is included in the collection, provided that you follow the
- rules of this License for verbatim copying of each of the
- documents in all other respects.
+ rules of this License for verbatim copying of each of the documents
+ in all other respects.
You may extract a single document from such a collection, and
distribute it individually under this License, provided you insert
- a copy of this License into the extracted document, and follow
- this License in all other respects regarding verbatim copying of
- that document.
+ a copy of this License into the extracted document, and follow this
+ License in all other respects regarding verbatim copying of that
+ document.
7. AGGREGATION WITH INDEPENDENT WORKS
A compilation of the Document or its derivatives with other
- separate and independent documents or works, in or on a volume of
- a storage or distribution medium, is called an "aggregate" if the
+ separate and independent documents or works, in or on a volume of a
+ storage or distribution medium, is called an “aggregate” if the
copyright resulting from the compilation is not used to limit the
- legal rights of the compilation's users beyond what the individual
+ legal rights of the compilation’s users beyond what the individual
works permit. When the Document is included in an aggregate, this
License does not apply to the other works in the aggregate which
are not themselves derivative works of the Document.
If the Cover Text requirement of section 3 is applicable to these
copies of the Document, then if the Document is less than one half
- of the entire aggregate, the Document's Cover Texts may be placed
+ of the entire aggregate, the Document’s Cover Texts may be placed
on covers that bracket the Document within the aggregate, or the
electronic equivalent of covers if the Document is in electronic
form. Otherwise they must appear on printed covers that bracket
this License or a notice or disclaimer, the original version will
prevail.
- If a section in the Document is Entitled "Acknowledgements",
- "Dedications", or "History", the requirement (section 4) to
+ If a section in the Document is Entitled “Acknowledgements”,
+ “Dedications”, or “History”, the requirement (section 4) to
Preserve its Title (section 1) will typically require changing the
actual title.
attempt to copy, modify, sublicense or distribute the Document is
void, and will automatically terminate your rights under this
License. However, parties who have received copies, or rights,
- from you under this License will not have their licenses
- terminated so long as such parties remain in full compliance.
+ from you under this License will not have their licenses terminated
+ so long as such parties remain in full compliance.
- 10. FUTURE REVISIONS OF THIS LICENSE
+ 10. FUTURE REVISIONS OF THIS LICENSE
The Free Software Foundation may publish new, revised versions of
the GNU Free Documentation License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns. See
- `http://www.gnu.org/copyleft/'.
+ <http://www.gnu.org/copyleft/>.
Each version of the License is given a distinguishing version
number. If the Document specifies that a particular numbered
- version of this License "or any later version" applies to it, you
+ version of this License “or any later version” applies to it, you
have the option of following the terms and conditions either of
that specified version or of any later version that has been
- published (not as a draft) by the Free Software Foundation. If
- the Document does not specify a version number of this License,
- you may choose any version ever published (not as a draft) by the
- Free Software Foundation.
+ published (not as a draft) by the Free Software Foundation. If the
+ Document does not specify a version number of this License, you may
+ choose any version ever published (not as a draft) by the Free
+ Software Foundation.
H.1.1 ADDENDUM: How to use this License for your documents
----------------------------------------------------------
Free Documentation License''.
If you have Invariant Sections, Front-Cover Texts and Back-Cover
-Texts, replace the "with...Texts." line with this:
+Texts, replace the “with...Texts.” line with this:
with the Invariant Sections being LIST THEIR TITLES, with
the Front-Cover Texts being LIST, and with the Back-Cover Texts
situation.
If your document contains nontrivial examples of program code, we
-recommend releasing these examples in parallel under your choice of
-free software license, such as the GNU General Public License, to
-permit their use in free software.
+recommend releasing these examples in parallel under your choice of free
+software license, such as the GNU General Public License, to permit
+their use in free software.
\1f
File: aspell.info, Node: GNU Lesser General Public License, Prev: GNU Free Documentation License, Up: Copying
Version 2.1, February 1999
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ Copyright © 1991, 1999 Free Software Foundation, Inc.
+ 59 Temple Place – Suite 330, Boston, MA 02111-1307, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
H.2.1 Preamble
--------------
-The licenses for most software are designed to take away your freedom
-to share and change it. By contrast, the GNU General Public Licenses
-are intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.
+The licenses for most software are designed to take away your freedom to
+share and change it. By contrast, the GNU General Public Licenses are
+intended to guarantee your freedom to share and change free software—to
+make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some
-specially designated software--typically libraries--of the Free
-Software Foundation and other authors who decide to use it. You can use
-it too, but we suggest you first think carefully about whether this
-license or the ordinary General Public License is the better strategy to
-use in any particular case, based on the explanations below.
+specially designated software—typically libraries—of the Free Software
+Foundation and other authors who decide to use it. You can use it too,
+but we suggest you first think carefully about whether this license or
+the ordinary General Public License is the better strategy to use in any
+particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use,
not price. Our General Public Licenses are designed to make sure that
you. You must make sure that they, too, receive or can get the source
code. If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it. And you must show them these terms so they know their rights.
+with the library after making changes to the library and recompiling it.
+And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.
- To protect each distributor, we want to make it very clear that
-there is no warranty for the free library. Also, if the library is
-modified by someone else and passed on, the recipients should know that
-what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
+ To protect each distributor, we want to make it very clear that there
+is no warranty for the free library. Also, if the library is modified
+by someone else and passed on, the recipients should know that what they
+have is not the original version, so that the original author’s
+reputation will not be affected by problems that might be introduced by
+others.
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder. Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
+restrictive license from a patent holder. Therefore, we insist that any
+patent license obtained for a version of the library must be consistent
+with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License. This license, the GNU Lesser
General Public License, applies to certain designated libraries, and is
quite different from the ordinary General Public License. We use this
-license for certain libraries in order to permit linking those
-libraries into non-free programs.
+license for certain libraries in order to permit linking those libraries
+into non-free programs.
When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library. The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom. The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
+General Public License therefore permits such linking only if the entire
+combination fits its criteria of freedom. The Lesser General Public
+License permits more lax criteria for linking other code with the
+library.
We call this license the "Lesser" General Public License because it
-does _Less_ to protect the user's freedom than the ordinary General
-Public License. It also provides other free software developers Less
-of an advantage over competing non-free programs. These disadvantages
-are the reason we use the ordinary General Public License for many
+does _Less_ to protect the user’s freedom than the ordinary General
+Public License. It also provides other free software developers Less of
+an advantage over competing non-free programs. These disadvantages are
+the reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain
special circumstances.
For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it
becomes a de-facto standard. To achieve this, non-free programs must be
-allowed to use the library. A more frequent case is that a free
-library does the same job as widely used non-free libraries. In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
+allowed to use the library. A more frequent case is that a free library
+does the same job as widely used non-free libraries. In this case,
+there is little to gain by limiting the free library to free software
+only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of free
software. For example, permission to use the GNU C Library in non-free
-programs enables many more people to use the whole GNU operating
-system, as well as its variant, the GNU/Linux operating system.
+programs enables many more people to use the whole GNU operating system,
+as well as its variant, the GNU/Linux operating system.
Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run that
-program using a modified version of the Library.
+users’ freedom, it does ensure that the user of a program that is linked
+with the Library has the freedom and the wherewithal to run that program
+using a modified version of the Library.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library". The
+“work based on the library” and a “work that uses the library”. The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or
- other authorized party saying it may be distributed under the
- terms of this Lesser General Public License (also called "this
- License"). Each licensee is addressed as "you".
+ other authorized party saying it may be distributed under the terms
+ of this Lesser General Public License (also called “this License”).
+ Each licensee is addressed as “you”.
- A "library" means a collection of software functions and/or data
+ A “library” means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
- The "Library", below, refers to any such software library or work
- which has been distributed under these terms. A "work based on the
- Library" means either the Library or any derivative work under
+ The “Library”, below, refers to any such software library or work
+ which has been distributed under these terms. A “work based on the
+ Library” means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or
translated straightforwardly into another language. (Hereinafter,
translation is included without limitation in the term
- "modification".)
+ “modification”.)
- "Source code" for a work means the preferred form of the work for
+ “Source code” for a work means the preferred form of the work for
making modifications to it. For a library, complete source code
means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
output from such a program is covered only if its contents
constitute a work based on the Library (independent of the use of
the Library in a tool for writing it). Whether that is true
- depends on what the Library does and what the program that uses
- the Library does.
+ depends on what the Library does and what the program that uses the
+ Library does.
- 1. You may copy and distribute verbatim copies of the Library's
+ 1. You may copy and distribute verbatim copies of the Library’s
complete source code as you receive it, in any medium, provided
that you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep
and you may at your option offer warranty protection in exchange
for a fee.
- 2. You may modify your copy or copies of the Library or any portion
- of it, thus forming a work based on the Library, and copy and
+ 2. You may modify your copy or copies of the Library or any portion of
+ it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
d. If a facility in the modified Library refers to a function or
a table of data to be supplied by an application program that
uses the facility, other than as an argument passed when the
- facility is invoked, then you must make a good faith effort
- to ensure that, in the event an application does not supply
- such function or table, the facility still operates, and
- performs whatever part of its purpose remains meaningful.
+ facility is invoked, then you must make a good faith effort to
+ ensure that, in the event an application does not supply such
+ function or table, the facility still operates, and performs
+ whatever part of its purpose remains meaningful.
(For example, a function in a library to compute square roots
has a purpose that is entirely well-defined independent of the
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the
Library, and can be reasonably considered independent and separate
- works in themselves, then this License, and its terms, do not
- apply to those sections when you distribute them as separate
- works. But when you distribute the same sections as part of a
- whole which is a work based on the Library, the distribution of
- the whole must be on the terms of this License, whose permissions
- for other licensees extend to the entire whole, and thus to each
- and every part regardless of who wrote it.
+ works in themselves, then this License, and its terms, do not apply
+ to those sections when you distribute them as separate works. But
+ when you distribute the same sections as part of a whole which is a
+ work based on the Library, the distribution of the whole must be on
+ the terms of this License, whose permissions for other licensees
+ extend to the entire whole, and thus to each and every part
+ regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or
contest your rights to work written entirely by you; rather, the
derivative or collective works based on the Library.
In addition, mere aggregation of another work not based on the
- Library with the Library (or with a work based on the Library) on
- a volume of a storage or distribution medium does not bring the
- other work under the scope of this License.
+ Library with the Library (or with a work based on the Library) on a
+ volume of a storage or distribution medium does not bring the other
+ work under the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
- License instead of this License to a given copy of the Library.
- To do this, you must alter all the notices that refer to this
- License, so that they refer to the ordinary GNU General Public
- License, version 2, instead of to this License. (If a newer
- version than version 2 of the ordinary GNU General Public License
- has appeared, then you can specify that version instead if you
- wish.) Do not make any other change in these notices.
+ License instead of this License to a given copy of the Library. To
+ do this, you must alter all the notices that refer to this License,
+ so that they refer to the ordinary GNU General Public License,
+ version 2, instead of to this License. (If a newer version than
+ version 2 of the ordinary GNU General Public License has appeared,
+ then you can specify that version instead if you wish.) Do not
+ make any other change in these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to
all subsequent copies and derivative works made from that copy.
- This option is useful when you wish to copy part of the code of
- the Library into a program that is not a library.
+ This option is useful when you wish to copy part of the code of the
+ Library into a program that is not a library.
- 4. You may copy and distribute the Library (or a portion or
- derivative of it, under Section 2) in object code or executable
- form under the terms of Sections 1 and 2 above provided that you
- accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software
- interchange.
+ 4. You may copy and distribute the Library (or a portion or derivative
+ of it, under Section 2) in object code or executable form under the
+ terms of Sections 1 and 2 above provided that you accompany it with
+ the complete corresponding machine-readable source code, which must
+ be distributed under the terms of Sections 1 and 2 above on a
+ medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
- Library, but is designed to work with the Library by being
- compiled or linked with it, is called a "work that uses the
- Library". Such a work, in isolation, is not a derivative work of
- the Library, and therefore falls outside the scope of this License.
+ Library, but is designed to work with the Library by being compiled
+ or linked with it, is called a “work that uses the Library”. Such
+ a work, in isolation, is not a derivative work of the Library, and
+ therefore falls outside the scope of this License.
- However, linking a "work that uses the Library" with the Library
+ However, linking a “work that uses the Library” with the Library
creates an executable that is a derivative of the Library (because
- it contains portions of the Library), rather than a "work that
- uses the library". The executable is therefore covered by this
- License. Section 6 states terms for distribution of such
- executables.
+ it contains portions of the Library), rather than a “work that uses
+ the library”. The executable is therefore covered by this License.
+ Section 6 states terms for distribution of such executables.
- When a "work that uses the Library" uses material from a header
+ When a “work that uses the Library” uses material from a header
file that is part of the Library, the object code for the work may
be a derivative work of the Library even though the source code is
not. Whether this is true is especially significant if the work
6. Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
- 6. As an exception to the Sections above, you may also combine or
- link a "work that uses the Library" with the Library to produce a
- work containing portions of the Library, and distribute that work
- under terms of your choice, provided that the terms permit
- modification of the work for the customer's own use and reverse
- engineering for debugging such modifications.
+ 6. As an exception to the Sections above, you may also combine or link
+ a “work that uses the Library” with the Library to produce a work
+ containing portions of the Library, and distribute that work under
+ terms of your choice, provided that the terms permit modification
+ of the work for the customer’s own use and reverse engineering for
+ debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered
a. Accompany the work with the complete corresponding
machine-readable source code for the Library including
whatever changes were used in the work (which must be
- distributed under Sections 1 and 2 above); and, if the work
- is an executable linked with the Library, with the complete
- machine-readable "work that uses the Library", as object code
+ distributed under Sections 1 and 2 above); and, if the work is
+ an executable linked with the Library, with the complete
+ machine-readable “work that uses the Library”, as object code
and/or source code, so that the user can modify the Library
and then relink to produce a modified executable containing
the modified Library. (It is understood that the user who
b. Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run
- time a copy of the library already present on the user's
+ time a copy of the library already present on the user’s
computer system, rather than copying library functions into
the executable, and (2) will operate properly with a modified
version of the library, if the user installs one, as long as
e. Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
- For an executable, the required form of the "work that uses the
- Library" must include any data and utility programs needed for
+ For an executable, the required form of the “work that uses the
+ Library” must include any data and utility programs needed for
reproducing the executable from it. However, as a special
exception, the materials to be distributed need not include
anything that is normally distributed (in either source or binary
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you
- cannot use both them and the Library together in an executable
- that you distribute.
+ cannot use both them and the Library together in an executable that
+ you distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other
- library facilities not covered by this License, and distribute
- such a combined library, provided that the separate distribution
- of the work based on the Library and of the other library
- facilities is otherwise permitted, and provided that you do these
- two things:
+ library facilities not covered by this License, and distribute such
+ a combined library, provided that the separate distribution of the
+ work based on the Library and of the other library facilities is
+ otherwise permitted, and provided that you do these two things:
a. Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate
- your rights under this License. However, parties who have
- received copies, or rights, from you under this License will not
- have their licenses terminated so long as such parties remain in
- full compliance.
+ your rights under this License. However, parties who have received
+ copies, or rights, from you under this License will not have their
+ licenses terminated so long as such parties remain in full
+ compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify
or distribute the Library or its derivative works. These actions
are prohibited by law if you do not accept this License.
Therefore, by modifying or distributing the Library (or any work
- based on the Library), you indicate your acceptance of this
- License to do so, and all its terms and conditions for copying,
+ based on the Library), you indicate your acceptance of this License
+ to do so, and all its terms and conditions for copying,
distributing or modifying the Library or works based on it.
- 10. Each time you redistribute the Library (or any work based on the
+ 10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the
Library subject to these terms and conditions. You may not impose
- any further restrictions on the recipients' exercise of the rights
+ any further restrictions on the recipients’ exercise of the rights
granted herein. You are not responsible for enforcing compliance
by third parties with this License.
- 11. If, as a consequence of a court judgment or allegation of patent
+ 11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent
issues), conditions are imposed on you (whether by court order,
agreement or otherwise) that contradict the conditions of this
your obligations under this License and any other pertinent
obligations, then as a consequence you may not distribute the
Library at all. For example, if a patent license would not permit
- royalty-free redistribution of the Library by all those who
- receive copies directly or indirectly through you, then the only
- way you could satisfy both it and this License would be to refrain
- entirely from distribution of the Library.
+ royalty-free redistribution of the Library by all those who receive
+ copies directly or indirectly through you, then the only way you
+ could satisfy both it and this License would be to refrain entirely
+ from distribution of the Library.
If any portion of this section is held invalid or unenforceable
under any particular circumstance, the balance of the section is
This section is intended to make thoroughly clear what is believed
to be a consequence of the rest of this License.
- 12. If the distribution and/or use of the Library is restricted in
+ 12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces,
the original copyright holder who places the Library under this
License may add an explicit geographical distribution limitation
License incorporates the limitation as if written in the body of
this License.
- 13. The Free Software Foundation may publish revised and/or new
+ 13. The Free Software Foundation may publish revised and/or new
versions of the Lesser General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the
- Library specifies a version number of this License which applies
- to it and "any later version", you have the option of following
- the terms and conditions either of that version or of any later
- version published by the Free Software Foundation. If the Library
- does not specify a license version number, you may choose any
- version ever published by the Free Software Foundation.
-
- 14. If you wish to incorporate parts of the Library into other free
+ Library specifies a version number of this License which applies to
+ it and “any later version”, you have the option of following the
+ terms and conditions either of that version or of any later version
+ published by the Free Software Foundation. If the Library does not
+ specify a license version number, you may choose any version ever
+ published by the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free
- status of all derivatives of our free software and of promoting
- the sharing and reuse of software generally.
+ status of all derivatives of our free software and of promoting the
+ sharing and reuse of software generally.
- NO WARRANTY
- 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE
- LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
- HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT
- WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT
- NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE
- QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE
- LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
- SERVICING, REPAIR OR CORRECTION.
-
- 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+ LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS
+ AND/OR OTHER PARTIES PROVIDE THE LIBRARY “AS IS” WITHOUT WARRANTY
+ OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
+ PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE
+ DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR
+ OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY
MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE
LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
+
H.2.2 How to Apply These Terms to Your New Libraries
----------------------------------------------------
To apply these terms, attach the following notices to the library.
It is safest to attach them to the start of each source file to most
effectively convey the exclusion of warranty; and each file should have
-at least the "copyright" line and a pointer to where the full notice is
+at least the “copyright” line and a pointer to where the full notice is
found.
ONE LINE TO GIVE THE LIBRARY'S NAME AND AN IDEA OF WHAT IT DOES.
mail.
You should also get your employer (if you work as a programmer) or
-your school, if any, to sign a "copyright disclaimer" for the library,
+your school, if any, to sign a “copyright disclaimer” for the library,
if necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the library
SIGNATURE OF TY COON, 1 April 1990
Ty Coon, President of Vice
- That's all there is to it!
+ That’s all there is to it!
\1f
-Local Variables:
-coding: iso-8859-1
-End:
-
-\1f
Tag Table:
-Node: Top\7f827
-Node: Introduction\7f3602
-Node: Support\7f7428
-Node: Basic Usage\7f7898
-Node: Spellchecking Individual Files\7f8230
-Node: Using Aspell as a Replacement for Ispell\7f11546
-Ref: Differences From Ispell\7f13496
-Node: Using Aspell with other Applications\7f17114
-Node: Customizing Aspell\7f19498
-Node: Specifying Options\7f20776
-Node: The Options\7f26863
-Node: Dumping Configuration Values\7f38280
-Node: Notes on Various Options\7f38917
-Node: Notes on Various Filters and Filter Modes\7f39250
-Node: Notes on the Prefix Option\7f48179
-Node: Notes on Typo-Analysis\7f49034
-Node: Notes on the Different Suggestion Modes\7f51142
-Node: Working With Dictionaries\7f53458
-Node: Using aspell-import\7f54007
-Node: How Aspell Selects an Appropriate Dictionary\7f54832
-Node: Listing Available Dictionaries\7f56946
-Node: Dumping the Contents of the Word List\7f57391
-Node: Creating an Individual Word List\7f58004
-Node: Working With Affix Info in Word Lists\7f61229
-Node: Format of the Personal and Replacement Dictionaries\7f64908
-Ref: Format of the Personal Dictionary\7f65213
-Node: Using Multi Dictionaries\7f66615
-Node: Dictionary Naming\7f67503
-Node: AWLI files\7f68769
-Node: Writing programs to use Aspell\7f69563
-Node: Through the C API\7f70105
-Node: Through A Pipe\7f77834
-Node: Notes on Storing Replacement Pairs\7f82893
-Node: Adding Support For Other Languages\7f84279
-Node: The Language Data File\7f85223
-Ref: data-encoding\7f86634
-Node: Compiling the Word List\7f90884
-Node: Phonetic Code\7f91339
-Node: The Simple Soundslike\7f107350
-Node: Replacement Tables\7f108584
-Node: Affix Compression\7f109568
-Node: Controlling the Behavior of Run-together Words\7f114865
-Node: Creating A New Character Set\7f115793
-Node: Creating An Official Dictionary Package\7f117028
-Node: Implementation Notes\7f117760
-Node: Aspell Suggestion Strategy\7f118042
-Node: Notes on 8-bit Characters\7f120474
-Node: Languages Which Aspell can Support\7f124322
-Node: Supported\7f124924
-Node: Unsupported\7f141865
-Node: Multiple Scripts\7f145692
-Node: Planned Dictionaries\7f146530
-Node: References\7f150615
-Node: Language Related Issues\7f151634
-Node: Compound Words\7f152179
-Node: Words With Symbols in Them\7f155124
-Node: Unicode Normalization\7f158400
-Node: German Sharp S\7f159350
-Node: Context Sensitive Spelling\7f160014
-Node: To Do\7f160602
-Node: Important Items\7f160806
-Node: Other Items\7f165096
-Node: Notes on Various Items\7f167154
-Node: Word skipping by context\7f167390
-Node: Hidden Markov Model\7f169262
-Node: Email the Personal Dictionary\7f170125
-Node: Installing\7f171189
-Node: Generic Install Instructions\7f172220
-Node: HTML Manuals and "make clean"\7f173848
-Node: Curses Notes\7f174391
-Node: Loadable Filter Notes\7f176341
-Node: Upgrading from Aspell 0.50\7f176980
-Ref: Binary Compatibility\7f178087
-Node: Upgrading from Aspell .33/Pspell .12\7f179638
-Node: Upgrading from a Pre-0.50 snapshot\7f182150
-Node: WIN32 Notes\7f182662
-Ref: Win32-Directories\7f187800
-Node: ChangeLog\7f189271
-Node: Authors\7f226820
-Node: Copying\7f229095
-Node: GNU Free Documentation License\7f230163
-Node: GNU Lesser General Public License\7f252602
+Node: Top\7f826
+Node: Introduction\7f4199
+Node: Support\7f7937
+Node: Basic Usage\7f8338
+Node: Spellchecking Individual Files\7f8680
+Node: Using Aspell as a Replacement for Ispell\7f12139
+Ref: Differences From Ispell\7f14130
+Node: Using Aspell with other Applications\7f17836
+Node: Customizing Aspell\7f20301
+Node: Specifying Options\7f21620
+Node: The Options\7f27948
+Node: Dumping Configuration Values\7f39749
+Node: Notes on Various Options\7f40398
+Node: Notes on Various Filters and Filter Modes\7f40743
+Node: Notes on the Prefix Option\7f50081
+Node: Notes on Typo-Analysis\7f50985
+Node: Notes on the Different Suggestion Modes\7f53144
+Node: Working With Dictionaries\7f55498
+Node: Using aspell-import\7f56101
+Node: How Aspell Selects an Appropriate Dictionary\7f56945
+Node: Listing Available Dictionaries\7f59128
+Node: Dumping the Contents of the Word List\7f59577
+Node: Creating an Individual Word List\7f60206
+Node: Working With Affix Info in Word Lists\7f63744
+Node: Format of the Personal and Replacement Dictionaries\7f67473
+Ref: Format of the Personal Dictionary\7f67778
+Node: Using Multi Dictionaries\7f69184
+Node: Dictionary Naming\7f70104
+Node: AWLI files\7f71399
+Node: Writing programs to use Aspell\7f72197
+Node: Through the C API\7f72766
+Node: Through A Pipe\7f80768
+Node: Notes on Storing Replacement Pairs\7f86052
+Node: Adding Support For Other Languages\7f87448
+Node: The Language Data File\7f88452
+Ref: data-encoding\7f89915
+Node: Compiling the Word List\7f94316
+Node: Phonetic Code\7f94771
+Node: The Simple Soundslike\7f111359
+Node: Replacement Tables\7f112601
+Node: Affix Compression\7f113601
+Node: Controlling the Behavior of Run-together Words\7f118975
+Node: Creating A New Character Set\7f119923
+Node: Creating An Official Dictionary Package\7f121175
+Node: Implementation Notes\7f121916
+Node: Aspell Suggestion Strategy\7f122203
+Node: Notes on 8-bit Characters\7f124651
+Node: Languages Which Aspell can Support\7f128523
+Node: Supported\7f129201
+Node: Unsupported\7f146022
+Node: Multiple Scripts\7f149883
+Node: Planned Dictionaries\7f150721
+Node: References\7f154916
+Node: Language Related Issues\7f155950
+Node: Compound Words\7f156534
+Node: Words With Symbols in Them\7f159481
+Node: Unicode Normalization\7f162786
+Node: German Sharp S\7f163735
+Node: Context Sensitive Spelling\7f164432
+Node: To Do\7f165028
+Node: Important Items\7f165268
+Node: Other Items\7f169599
+Node: Notes on Various Items\7f171699
+Node: Word skipping by context\7f171950
+Node: Hidden Markov Model\7f173898
+Node: Email the Personal Dictionary\7f174760
+Node: Installing\7f175817
+Node: Generic Install Instructions\7f176967
+Node: HTML Manuals and "make clean"\7f178649
+Node: Curses Notes\7f179207
+Node: Loadable Filter Notes\7f181218
+Node: Using 32-Bit Dictionaries on a 64-Bit System\7f181883
+Node: Upgrading from Aspell 0.50\7f182963
+Ref: Binary Compatibility\7f184121
+Node: Upgrading from Aspell .33/Pspell .12\7f185680
+Node: Upgrading from a Pre-0.50 snapshot\7f188225
+Node: WIN32 Notes\7f188749
+Ref: Win32-Directories\7f194003
+Node: ChangeLog\7f195526
+Node: Authors\7f235351
+Node: Copying\7f237639
+Node: GNU Free Documentation License\7f238709
+Node: GNU Lesser General Public License\7f261294
\1f
End Tag Table
+
+\1f
+Local Variables:
+coding: utf-8
+End:
\input texinfo @c -*-texinfo-*-
@setfilename aspell.info
-@settitle GNU Aspell 0.60.6.1
+@settitle GNU Aspell 0.60.7
@syncodeindex pg cp
-@documentencoding ISO-8859-1
+@documentencoding UTF-8
@documentdescription
-Aspell 0.60.6.1 spell checker user's manual.
+Aspell 0.60.7 spell checker user's manual.
@end documentdescription
@copying
GNU Aspell is a spell checker designed to eventually replace Ispell.
It can either be used as a library or as an independent spell checker.
-Copyright @copyright{} 2000--2011 Kevin Atkinson.
+Copyright @copyright{} 2000--2019 Kevin Atkinson.
@quotation
Permission is granted to copy, distribute and/or modify this document
@end direntry
@titlepage
-@title GNU Aspell 0.60.6.1
+@title GNU Aspell 0.60.7
@author Kevin Atkinson (@email{kevina@@gnu.org})
@page
@vskip 0pt plus 1filll
@ifnottex
@node Top
-@top GNU Aspell 0.60.6.1
+@top GNU Aspell 0.60.7
This is the user's manual for Aspell
GNU Aspell is a spell checker designed to eventually replace Ispell.
them) can be found off the Aspell home page at
@uref{http://aspell.net}.
-Bug reports should be submitted via the Sourceforge Tracker at
-@uref{http://sourceforge.net/@/tracker/?group_id=245} rather than
-being posted to the mailing lists.
+Bug reports can also be submitted via GitHub at
+@uref{https://github.com/GNUAspell/aspell/}.
@node Basic Usage
@chapter Basic Usage
create dictionary aliases. Each entry has the form @samp{@var{from}
@var{to}}. Will override any system dictionaries that are present.
+@item dont-use-other-dicts
+@i{(boolean)}
+
+Disable use of personal, replacement & session dictionaries. Any
+dictionaries specified using @samp{extra-dicts} will still be used.
+
@end table
@subsection Encoding Options
@option{--dont-clean-affixes} can be specified to turn the warnings into
errors.
-The compiled dictionary file are endian order dependent. When a
-dictionary is loaded the endian order is checked. Please do not
-distribute the compiled dictionaries unless you are only distributing
-them for a particular platform such as you would a binary.
+The compiled dictionaries are platform dependent. They depend on the
+endian order and (unless compiled with the
+@option{--enable-32-bit-hash-fun} option) the size of the
+@code{size_t} type as it used in the hash function; this
+type is generally different on 32 and 64-bit systems. When a
+dictionary is loaded the endian order and compatibility of the hash
+function is checked. Please do not distribute the compiled
+dictionaries unless you are only distributing them for a particular
+platform such as you would a binary.
Aspell is now also able to use special @code{multi} dictionaries. for
more information @ref{How Aspell Selects an Appropriate Dictionary}.
@quotation
Yes I have considered something like that but not for the personal
dictionaries but rather the replacement word list in order to get
-better test data for @uref{http://aspell.sourceforge.net/test/}.
+better test data for @uref{http://aspell.net/test/}.
@end quotation
The problem is I don't know of a good way to do this since Aspell can
@node ChangeLog
@appendix ChangeLog
+@heading Changes from 0.60.6.1 to 0.60.7 (July 29, 2019)
+@itemize @bullet
+@item
+Add partial support for recognizing the Unicode apostrophe (') in
+words. In particular Aspell will accept the Unicode apostrophe when
+the language uses an ISO Latin charset that doesn't already have a
+Unicode apostrophe. For now, Aspell will still use the ASCII version
+in suggestions.
+@item
+Detect when a dictionary compiled on a 32-bit machine is used on a
+64-bit one (and vise versa), as due to an oversight, compiled
+dictionaries depend on more than the endianness. Also added a compile
+time option to remove this dependency, but at the cost of breaking
+compatibility with already compiled dictionaries on 64-bit systems.
+@item
+Fix a bug which caused Aspell to crash when passing in a null string
+to almost any of the C API functions. This should not happen if the
+size is also zero as the pointer should never be derefrenced.
+@item
+Fix a bug that caused Aspell to crash with a SEGFAULT when built with
+mingw-w64.
+@item
+In addition to outputting a warning when building with NDEBUG defined,
+also include NDEBUG in the version string.
+@item
+Various compile fixes for newer version of Gcc and Clang.
+@item
+Fix VPATH builds.
+@item
+Use utf-8 encoding for manual instead of iso-8859-1.
+@item
+Other minor updates and bug fixes.
+@end itemize
+
@heading Changes from 0.60.6 to 0.60.6.1 (July 4, 2011)
@itemize @bullet
@item
-Update to Automake 1.10.3.
+Update to Automake 1.10.3
@item
Fix a bug which caused a race condition (leading to a likely crash)
when two threads try to update the dictionary cache at the same time.
cxx impl: use this as the cxx impl instead of the default
returns alt type: the constructor returns some type other than
the object from which it is a member of
- no native: do not attemt to create a native implementation
+ no native: do not attempt to create a native implementation
treat as object: treat as a object rather than a pointer
@end verbatim
The @code{%info} structure is initialized as follows:
* HTML Manuals and "make clean"::
* Curses Notes::
* Loadable Filter Notes::
+* Using 32-Bit Dictionaries on a 64-Bit System::
* Upgrading from Aspell 0.50::
* Upgrading from Aspell .33/Pspell .12::
* Upgrading from a Pre-0.50 snapshot::
erase them. This is due to a limitation of automake which is not
easily fixed. If makeinfo is installed they can easily be rebuild
with @command{make aspell.html aspell-dev.html}, or you can unpack
-them from the tarbar.
+them from the tarball.
@node Curses Notes
@appendixsec Curses Notes
If you are having problems compiling @file{check_funs.cpp} then the
most likely reason is due to incompatibilities with the curses
implementation on your system. You should first try disabling the
-``wide'' curses library by with the @option{--disable-wide-curses}
-configure option.. By doing so you will lose support for properly
+``wide'' curses library with the @option{--disable-wide-curses}
+configure option. By doing so you will lose support for properly
displaying UTF-8 characters but you may still be able to get the full
-screen interface. If this fails than you can disable curses support
+screen interface. If this fails then you can disable curses support
altogether with the @option{--disable-curses} configure option. By
doing this you will lose the nice full screen interface but hopefully
you will be able to at least get Aspell to compile correctly.
-If the curses library is installed in a non-standard location than you
+If the curses library is installed in a non-standard location then you
can specify the library and include directory with
@option{--enable-curses=@var{lib}} and
@option{--enable-curses-include=@var{dir}}.
@appendixsubsec Unicode Support
In order for Aspell to correctly spell check UTF-8 documents in full
-screen mode the "wide" version of the curses library must be
+screen mode the ``wide'' version of the curses library must be
installed. This is different from the normal version of curses
library, and is normally named @file{libcursesw} (with a @samp{w} at
the end) or @file{libncursesw}. UTF-8 documents will not display
@option{--enable-compile-in-filters} when configuring Aspell with
@command{./configure}.
+@node Using 32-Bit Dictionaries on a 64-Bit System
+@appendixsec Using 32-Bit Dictionaries on a 64-Bit System
+
+Due to an oversight, Aspell compiled dictionaries not only depend on
+the endian order, they also depend on the the size of the
+@code{size_t} type, which is generally different on 32 and
+64-bit systems. The @code{size_t} type is used in the hash function
+of the compiled dictionaries. To force the hash function to use a
+32-bit integer instead, use the @option{--enable-32-bit-hash-fun}
+configure option. This option will allow you to use dictionaries
+compiled on a 32-bit machine on a 64-bit one as long as the endian
+order is the same. Of course, dictionaries compiled on a 64-bit
+machine without this option enabled will no longer be usable. If
+Aspell detects that an incompatible hash function is used, it will fail
+with:
+@quotation
+Error: The file ``@var{some-file}'' is not in the proper format. Incompatible hash function.
+@end quotation
+
@node Upgrading from Aspell 0.50
@appendixsec Upgrading from Aspell 0.50
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
-\def\texinfoversion{2009-08-14.15}
+\def\texinfoversion{2013-02-01.11}
%
% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-% 2007, 2008, 2009 Free Software Foundation, Inc.
+% 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
%
% This texinfo.tex file is free software: you can redistribute it and/or
% modify it under the terms of the GNU General Public License as
%
% As a special exception, when this file is read by TeX when processing
% a Texinfo source document, you may use the result without
-% restriction. (This has been our intent since Texinfo was invented.)
+% restriction. This Exception is an additional permission under section 7
+% of the GNU General Public License, version 3 ("GPLv3").
%
% Please try the latest version of texinfo.tex before submitting bug
% reports; you can get the latest version from:
-% http://www.gnu.org/software/texinfo/ (the Texinfo home page), or
-% ftp://tug.org/tex/texinfo.tex
-% (and all CTAN mirrors, see http://www.ctan.org).
+% http://ftp.gnu.org/gnu/texinfo/ (the Texinfo release area), or
+% http://ftpmirror.gnu.org/texinfo/ (same, via a mirror), or
+% http://www.gnu.org/software/texinfo/ (the Texinfo home page)
% The texinfo.tex in any given distribution could well be out
% of date, so if that's what you're using, please check.
%
\everyjob{\message{[Texinfo version \texinfoversion]}%
\catcode`+=\active \catcode`\_=\active}
-
\chardef\other=12
% We never want plain's \outer definition of \+ in Texinfo.
\let\ptexnewwrite\newwrite
\let\ptexnoindent=\noindent
\let\ptexplus=+
+\let\ptexraggedright=\raggedright
\let\ptexrbrace=\}
\let\ptexslash=\/
\let\ptexstar=\*
\let\ptext=\t
\let\ptextop=\top
-{\catcode`\'=\active
-\global\let\ptexquoteright'}% Math-mode def from plain.tex.
-\let\ptexraggedright=\raggedright
+{\catcode`\'=\active \global\let\ptexquoteright'}% active in plain's math mode
% If this character appears in an error message or help string, it
% starts a new line in the output.
% Set up fixed words for English if not already set.
\ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi
\ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi
+\ifx\putworderror\undefined \gdef\putworderror{error}\fi
\ifx\putwordfile\undefined \gdef\putwordfile{file}\fi
\ifx\putwordin\undefined \gdef\putwordin{in}\fi
-\ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)}\fi
-\ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi
+\ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)}\fi
+\ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi
\ifx\putwordInfo\undefined \gdef\putwordInfo{Info}\fi
\ifx\putwordInstanceVariableof\undefined \gdef\putwordInstanceVariableof{Instance Variable of}\fi
\ifx\putwordMethodon\undefined \gdef\putwordMethodon{Method on}\fi
\def\spaceisspace{\catcode`\ =\spacecat}
% sometimes characters are active, so we need control sequences.
+\chardef\ampChar = `\&
\chardef\colonChar = `\:
\chardef\commaChar = `\,
\chardef\dashChar = `\-
\chardef\dotChar = `\.
\chardef\exclamChar= `\!
+\chardef\hashChar = `\#
\chardef\lquoteChar= `\`
\chardef\questChar = `\?
\chardef\rquoteChar= `\'
\chardef\semiChar = `\;
+\chardef\slashChar = `\/
\chardef\underChar = `\_
% Ignore a token.
% that mark overfull boxes (in case you have decided
% that the text looks ok even though it passes the margin).
%
-\def\finalout{\overfullrule=0pt}
-
-% @| inserts a changebar to the left of the current line. It should
-% surround any changed text. This approach does *not* work if the
-% change spans more than two lines of output. To handle that, we would
-% have adopt a much more difficult approach (putting marks into the main
-% vertical list for the beginning and end of each change).
-%
-\def\|{%
- % \vadjust can only be used in horizontal mode.
- \leavevmode
- %
- % Append this vertical mode material after the current line in the output.
- \vadjust{%
- % We want to insert a rule with the height and depth of the current
- % leading; that is exactly what \strutbox is supposed to record.
- \vskip-\baselineskip
- %
- % \vadjust-items are inserted at the left edge of the type. So
- % the \llap here moves out into the left-hand margin.
- \llap{%
- %
- % For a thicker or thinner bar, change the `1pt'.
- \vrule height\baselineskip width1pt
- %
- % This is the space between the bar and the text.
- \hskip 12pt
- }%
- }%
-}
+\def\finalout{\overfullrule=0pt }
% Sometimes it is convenient to have everything in the transcript file
% and nothing on the terminal. We don't just call \tracingall here,
\tracingmacros2
\tracingrestores1
\showboxbreadth\maxdimen \showboxdepth\maxdimen
- \ifx\eTeXversion\undefined\else % etex gives us more logging
+ \ifx\eTeXversion\thisisundefined\else % etex gives us more logging
\tracingscantokens1
\tracingifs1
\tracinggroups1
\errorcontextlines16
}%
+% @errormsg{MSG}. Do the index-like expansions on MSG, but if things
+% aren't perfect, it's not the end of the world, being an error message,
+% after all.
+%
+\def\errormsg{\begingroup \indexnofonts \doerrormsg}
+\def\doerrormsg#1{\errmessage{#1}}
+
% add check for \lastpenalty to plain's definitions. If the last thing
% we did was a \nobreak, we don't want to insert more space.
%
\def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount
\removelastskip\penalty-200\bigskip\fi\fi}
-% For @cropmarks command.
% Do @cropmarks to get crop marks.
%
\newif\ifcropmarks
}
\def\inenvironment#1{%
\ifx#1\empty
- out of any environment%
+ outside of any environment%
\else
in environment \expandafter\string#1%
\fi
\parseargdef\end{%
\if 1\csname iscond.#1\endcsname
\else
- % The general wording of \badenverr may not be ideal, but... --kasal, 06nov03
+ % The general wording of \badenverr may not be ideal.
\expandafter\checkenv\csname#1\endcsname
\csname E#1\endcsname
\endgroup
\newhelp\EMsimple{Press RETURN to continue.}
-%% Simple single-character @ commands
-
-% @@ prints an @
-% Kludge this until the fonts are right (grr).
-\def\@{{\tt\char64}}
-
-% This is turned off because it was never documented
-% and you can use @w{...} around a quote to suppress ligatures.
-%% Define @` and @' to be the same as ` and '
-%% but suppressing ligatures.
-%\def\`{{`}}
-%\def\'{{'}}
-
-% Used to generate quoted braces.
-\def\mylbrace {{\tt\char123}}
-\def\myrbrace {{\tt\char125}}
-\let\{=\mylbrace
-\let\}=\myrbrace
-\begingroup
- % Definitions to produce \{ and \} commands for indices,
- % and @{ and @} for the aux/toc files.
- \catcode`\{ = \other \catcode`\} = \other
- \catcode`\[ = 1 \catcode`\] = 2
- \catcode`\! = 0 \catcode`\\ = \other
- !gdef!lbracecmd[\{]%
- !gdef!rbracecmd[\}]%
- !gdef!lbraceatcmd[@{]%
- !gdef!rbraceatcmd[@}]%
-!endgroup
-
-% @comma{} to avoid , parsing problems.
-\let\comma = ,
-
-% Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent
-% Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H.
-\let\, = \c
-\let\dotaccent = \.
-\def\ringaccent#1{{\accent23 #1}}
-\let\tieaccent = \t
-\let\ubaraccent = \b
-\let\udotaccent = \d
-
-% Other special characters: @questiondown @exclamdown @ordf @ordm
-% Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss.
-\def\questiondown{?`}
-\def\exclamdown{!`}
-\def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}}
-\def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}}
-
-% Dotless i and dotless j, used for accents.
-\def\imacro{i}
-\def\jmacro{j}
-\def\dotless#1{%
- \def\temp{#1}%
- \ifx\temp\imacro \ifmmode\imath \else\ptexi \fi
- \else\ifx\temp\jmacro \ifmmode\jmath \else\j \fi
- \else \errmessage{@dotless can be used only with i or j}%
- \fi\fi
-}
-
-% The \TeX{} logo, as in plain, but resetting the spacing so that a
-% period following counts as ending a sentence. (Idea found in latex.)
-%
-\edef\TeX{\TeX \spacefactor=1000 }
-
-% @LaTeX{} logo. Not quite the same results as the definition in
-% latex.ltx, since we use a different font for the raised A; it's most
-% convenient for us to use an explicitly smaller font, rather than using
-% the \scriptstyle font (since we don't reset \scriptstyle and
-% \scriptscriptstyle).
-%
-\def\LaTeX{%
- L\kern-.36em
- {\setbox0=\hbox{T}%
- \vbox to \ht0{\hbox{\selectfonts\lllsize A}\vss}}%
- \kern-.15em
- \TeX
-}
-
% Be sure we're in horizontal mode when doing a tie, since we make space
% equivalent to this in @example-like environments. Otherwise, a space
% at the beginning of a line will start with \penalty -- and
\def\:{\spacefactor=1000 }
% @* forces a line break.
-\def\*{\hfil\break\hbox{}\ignorespaces}
+\def\*{\unskip\hfil\break\hbox{}\ignorespaces}
% @/ allows a line break.
\let\/=\allowbreak
\else\ifx\temp\offword \plainnonfrenchspacing
\else
\errhelp = \EMsimple
- \errmessage{Unknown @frenchspacing option `\temp', must be on/off}%
+ \errmessage{Unknown @frenchspacing option `\temp', must be on|off}%
\fi\fi
}
\newdimen\mil \mil=0.001in
-% Old definition--didn't work.
-%\parseargdef\need{\par %
-%% This method tries to make TeX break the page naturally
-%% if the depth of the box does not fit.
-%{\baselineskip=0pt%
-%\vtop to #1\mil{\vfil}\kern -#1\mil\nobreak
-%\prevdepth=-1000pt
-%}}
-
\parseargdef\need{%
% Ensure vertical mode, so we don't make a big box in the middle of a
% paragraph.
% @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current
% paragraph. For more general purposes, use the \margin insertion
-% class. WHICH is `l' or `r'.
+% class. WHICH is `l' or `r'. Not documented, written for gawk manual.
%
\newskip\inmarginspacing \inmarginspacing=1cm
\def\strutdepth{\dp\strutbox}
\temp
}
+% @| inserts a changebar to the left of the current line. It should
+% surround any changed text. This approach does *not* work if the
+% change spans more than two lines of output. To handle that, we would
+% have adopt a much more difficult approach (putting marks into the main
+% vertical list for the beginning and end of each change). This command
+% is not documented, not supported, and doesn't work.
+%
+\def\|{%
+ % \vadjust can only be used in horizontal mode.
+ \leavevmode
+ %
+ % Append this vertical mode material after the current line in the output.
+ \vadjust{%
+ % We want to insert a rule with the height and depth of the current
+ % leading; that is exactly what \strutbox is supposed to record.
+ \vskip-\baselineskip
+ %
+ % \vadjust-items are inserted at the left edge of the type. So
+ % the \llap here moves out into the left-hand margin.
+ \llap{%
+ %
+ % For a thicker or thinner bar, change the `1pt'.
+ \vrule height\baselineskip width1pt
+ %
+ % This is the space between the bar and the text.
+ \hskip 12pt
+ }%
+ }%
+}
+
% @include FILE -- \input text of FILE.
%
\def\include{\parseargusing\filenamecatcodes\includezzz}
\makevalueexpandable % we want to expand any @value in FILE.
\turnoffactive % and allow special characters in the expansion
\indexnofonts % Allow `@@' and other weird things in file names.
+ \wlog{texinfo.tex: doing @include of #1^^J}%
\edef\temp{\noexpand\input #1 }%
%
% This trickery is to read FILE outside of a group, in case it makes
\def\popthisfilestack{\errthisfilestackempty}
\def\errthisfilestackempty{\errmessage{Internal error:
the stack of filenames is empty.}}
-
+%
\def\thisfile{}
% @center line
%
\parseargdef\center{%
\ifhmode
- \let\next\centerH
+ \let\centersub\centerH
\else
- \let\next\centerV
+ \let\centersub\centerV
\fi
- \next{\hfil \ignorespaces#1\unskip \hfil}%
+ \centersub{\hfil \ignorespaces#1\unskip \hfil}%
+ \let\centersub\relax % don't let the definition persist, just in case
}
-\def\centerH#1{%
- {%
- \hfil\break
- \advance\hsize by -\leftskip
- \advance\hsize by -\rightskip
- \line{#1}%
- \break
- }%
+\def\centerH#1{{%
+ \hfil\break
+ \advance\hsize by -\leftskip
+ \advance\hsize by -\rightskip
+ \line{#1}%
+ \break
+}}
+%
+\newcount\centerpenalty
+\def\centerV#1{%
+ % The idea here is the same as in \startdefun, \cartouche, etc.: if
+ % @center is the first thing after a section heading, we need to wipe
+ % out the negative parskip inserted by \sectionheading, but still
+ % prevent a page break here.
+ \centerpenalty = \lastpenalty
+ \ifnum\centerpenalty>10000 \vskip\parskip \fi
+ \ifnum\centerpenalty>9999 \penalty\centerpenalty \fi
+ \line{\kern\leftskip #1\kern\rightskip}%
}
-\def\centerV#1{\line{\kern\leftskip #1\kern\rightskip}}
% @sp n outputs n lines of vertical space
-
+%
\parseargdef\sp{\vskip #1\baselineskip}
% @comment ...line which is ignored...
% @c is the same as @comment
% @ignore ... @end ignore is another way to write a comment
-
+%
\def\comment{\begingroup \catcode`\^^M=\other%
\catcode`\@=\other \catcode`\{=\other \catcode`\}=\other%
\commentxxx}
{\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}}
-
+%
\let\c=\comment
% @paragraphindent NCHARS
}
-% @asis just yields its argument. Used with @table, for example.
-%
-\def\asis#1{#1}
-
-% @math outputs its argument in math mode.
-%
-% One complication: _ usually means subscripts, but it could also mean
-% an actual _ character, as in @math{@var{some_variable} + 1}. So make
-% _ active, and distinguish by seeing if the current family is \slfam,
-% which is what @var uses.
-{
- \catcode`\_ = \active
- \gdef\mathunderscore{%
- \catcode`\_=\active
- \def_{\ifnum\fam=\slfam \_\else\sb\fi}%
- }
-}
-% Another complication: we want \\ (and @\) to output a \ character.
-% FYI, plain.tex uses \\ as a temporary control sequence (why?), but
-% this is not advertised and we don't care. Texinfo does not
-% otherwise define @\.
-%
-% The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\.
-\def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi}
-%
-\def\math{%
- \tex
- \mathunderscore
- \let\\ = \mathbackslash
- \mathactive
- % make the texinfo accent commands work in math mode
- \let\"=\ddot
- \let\'=\acute
- \let\==\bar
- \let\^=\hat
- \let\`=\grave
- \let\u=\breve
- \let\v=\check
- \let\~=\tilde
- \let\dotaccent=\dot
- $\finishmath
-}
-\def\finishmath#1{#1$\endgroup} % Close the group opened by \tex.
-
-% Some active characters (such as <) are spaced differently in math.
-% We have to reset their definitions in case the @math was an argument
-% to a command which sets the catcodes (such as @item or @section).
-%
-{
- \catcode`^ = \active
- \catcode`< = \active
- \catcode`> = \active
- \catcode`+ = \active
- \catcode`' = \active
- \gdef\mathactive{%
- \let^ = \ptexhat
- \let< = \ptexless
- \let> = \ptexgtr
- \let+ = \ptexplus
- \let' = \ptexquoteright
- }
-}
-
-% Some math mode symbols.
-\def\bullet{$\ptexbullet$}
-\def\geq{\ifmmode \ge\else $\ge$\fi}
-\def\leq{\ifmmode \le\else $\le$\fi}
-\def\minus{\ifmmode -\else $-$\fi}
-
-% @dots{} outputs an ellipsis using the current font.
-% We do .5em per period so that it has the same spacing in the cm
-% typewriter fonts as three actual period characters; on the other hand,
-% in other typewriter fonts three periods are wider than 1.5em. So do
-% whichever is larger.
-%
-\def\dots{%
- \leavevmode
- \setbox0=\hbox{...}% get width of three periods
- \ifdim\wd0 > 1.5em
- \dimen0 = \wd0
- \else
- \dimen0 = 1.5em
- \fi
- \hbox to \dimen0{%
- \hskip 0pt plus.25fil
- .\hskip 0pt plus1fil
- .\hskip 0pt plus1fil
- .\hskip 0pt plus.5fil
- }%
-}
-
-% @enddots{} is an end-of-sentence ellipsis.
-%
-\def\enddots{%
- \dots
- \spacefactor=\endofsentencespacefactor
-}
-
-% @comma{} is so commas can be inserted into text without messing up
-% Texinfo's parsing.
-%
-\let\comma = ,
-
% @refill is a no-op.
\let\refill=\relax
\newif\ifpdfmakepagedest
% when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1
-% can be set). So we test for \relax and 0 as well as \undefined,
-% borrowed from ifpdf.sty.
-\ifx\pdfoutput\undefined
+% can be set). So we test for \relax and 0 as well as being undefined.
+\ifx\pdfoutput\thisisundefined
\else
\ifx\pdfoutput\relax
\else
% for display in the outlines, and in other places. Thus, we have to
% double any backslashes. Otherwise, a name like "\node" will be
% interpreted as a newline (\n), followed by o, d, e. Not good.
-% http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html
-% (and related messages, the final outcome is that it is up to the TeX
-% user to double the backslashes and otherwise make the string valid, so
-% that's what we do).
-
-% double active backslashes.
-%
-{\catcode`\@=0 \catcode`\\=\active
- @gdef@activebackslashdouble{%
- @catcode`@\=@active
- @let\=@doublebackslash}
-}
-
-% To handle parens, we must adopt a different approach, since parens are
-% not active characters. hyperref.dtx (which has the same problem as
-% us) handles it with this amazing macro to replace tokens, with minor
-% changes for Texinfo. It is included here under the GPL by permission
-% from the author, Heiko Oberdiek.
-%
-% #1 is the tokens to replace.
-% #2 is the replacement.
-% #3 is the control sequence with the string.
-%
-\def\HyPsdSubst#1#2#3{%
- \def\HyPsdReplace##1#1##2\END{%
- ##1%
- \ifx\\##2\\%
- \else
- #2%
- \HyReturnAfterFi{%
- \HyPsdReplace##2\END
- }%
- \fi
- }%
- \xdef#3{\expandafter\HyPsdReplace#3#1\END}%
-}
-\long\def\HyReturnAfterFi#1\fi{\fi#1}
-
-% #1 is a control sequence in which to do the replacements.
-\def\backslashparens#1{%
- \xdef#1{#1}% redefine it as its expansion; the definition is simply
- % \lastnode when called from \setref -> \pdfmkdest.
- \HyPsdSubst{(}{\realbackslash(}{#1}%
- \HyPsdSubst{)}{\realbackslash)}{#1}%
+%
+% See http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html and
+% related messages. The final outcome is that it is up to the TeX user
+% to double the backslashes and otherwise make the string valid, so
+% that's what we do. pdftex 1.30.0 (ca.2005) introduced a primitive to
+% do this reliably, so we use it.
+
+% #1 is a control sequence in which to do the replacements,
+% which we \xdef.
+\def\txiescapepdf#1{%
+ \ifx\pdfescapestring\thisisundefined
+ % No primitive available; should we give a warning or log?
+ % Many times it won't matter.
+ \else
+ % The expandable \pdfescapestring primitive escapes parentheses,
+ % backslashes, and other special chars.
+ \xdef#1{\pdfescapestring{#1}}%
+ \fi
}
\newhelp\nopdfimagehelp{Texinfo supports .png, .jpg, .jpeg, and .pdf images
%
% #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto).
\def\dopdfimage#1#2#3{%
- \def\imagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}%
- \def\imageheight{#3}\setbox2 = \hbox{\ignorespaces #3}%
+ \def\pdfimagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}%
+ \def\pdfimageheight{#3}\setbox2 = \hbox{\ignorespaces #3}%
%
- % pdftex (and the PDF format) support .png, .jpg, .pdf (among
- % others). Let's try in that order.
+ % pdftex (and the PDF format) support .pdf, .png, .jpg (among
+ % others). Let's try in that order, PDF first since if
+ % someone has a scalable image, presumably better to use that than a
+ % bitmap.
\let\pdfimgext=\empty
\begingroup
- \openin 1 #1.png \ifeof 1
- \openin 1 #1.jpg \ifeof 1
- \openin 1 #1.jpeg \ifeof 1
- \openin 1 #1.JPG \ifeof 1
- \openin 1 #1.pdf \ifeof 1
- \openin 1 #1.PDF \ifeof 1
+ \openin 1 #1.pdf \ifeof 1
+ \openin 1 #1.PDF \ifeof 1
+ \openin 1 #1.png \ifeof 1
+ \openin 1 #1.jpg \ifeof 1
+ \openin 1 #1.jpeg \ifeof 1
+ \openin 1 #1.JPG \ifeof 1
\errhelp = \nopdfimagehelp
\errmessage{Could not find image file #1 for pdf}%
- \else \gdef\pdfimgext{PDF}%
+ \else \gdef\pdfimgext{JPG}%
\fi
- \else \gdef\pdfimgext{pdf}%
+ \else \gdef\pdfimgext{jpeg}%
\fi
- \else \gdef\pdfimgext{JPG}%
+ \else \gdef\pdfimgext{jpg}%
\fi
- \else \gdef\pdfimgext{jpeg}%
+ \else \gdef\pdfimgext{png}%
\fi
- \else \gdef\pdfimgext{jpg}%
+ \else \gdef\pdfimgext{PDF}%
\fi
- \else \gdef\pdfimgext{png}%
+ \else \gdef\pdfimgext{pdf}%
\fi
\closein 1
\endgroup
\else
\immediate\pdfximage
\fi
- \ifdim \wd0 >0pt width \imagewidth \fi
- \ifdim \wd2 >0pt height \imageheight \fi
+ \ifdim \wd0 >0pt width \pdfimagewidth \fi
+ \ifdim \wd2 >0pt height \pdfimageheight \fi
\ifnum\pdftexversion<13
#1.\pdfimgext
\else
% such as \, aren't expanded when present in a section title.
\indexnofonts
\turnoffactive
- \activebackslashdouble
\makevalueexpandable
\def\pdfdestname{#1}%
- \backslashparens\pdfdestname
+ \txiescapepdf\pdfdestname
\safewhatsit{\pdfdest name{\pdfdestname} xyz}%
}}
%
% page number. We could generate a destination for the section
% text in the case where a section has no node, but it doesn't
% seem worth the trouble, since most documents are normally structured.
- \def\pdfoutlinedest{#3}%
+ \edef\pdfoutlinedest{#3}%
\ifx\pdfoutlinedest\empty
\def\pdfoutlinedest{#4}%
\else
- % Doubled backslashes in the name.
- {\activebackslashdouble \xdef\pdfoutlinedest{#3}%
- \backslashparens\pdfoutlinedest}%
+ \txiescapepdf\pdfoutlinedest
\fi
%
- % Also double the backslashes in the display string.
- {\activebackslashdouble \xdef\pdfoutlinetext{#1}%
- \backslashparens\pdfoutlinetext}%
+ % Also escape PDF chars in the display string.
+ \edef\pdfoutlinetext{#1}%
+ \txiescapepdf\pdfoutlinetext
%
\pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}%
}
%
\def\pdfmakeoutlines{%
\begingroup
- % Thanh's hack / proper braces in bookmarks
- \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace
- \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace
- %
% Read toc silently, to get counts of subentries for \pdfoutline.
+ \def\partentry##1##2##3##4{}% ignore parts in the outlines
\def\numchapentry##1##2##3##4{%
\def\thischapnum{##2}%
\def\thissecnum{0}%
% Latin 2 (0xea) gets translated to a | character. Info from
% Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100.
%
- % xx to do this right, we have to translate 8-bit characters to
- % their "best" equivalent, based on the @documentencoding. Right
- % now, I guess we'll just let the pdf reader have its way.
+ % TODO this right, we have to translate 8-bit characters to
+ % their "best" equivalent, based on the @documentencoding. Too
+ % much work for too little return. Just use the ASCII equivalents
+ % we use for the index sort strings.
+ %
\indexnofonts
\setupdatafile
+ % We can have normal brace characters in the PDF outlines, unlike
+ % Texinfo index files. So set that up.
+ \def\{{\lbracecharliteral}%
+ \def\}{\rbracecharliteral}%
\catcode`\\=\active \otherbackslash
\input \tocreadfilename
\endgroup
}
+ {\catcode`[=1 \catcode`]=2
+ \catcode`{=\other \catcode`}=\other
+ \gdef\lbracecharliteral[{]%
+ \gdef\rbracecharliteral[}]%
+ ]
%
\def\skipspaces#1{\def\PP{#1}\def\D{|}%
\ifx\PP\D\let\nextsp\relax
\else\let\nextsp\skipspaces
- \ifx\p\space\else\addtokens{\filename}{\PP}%
- \advance\filenamelength by 1
- \fi
+ \addtokens{\filename}{\PP}%
+ \advance\filenamelength by 1
\fi
\nextsp}
- \def\getfilename#1{\filenamelength=0\expandafter\skipspaces#1|\relax}
+ \def\getfilename#1{%
+ \filenamelength=0
+ % If we don't expand the argument now, \skipspaces will get
+ % snagged on things like "@value{foo}".
+ \edef\temp{#1}%
+ \expandafter\skipspaces\temp|\relax
+ }
\ifnum\pdftexversion < 14
\let \startlink \pdfannotlink
\else
\def\ttsl{\setfontstyle{ttsl}}
-% Default leading.
-\newdimen\textleading \textleading = 13.2pt
-
% Set the baselineskip to #1, and the lineskip and strut size
% correspondingly. There is no deep meaning behind these magic numbers
% used as factors; they just match (closely enough) what Knuth defined.
% can get a sort of poor man's double spacing by redefining this.
\def\baselinefactor{1}
%
+\newdimen\textleading
\def\setleading#1{%
\dimen0 = #1\relax
\normalbaselineskip = \baselinefactor\dimen0
% if we are producing pdf, and we have \pdffontattr, then define cmaps.
% (\pdffontattr was introduced many years ago, but people still run
% older pdftex's; it's easy to conditionalize, so we do.)
-\ifpdf \ifx\pdffontattr\undefined \else
+\ifpdf \ifx\pdffontattr\thisisundefined \else
\begingroup
\catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char.
\catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap
\fi\fi
-% Set the font macro #1 to the font named #2, adding on the
-% specified font prefix (normally `cm').
+% Set the font macro #1 to the font named \fontprefix#2.
% #3 is the font's design size, #4 is a scale factor, #5 is the CMap
-% encoding (currently only OT1, OT1IT and OT1TT are allowed, pass
-% empty to omit).
+% encoding (only OT1, OT1IT and OT1TT are allowed, or empty to omit).
+% Example:
+% #1 = \textrm
+% #2 = \rmshape
+% #3 = 10
+% #4 = \mainmagstep
+% #5 = OT1
+%
\def\setfont#1#2#3#4#5{%
\font#1=\fontprefix#2#3 scaled #4
\csname cmap#5\endcsname#1%
}
% This is what gets called when #5 of \setfont is empty.
\let\cmap\gobble
-% emacs-page end of cmaps
+%
+% (end of cmaps)
% Use cm as the default font prefix.
% To specify the font prefix, you must define \fontprefix
% before you read in texinfo.tex.
-\ifx\fontprefix\undefined
+\ifx\fontprefix\thisisundefined
\def\fontprefix{cm}
\fi
% Support font families that don't use the same naming scheme as CM.
\def\rmshape{r}
-\def\rmbshape{bx} %where the normal face is bold
+\def\rmbshape{bx} % where the normal face is bold
\def\bfshape{b}
\def\bxshape{bx}
\def\ttshape{tt}
\def\scshape{csc}
\def\scbshape{csc}
-% Definitions for a main text size of 11pt. This is the default in
-% Texinfo.
+% Definitions for a main text size of 11pt. (The default in Texinfo.)
%
\def\definetextfontsizexi{%
% Text fonts (11.2pt, magstep1).
\font\reducedsy=cmsy10
\def\reducedecsize{1000}
-% reset the current fonts
-\textfonts
+\textleading = 13.2pt % line spacing for 11pt CM
+\textfonts % reset the current fonts
\rm
-} % end of 11pt text font size definitions
+} % end of 11pt text font size definitions, \definetextfontsizexi
% Definitions to make the main text be 10pt Computer Modern, with
\font\reducedsy=cmsy9
\def\reducedecsize{0900}
-% reduce space between paragraphs
-\divide\parskip by 2
-
-% reset the current fonts
-\textfonts
+\divide\parskip by 2 % reduce space between paragraphs
+\textleading = 12pt % line spacing for 10pt CM
+\textfonts % reset the current fonts
\rm
-} % end of 10pt text font size definitions
+} % end of 10pt text font size definitions, \definetextfontsizex
% We provide the user-level command
% @fonttextsize 10
% (or 11) to redefine the text font size. pt is assumed.
%
-\def\xword{10}
\def\xiword{11}
+\def\xword{10}
+\def\xwordpt{10pt}
%
\parseargdef\fonttextsize{%
\def\textsizearg{#1}%
- \wlog{doing @fonttextsize \textsizearg}%
+ %\wlog{doing @fonttextsize \textsizearg}%
%
% Set \globaldefs so that documents can use this inside @tex, since
% makeinfo 4.8 does not support it, but we need it nonetheless.
\let\tenttsl=\titlettsl
\def\curfontsize{title}%
\def\lsize{chap}\def\lllsize{subsec}%
- \resetmathfonts \setleading{25pt}}
+ \resetmathfonts \setleading{27pt}}
\def\titlefont#1{{\titlefonts\rmisbold #1}}
\def\chapfonts{%
\let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl
% Markup style setup for left and right quotes.
\defmarkupstylesetup\markupsetuplq{%
- \expandafter\let\expandafter \temp \csname markupsetuplq\currentmarkupstyle\endcsname
+ \expandafter\let\expandafter \temp
+ \csname markupsetuplq\currentmarkupstyle\endcsname
\ifx\temp\relax \markupsetuplqdefault \else \temp \fi
}
\defmarkupstylesetup\markupsetuprq{%
- \expandafter\let\expandafter \temp \csname markupsetuprq\currentmarkupstyle\endcsname
+ \expandafter\let\expandafter \temp
+ \csname markupsetuprq\currentmarkupstyle\endcsname
\ifx\temp\relax \markupsetuprqdefault \else \temp \fi
}
\gdef\markupsetcodequoteleft{\let`\codequoteleft}
\gdef\markupsetcodequoteright{\let'\codequoteright}
-
-\gdef\markupsetnoligaturesquoteleft{\let`\noligaturesquoteleft}
}
\let\markupsetuplqcode \markupsetcodequoteleft
\let\markupsetuprqcode \markupsetcodequoteright
+%
\let\markupsetuplqexample \markupsetcodequoteleft
\let\markupsetuprqexample \markupsetcodequoteright
+%
+\let\markupsetuplqkbd \markupsetcodequoteleft
+\let\markupsetuprqkbd \markupsetcodequoteright
+%
+\let\markupsetuplqsamp \markupsetcodequoteleft
+\let\markupsetuprqsamp \markupsetcodequoteright
+%
\let\markupsetuplqverb \markupsetcodequoteleft
\let\markupsetuprqverb \markupsetcodequoteright
+%
\let\markupsetuplqverbatim \markupsetcodequoteleft
\let\markupsetuprqverbatim \markupsetcodequoteright
-\let\markupsetuplqsamp \markupsetnoligaturesquoteleft
-\let\markupsetuplqkbd \markupsetnoligaturesquoteleft
-
-% Allow an option to not replace quotes with a regular directed right
-% quote/apostrophe (char 0x27), but instead use the undirected quote
-% from cmtt (char 0x0d). The undirected quote is ugly, so don't make it
-% the default, but it works for pasting with more pdf viewers (at least
-% evince), the lilypond developers report. xpdf does work with the
-% regular 0x27.
+% Allow an option to not use regular directed right quote/apostrophe
+% (char 0x27), but instead the undirected quote from cmtt (char 0x0d).
+% The undirected quote is ugly, so don't make it the default, but it
+% works for pasting with more pdf viewers (at least evince), the
+% lilypond developers report. xpdf does work with the regular 0x27.
%
\def\codequoteright{%
\expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax
\else \char'22 \fi
}
+% Commands to set the quote options.
+%
+\parseargdef\codequoteundirected{%
+ \def\temp{#1}%
+ \ifx\temp\onword
+ \expandafter\let\csname SETtxicodequoteundirected\endcsname
+ = t%
+ \else\ifx\temp\offword
+ \expandafter\let\csname SETtxicodequoteundirected\endcsname
+ = \relax
+ \else
+ \errhelp = \EMsimple
+ \errmessage{Unknown @codequoteundirected value `\temp', must be on|off}%
+ \fi\fi
+}
+%
+\parseargdef\codequotebacktick{%
+ \def\temp{#1}%
+ \ifx\temp\onword
+ \expandafter\let\csname SETtxicodequotebacktick\endcsname
+ = t%
+ \else\ifx\temp\offword
+ \expandafter\let\csname SETtxicodequotebacktick\endcsname
+ = \relax
+ \else
+ \errhelp = \EMsimple
+ \errmessage{Unknown @codequotebacktick value `\temp', must be on|off}%
+ \fi\fi
+}
+
% [Knuth] pp. 380,381,391, disable Spanish ligatures ?` and !` of \tt font.
\def\noligaturesquoteleft{\relax\lq}
% Count depth in font-changes, for error checks
\newcount\fontdepth \fontdepth=0
-%% Add scribe-like font environments, plus @l for inline lisp (usually sans
-%% serif) and @ii for TeX italic
+% Font commands.
-% \smartitalic{ARG} outputs arg in italics, followed by an italic correction
-% unless the following character is such as not to need one.
-\def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else
- \ptexslash\fi\fi\fi}
-\def\smartslanted#1{{\ifusingtt\ttsl\sl #1}\futurelet\next\smartitalicx}
-\def\smartitalic#1{{\ifusingtt\ttsl\it #1}\futurelet\next\smartitalicx}
+% #1 is the font command (\sl or \it), #2 is the text to slant.
+% If we are in a monospaced environment, however, 1) always use \ttsl,
+% and 2) do not add an italic correction.
+\def\dosmartslant#1#2{%
+ \ifusingtt
+ {{\ttsl #2}\let\next=\relax}%
+ {\def\next{{#1#2}\futurelet\next\smartitaliccorrection}}%
+ \next
+}
+\def\smartslanted{\dosmartslant\sl}
+\def\smartitalic{\dosmartslant\it}
-% like \smartslanted except unconditionally uses \ttsl.
-% @var is set to this for defun arguments.
-\def\ttslanted#1{{\ttsl #1}\futurelet\next\smartitalicx}
+% Output an italic correction unless \next (presumed to be the following
+% character) is such as not to need one.
+\def\smartitaliccorrection{%
+ \ifx\next,%
+ \else\ifx\next-%
+ \else\ifx\next.%
+ \else\ptexslash
+ \fi\fi\fi
+ \aftersmartic
+}
+
+% Unconditional use \ttsl, and no ic. @var is set to this for defuns.
+\def\ttslanted#1{{\ttsl #1}}
% @cite is like \smartslanted except unconditionally use \sl. We never want
% ttsl for book titles, do we?
-\def\cite#1{{\sl #1}\futurelet\next\smartitalicx}
+\def\cite#1{{\sl #1}\futurelet\next\smartitaliccorrection}
+
+\def\aftersmartic{}
+\def\var#1{%
+ \let\saveaftersmartic = \aftersmartic
+ \def\aftersmartic{\null\let\aftersmartic=\saveaftersmartic}%
+ \smartslanted{#1}%
+}
\let\i=\smartitalic
\let\slanted=\smartslanted
-\def\var#1{{\setupmarkupstyle{var}\smartslanted{#1}}}
\let\dfn=\smartslanted
\let\emph=\smartitalic
% @samp.
\def\samp#1{{\setupmarkupstyle{samp}\lq\tclose{#1}\rq\null}}
-% definition of @key that produces a lozenge. Doesn't adjust to text size.
-%\setfont\keyrm\rmshape{8}{1000}{OT1}
-%\font\keysy=cmsy9
-%\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
-% \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
-% \vbox{\hrule\kern-0.4pt
-% \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
-% \kern-0.4pt\hrule}%
-% \kern-.06em\raise0.4pt\hbox{\angleright}}}}
+% @indicateurl is \samp, that is, with quotes.
+\let\indicateurl=\samp
-% definition of @key with no lozenge. If the current font is already
-% monospace, don't change it; that way, we respect @kbdinputstyle. But
-% if it isn't monospace, then use \tt.
-%
-\def\key#1{{\setupmarkupstyle{key}%
- \nohyphenation
- \ifmonospace\else\tt\fi
- #1}\null}
-
-% ctrl is no longer a Texinfo command.
-\def\ctrl #1{{\tt \rawbackslash \hat}#1}
-
-% @file, @option are the same as @samp.
-\let\file=\samp
-\let\option=\samp
-
-% @code is a modification of @t,
-% which makes spaces the same size as normal in the surrounding text.
+% @code (and similar) prints in typewriter, but with spaces the same
+% size as normal in the surrounding text, without hyphenation, etc.
+% This is a subroutine for that.
\def\tclose#1{%
{%
% Change normal interword space to be same as for the current font.
\plainfrenchspacing
#1%
}%
- \null
+ \null % reset spacefactor to 1000
}
% We *must* turn on hyphenation at `-' and `_' in @code.
% Otherwise, it is too hard to avoid overfull hboxes
% in the Emacs manual, the Library manual, etc.
-
+%
% Unfortunately, TeX uses one parameter (\hyphenchar) to control
% both hyphenation at - and hyphenation within words.
% We must therefore turn them both off (\tclose does that)
\let-\codedash
\let_\codeunder
\else
- \let-\realdash
+ \let-\normaldash
\let_\realunder
\fi
\codex
}
}
-\def\realdash{-}
+\def\codex #1{\tclose{#1}\endgroup}
+
+\def\normaldash{-}
\def\codedash{-\discretionary{}{}{}}
\def\codeunder{%
% this is all so @math{@code{var_name}+1} can work. In math mode, _
\discretionary{}{}{}}%
{\_}%
}
-\def\codex #1{\tclose{#1}\endgroup}
% An additional complication: the above will allow breaks after, e.g.,
-% each of the four underscores in __typeof__. This is undesirable in
-% some manuals, especially if they don't have long identifiers in
-% general. @allowcodebreaks provides a way to control this.
+% each of the four underscores in __typeof__. This is bad.
+% @allowcodebreaks provides a document-level way to turn breaking at -
+% and _ on and off.
%
\newif\ifallowcodebreaks \allowcodebreakstrue
\allowcodebreaksfalse
\else
\errhelp = \EMsimple
- \errmessage{Unknown @allowcodebreaks option `\txiarg'}%
+ \errmessage{Unknown @allowcodebreaks option `\txiarg', must be true|false}%
\fi\fi
}
-% @kbd is like @code, except that if the argument is just one @key command,
-% then @kbd has no effect.
-\def\kbd#1{{\setupmarkupstyle{kbd}\def\look{#1}\expandafter\kbdfoo\look??\par}}
-
-% @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always),
-% `example' (@kbd uses ttsl only inside of @example and friends),
-% or `code' (@kbd uses normal tty font always).
-\parseargdef\kbdinputstyle{%
- \def\txiarg{#1}%
- \ifx\txiarg\worddistinct
- \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}%
- \else\ifx\txiarg\wordexample
- \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}%
- \else\ifx\txiarg\wordcode
- \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}%
- \else
- \errhelp = \EMsimple
- \errmessage{Unknown @kbdinputstyle option `\txiarg'}%
- \fi\fi\fi
-}
-\def\worddistinct{distinct}
-\def\wordexample{example}
-\def\wordcode{code}
-
-% Default is `distinct'.
-\kbdinputstyle distinct
-
-\def\xkey{\key}
-\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}%
-\ifx\one\xkey\ifx\threex\three \key{#2}%
-\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
-\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi}
-
-% For @indicateurl, @env, @command quotes seem unnecessary, so use \code.
-\let\indicateurl=\code
-\let\env=\code
+% For @command, @env, @file, @option quotes seem unnecessary,
+% so use \code rather than \samp.
\let\command=\code
-
-% @clicksequence{File @click{} Open ...}
-\def\clicksequence#1{\begingroup #1\endgroup}
-
-% @clickstyle @arrow (by default)
-\parseargdef\clickstyle{\def\click{#1}}
-\def\click{\arrow}
+\let\env=\code
+\let\file=\code
+\let\option=\code
% @uref (abbreviation for `urlref') takes an optional (comma-separated)
% second argument specifying the text to display and an optional third
% arg as text to display instead of (rather than in addition to) the url
-% itself. First (mandatory) arg is the url. Perhaps eventually put in
-% a hypertex \special here.
-%
-\def\uref#1{\douref #1,,,\finish}
-\def\douref#1,#2,#3,#4\finish{\begingroup
+% itself. First (mandatory) arg is the url.
+% (This \urefnobreak definition isn't used now, leaving it for a while
+% for comparison.)
+\def\urefnobreak#1{\dourefnobreak #1,,,\finish}
+\def\dourefnobreak#1,#2,#3,#4\finish{\begingroup
\unsepspaces
\pdfurl{#1}%
\setbox0 = \hbox{\ignorespaces #3}%
\endlink
\endgroup}
+% This \urefbreak definition is the active one.
+\def\urefbreak{\begingroup \urefcatcodes \dourefbreak}
+\let\uref=\urefbreak
+\def\dourefbreak#1{\urefbreakfinish #1,,,\finish}
+\def\urefbreakfinish#1,#2,#3,#4\finish{% doesn't work in @example
+ \unsepspaces
+ \pdfurl{#1}%
+ \setbox0 = \hbox{\ignorespaces #3}%
+ \ifdim\wd0 > 0pt
+ \unhbox0 % third arg given, show only that
+ \else
+ \setbox0 = \hbox{\ignorespaces #2}%
+ \ifdim\wd0 > 0pt
+ \ifpdf
+ \unhbox0 % PDF: 2nd arg given, show only it
+ \else
+ \unhbox0\ (\urefcode{#1})% DVI: 2nd arg given, show both it and url
+ \fi
+ \else
+ \urefcode{#1}% only url given, so show it
+ \fi
+ \fi
+ \endlink
+\endgroup}
+
+% Allow line breaks around only a few characters (only).
+\def\urefcatcodes{%
+ \catcode\ampChar=\active \catcode\dotChar=\active
+ \catcode\hashChar=\active \catcode\questChar=\active
+ \catcode\slashChar=\active
+}
+{
+ \urefcatcodes
+ %
+ \global\def\urefcode{\begingroup
+ \setupmarkupstyle{code}%
+ \urefcatcodes
+ \let&\urefcodeamp
+ \let.\urefcodedot
+ \let#\urefcodehash
+ \let?\urefcodequest
+ \let/\urefcodeslash
+ \codex
+ }
+ %
+ % By default, they are just regular characters.
+ \global\def&{\normalamp}
+ \global\def.{\normaldot}
+ \global\def#{\normalhash}
+ \global\def?{\normalquest}
+ \global\def/{\normalslash}
+}
+
+% we put a little stretch before and after the breakable chars, to help
+% line breaking of long url's. The unequal skips make look better in
+% cmtt at least, especially for dots.
+\def\urefprestretch{\urefprebreak \hskip0pt plus.13em }
+\def\urefpoststretch{\urefpostbreak \hskip0pt plus.1em }
+%
+\def\urefcodeamp{\urefprestretch \&\urefpoststretch}
+\def\urefcodedot{\urefprestretch .\urefpoststretch}
+\def\urefcodehash{\urefprestretch \#\urefpoststretch}
+\def\urefcodequest{\urefprestretch ?\urefpoststretch}
+\def\urefcodeslash{\futurelet\next\urefcodeslashfinish}
+{
+ \catcode`\/=\active
+ \global\def\urefcodeslashfinish{%
+ \urefprestretch \slashChar
+ % Allow line break only after the final / in a sequence of
+ % slashes, to avoid line break between the slashes in http://.
+ \ifx\next/\else \urefpoststretch \fi
+ }
+}
+
+% One more complication: by default we'll break after the special
+% characters, but some people like to break before the special chars, so
+% allow that. Also allow no breaking at all, for manual control.
+%
+\parseargdef\urefbreakstyle{%
+ \def\txiarg{#1}%
+ \ifx\txiarg\wordnone
+ \def\urefprebreak{\nobreak}\def\urefpostbreak{\nobreak}
+ \else\ifx\txiarg\wordbefore
+ \def\urefprebreak{\allowbreak}\def\urefpostbreak{\nobreak}
+ \else\ifx\txiarg\wordafter
+ \def\urefprebreak{\nobreak}\def\urefpostbreak{\allowbreak}
+ \else
+ \errhelp = \EMsimple
+ \errmessage{Unknown @urefbreakstyle setting `\txiarg'}%
+ \fi\fi\fi
+}
+\def\wordafter{after}
+\def\wordbefore{before}
+\def\wordnone{none}
+
+\urefbreakstyle after
+
% @url synonym for @uref, since that's how everyone uses it.
%
\let\url=\uref
\let\email=\uref
\fi
+% @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always),
+% `example' (@kbd uses ttsl only inside of @example and friends),
+% or `code' (@kbd uses normal tty font always).
+\parseargdef\kbdinputstyle{%
+ \def\txiarg{#1}%
+ \ifx\txiarg\worddistinct
+ \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}%
+ \else\ifx\txiarg\wordexample
+ \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}%
+ \else\ifx\txiarg\wordcode
+ \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}%
+ \else
+ \errhelp = \EMsimple
+ \errmessage{Unknown @kbdinputstyle setting `\txiarg'}%
+ \fi\fi\fi
+}
+\def\worddistinct{distinct}
+\def\wordexample{example}
+\def\wordcode{code}
+
+% Default is `distinct'.
+\kbdinputstyle distinct
+
+% @kbd is like @code, except that if the argument is just one @key command,
+% then @kbd has no effect.
+\def\kbd#1{{\def\look{#1}\expandafter\kbdsub\look??\par}}
+
+\def\xkey{\key}
+\def\kbdsub#1#2#3\par{%
+ \def\one{#1}\def\three{#3}\def\threex{??}%
+ \ifx\one\xkey\ifx\threex\three \key{#2}%
+ \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
+ \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
+}
+
+% definition of @key that produces a lozenge. Doesn't adjust to text size.
+%\setfont\keyrm\rmshape{8}{1000}{OT1}
+%\font\keysy=cmsy9
+%\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
+% \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
+% \vbox{\hrule\kern-0.4pt
+% \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
+% \kern-0.4pt\hrule}%
+% \kern-.06em\raise0.4pt\hbox{\angleright}}}}
+
+% definition of @key with no lozenge. If the current font is already
+% monospace, don't change it; that way, we respect @kbdinputstyle. But
+% if it isn't monospace, then use \tt.
+%
+\def\key#1{{\setupmarkupstyle{key}%
+ \nohyphenation
+ \ifmonospace\else\tt\fi
+ #1}\null}
+
+% @clicksequence{File @click{} Open ...}
+\def\clicksequence#1{\begingroup #1\endgroup}
+
+% @clickstyle @arrow (by default)
+\parseargdef\clickstyle{\def\click{#1}}
+\def\click{\arrow}
+
% Typeset a dimension, e.g., `in' or `pt'. The only reason for the
% argument is to make the input look right: @dmn{pt} instead of @dmn{}pt.
%
\ifx\temp\empty \else
\space ({\unsepspaces \ignorespaces \temp \unskip})%
\fi
+ \null % reset \spacefactor=1000
}
% @abbr for "Comput. J." and the like.
\ifx\temp\empty \else
\space ({\unsepspaces \ignorespaces \temp \unskip})%
\fi
+ \null % reset \spacefactor=1000
+}
+
+% @asis just yields its argument. Used with @table, for example.
+%
+\def\asis#1{#1}
+
+% @math outputs its argument in math mode.
+%
+% One complication: _ usually means subscripts, but it could also mean
+% an actual _ character, as in @math{@var{some_variable} + 1}. So make
+% _ active, and distinguish by seeing if the current family is \slfam,
+% which is what @var uses.
+{
+ \catcode`\_ = \active
+ \gdef\mathunderscore{%
+ \catcode`\_=\active
+ \def_{\ifnum\fam=\slfam \_\else\sb\fi}%
+ }
+}
+% Another complication: we want \\ (and @\) to output a math (or tt) \.
+% FYI, plain.tex uses \\ as a temporary control sequence (for no
+% particular reason), but this is not advertised and we don't care.
+%
+% The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\.
+\def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi}
+%
+\def\math{%
+ \tex
+ \mathunderscore
+ \let\\ = \mathbackslash
+ \mathactive
+ % make the texinfo accent commands work in math mode
+ \let\"=\ddot
+ \let\'=\acute
+ \let\==\bar
+ \let\^=\hat
+ \let\`=\grave
+ \let\u=\breve
+ \let\v=\check
+ \let\~=\tilde
+ \let\dotaccent=\dot
+ $\finishmath
+}
+\def\finishmath#1{#1$\endgroup} % Close the group opened by \tex.
+
+% Some active characters (such as <) are spaced differently in math.
+% We have to reset their definitions in case the @math was an argument
+% to a command which sets the catcodes (such as @item or @section).
+%
+{
+ \catcode`^ = \active
+ \catcode`< = \active
+ \catcode`> = \active
+ \catcode`+ = \active
+ \catcode`' = \active
+ \gdef\mathactive{%
+ \let^ = \ptexhat
+ \let< = \ptexless
+ \let> = \ptexgtr
+ \let+ = \ptexplus
+ \let' = \ptexquoteright
+ }
+}
+
+% ctrl is no longer a Texinfo command, but leave this definition for fun.
+\def\ctrl #1{{\tt \rawbackslash \hat}#1}
+
+% @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}.
+% Ignore unless FMTNAME == tex; then it is like @iftex and @tex,
+% except specified as a normal braced arg, so no newlines to worry about.
+%
+\def\outfmtnametex{tex}
+%
+\long\def\inlinefmt#1{\doinlinefmt #1,\finish}
+\long\def\doinlinefmt#1,#2,\finish{%
+ \def\inlinefmtname{#1}%
+ \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\fi
+}
+% For raw, must switch into @tex before parsing the argument, to avoid
+% setting catcodes prematurely. Doing it this way means that, for
+% example, @inlineraw{html, foo{bar} gets a parse error instead of being
+% ignored. But this isn't important because if people want a literal
+% *right* brace they would have to use a command anyway, so they may as
+% well use a command to get a left brace too. We could re-use the
+% delimiter character idea from \verb, but it seems like overkill.
+%
+\long\def\inlineraw{\tex \doinlineraw}
+\long\def\doinlineraw#1{\doinlinerawtwo #1,\finish}
+\def\doinlinerawtwo#1,#2,\finish{%
+ \def\inlinerawname{#1}%
+ \ifx\inlinerawname\outfmtnametex \ignorespaces #2\fi
+ \endgroup % close group opened by \tex.
+}
+
+
+\message{glyphs,}
+% and logos.
+
+% @@ prints an @, as does @atchar{}.
+\def\@{\char64 }
+\let\atchar=\@
+
+% @{ @} @lbracechar{} @rbracechar{} all generate brace characters.
+% Unless we're in typewriter, use \ecfont because the CM text fonts do
+% not have braces, and we don't want to switch into math.
+\def\mylbrace{{\ifmonospace\else\ecfont\fi \char123}}
+\def\myrbrace{{\ifmonospace\else\ecfont\fi \char125}}
+\let\{=\mylbrace \let\lbracechar=\{
+\let\}=\myrbrace \let\rbracechar=\}
+\begingroup
+ % Definitions to produce \{ and \} commands for indices,
+ % and @{ and @} for the aux/toc files.
+ \catcode`\{ = \other \catcode`\} = \other
+ \catcode`\[ = 1 \catcode`\] = 2
+ \catcode`\! = 0 \catcode`\\ = \other
+ !gdef!lbracecmd[\{]%
+ !gdef!rbracecmd[\}]%
+ !gdef!lbraceatcmd[@{]%
+ !gdef!rbraceatcmd[@}]%
+!endgroup
+
+% @comma{} to avoid , parsing problems.
+\let\comma = ,
+
+% Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent
+% Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H.
+\let\, = \ptexc
+\let\dotaccent = \ptexdot
+\def\ringaccent#1{{\accent23 #1}}
+\let\tieaccent = \ptext
+\let\ubaraccent = \ptexb
+\let\udotaccent = \d
+
+% Other special characters: @questiondown @exclamdown @ordf @ordm
+% Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss.
+\def\questiondown{?`}
+\def\exclamdown{!`}
+\def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}}
+\def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}}
+
+% Dotless i and dotless j, used for accents.
+\def\imacro{i}
+\def\jmacro{j}
+\def\dotless#1{%
+ \def\temp{#1}%
+ \ifx\temp\imacro \ifmmode\imath \else\ptexi \fi
+ \else\ifx\temp\jmacro \ifmmode\jmath \else\j \fi
+ \else \errmessage{@dotless can be used only with i or j}%
+ \fi\fi
+}
+
+% The \TeX{} logo, as in plain, but resetting the spacing so that a
+% period following counts as ending a sentence. (Idea found in latex.)
+%
+\edef\TeX{\TeX \spacefactor=1000 }
+
+% @LaTeX{} logo. Not quite the same results as the definition in
+% latex.ltx, since we use a different font for the raised A; it's most
+% convenient for us to use an explicitly smaller font, rather than using
+% the \scriptstyle font (since we don't reset \scriptstyle and
+% \scriptscriptstyle).
+%
+\def\LaTeX{%
+ L\kern-.36em
+ {\setbox0=\hbox{T}%
+ \vbox to \ht0{\hbox{%
+ \ifx\textnominalsize\xwordpt
+ % for 10pt running text, \lllsize (8pt) is too small for the A in LaTeX.
+ % Revert to plain's \scriptsize, which is 7pt.
+ \count255=\the\fam $\fam\count255 \scriptstyle A$%
+ \else
+ % For 11pt, we can use our lllsize.
+ \selectfonts\lllsize A%
+ \fi
+ }%
+ \vss
+ }}%
+ \kern-.15em
+ \TeX
+}
+
+% Some math mode symbols.
+\def\bullet{$\ptexbullet$}
+\def\geq{\ifmmode \ge\else $\ge$\fi}
+\def\leq{\ifmmode \le\else $\le$\fi}
+\def\minus{\ifmmode -\else $-$\fi}
+
+% @dots{} outputs an ellipsis using the current font.
+% We do .5em per period so that it has the same spacing in the cm
+% typewriter fonts as three actual period characters; on the other hand,
+% in other typewriter fonts three periods are wider than 1.5em. So do
+% whichever is larger.
+%
+\def\dots{%
+ \leavevmode
+ \setbox0=\hbox{...}% get width of three periods
+ \ifdim\wd0 > 1.5em
+ \dimen0 = \wd0
+ \else
+ \dimen0 = 1.5em
+ \fi
+ \hbox to \dimen0{%
+ \hskip 0pt plus.25fil
+ .\hskip 0pt plus1fil
+ .\hskip 0pt plus1fil
+ .\hskip 0pt plus.5fil
+ }%
+}
+
+% @enddots{} is an end-of-sentence ellipsis.
+%
+\def\enddots{%
+ \dots
+ \spacefactor=\endofsentencespacefactor
}
-
-\message{glyphs,}
-
% @point{}, @result{}, @expansion{}, @print{}, @equiv{}.
%
% Since these characters are used in examples, they should be an even number of
{\tentt \global\dimen0 = 3em}% Width of the box.
\dimen2 = .55pt % Thickness of rules
% The text. (`r' is open on the right, `e' somewhat less so on the left.)
-\setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt}
+\setbox0 = \hbox{\kern-.75pt \reducedsf \putworderror\kern-1.5pt}
%
\setbox\errorbox=\hbox to \dimen0{\hfil
\hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right.
% hopefully nobody will notice/care.
\edef\ecsize{\csname\curfontsize ecsize\endcsname}%
\edef\nominalsize{\csname\curfontsize nominalsize\endcsname}%
- \ifx\curfontstyle\bfstylename
- % bold:
- \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize
+ \ifmonospace
+ % typewriter:
+ \font\thisecfont = ectt\ecsize \space at \nominalsize
\else
- % regular:
- \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize
+ \ifx\curfontstyle\bfstylename
+ % bold:
+ \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize
+ \else
+ % regular:
+ \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize
+ \fi
\fi
\thisecfont
}
% Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38
% so we'll define it if necessary.
%
-\ifx\Orb\undefined
+\ifx\Orb\thisisundefined
\def\Orb{\mathhexbox20D}
\fi
\newif\ifsetshortcontentsaftertitlepage
\let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue
-\parseargdef\shorttitlepage{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}%
- \endgroup\page\hbox{}\page}
+\parseargdef\shorttitlepage{%
+ \begingroup \hbox{}\vskip 1.5in \chaprm \centerline{#1}%
+ \endgroup\page\hbox{}\page}
\envdef\titlepage{%
% Open one extra group, as we want to close it in the middle of \Etitlepage.
\finishedtitlepagetrue
}
-%%% Macros to be used within @titlepage:
+% Settings used for typesetting titles: no hyphenation, no indentation,
+% don't worry much about spacing, ragged right. This should be used
+% inside a \vbox, and fonts need to be set appropriately first. Because
+% it is always used for titles, nothing else, we call \rmisbold. \par
+% should be specified before the end of the \vbox, since a vbox is a group.
+%
+\def\raggedtitlesettings{%
+ \rmisbold
+ \hyphenpenalty=10000
+ \parindent=0pt
+ \tolerance=5000
+ \ptexraggedright
+}
+
+% Macros to be used within @titlepage:
\let\subtitlerm=\tenrm
\def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}
\parseargdef\title{%
\checkenv\titlepage
- \leftline{\titlefonts\rmisbold #1}
+ \vbox{\titlefonts \raggedtitlesettings #1\par}%
% print a rule at the page bottom also.
\finishedtitlepagefalse
\vskip4pt \hrule height 4pt width \hsize \vskip4pt
}
-%%% Set up page headings and footings.
+% Set up page headings and footings.
\let\thispage=\folio
\def\headings #1 {\csname HEADINGS#1\endcsname}
-\def\HEADINGSoff{%
-\global\evenheadline={\hfil} \global\evenfootline={\hfil}
-\global\oddheadline={\hfil} \global\oddfootline={\hfil}}
-\HEADINGSoff
+\def\headingsoff{% non-global headings elimination
+ \evenheadline={\hfil}\evenfootline={\hfil}%
+ \oddheadline={\hfil}\oddfootline={\hfil}%
+}
+
+\def\HEADINGSoff{{\globaldefs=1 \headingsoff}} % global setting
+\HEADINGSoff % it's the default
+
% When we turn headings on, set the page number to 1.
% For double-sided printing, put current file name in lower left corner,
% chapter name on inside top of right hand pages, document
% This produces Day Month Year style of output.
% Only define if not already defined, in case a txi-??.tex file has set
% up a different format (e.g., txi-cs.tex does this).
-\ifx\today\undefined
+\ifx\today\thisisundefined
\def\today{%
\number\day\space
\ifcase\month
\begingroup
\advance\leftskip by-\tableindent
\advance\hsize by\tableindent
- \advance\rightskip by0pt plus1fil
+ \advance\rightskip by0pt plus1fil\relax
\leavevmode\unhbox0\par
\endgroup
%
\setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip
\global\advance\multitablelinespace by-\ht0
\fi
-%% Test to see if parskip is larger than space between lines of
-%% table. If not, do nothing.
-%% If so, set to same dimension as multitablelinespace.
+% Test to see if parskip is larger than space between lines of
+% table. If not, do nothing.
+% If so, set to same dimension as multitablelinespace.
\ifdim\multitableparskip>\multitablelinespace
\global\multitableparskip=\multitablelinespace
-\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
- %% than skip between lines in the table.
+\global\advance\multitableparskip-7pt % to keep parskip somewhat smaller
+ % than skip between lines in the table.
\fi%
\ifdim\multitableparskip=0pt
\global\multitableparskip=\multitablelinespace
-\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
- %% than skip between lines in the table.
+\global\advance\multitableparskip-7pt % to keep parskip somewhat smaller
+ % than skip between lines in the table.
\fi}
% ..., but we might end up with active ones in the argument if
% we're called from @code, as @code{@value{foo-bar_}}, though.
% So \let them to their normal equivalents.
- \let-\realdash \let_\normalunderscore
+ \let-\normaldash \let_\normalunderscore
}
}
}
\def\ifsetfail{\doignore{ifset}}
-% @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been
+% @ifclear VAR ... @end executes the `...' iff VAR has never been
% defined with @set, or has been undefined with @clear.
%
% The `\else' inside the `\doifset' parameter is a trick to reuse the
\def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}}
\def\ifclearfail{\doignore{ifclear}}
+% @ifcommandisdefined CMD ... @end executes the `...' if CMD (written
+% without the @) is in fact defined. We can only feasibly check at the
+% TeX level, so something like `mathcode' is going to considered
+% defined even though it is not a Texinfo command.
+%
+\makecond{ifcommanddefined}
+\def\ifcommanddefined{\parsearg{\doifcmddefined{\let\next=\ifcmddefinedfail}}}
+%
+\def\doifcmddefined#1#2{{%
+ \makevalueexpandable
+ \let\next=\empty
+ \expandafter\ifx\csname #2\endcsname\relax
+ #1% If not defined, \let\next as above.
+ \fi
+ \expandafter
+ }\next
+}
+\def\ifcmddefinedfail{\doignore{ifcommanddefined}}
+
+% @ifcommandnotdefined CMD ... handled similar to @ifclear above.
+\makecond{ifcommandnotdefined}
+\def\ifcommandnotdefined{%
+ \parsearg{\doifcmddefined{\else \let\next=\ifcmdnotdefinedfail}}}
+\def\ifcmdnotdefinedfail{\doignore{ifcommandnotdefined}}
+
+% Set the `txicommandconditionals' variable, so documents have a way to
+% test if the @ifcommand...defined conditionals are available.
+\set txicommandconditionals
+
% @dircategory CATEGORY -- specify a category of the dir file
% which this file should belong to. Ignore this in TeX.
\let\dircategory=\comment
\def\@{@}% change to @@ when we switch to @ as escape char in index files.
\def\ {\realbackslash\space }%
%
- % Need these in case \tex is in effect and \{ is a \delimiter again.
- % But can't use \lbracecmd and \rbracecmd because texindex assumes
- % braces and backslashes are used only as delimiters.
- \let\{ = \mylbrace
- \let\} = \myrbrace
+ % Need these unexpandable (because we define \tt as a dummy)
+ % definitions when @{ or @} appear in index entry text. Also, more
+ % complicated, when \tex is in effect and \{ is a \delimiter again.
+ % We can't use \lbracecmd and \rbracecmd because texindex assumes
+ % braces and backslashes are used only as delimiters. Perhaps we
+ % should define @lbrace and @rbrace commands a la @comma.
+ \def\{{{\tt\char123}}%
+ \def\}{{\tt\char125}}%
%
% I don't entirely understand this, but when an index entry is
% generated from a macro call, the \endinput which \scanmacro inserts
\def\commondummies{%
%
% \definedummyword defines \#1 as \string\#1\space, thus effectively
- % preventing its expansion. This is used only for control% words,
+ % preventing its expansion. This is used only for control words,
% not control letters, because the \space would be incorrect for
% control characters, but is needed to separate the control word
% from whatever follows.
\commondummiesnofonts
%
\definedummyletter\_%
+ \definedummyletter\-%
%
% Non-English letters.
\definedummyword\AA
\definedummyword\TeX
%
% Assorted special characters.
+ \definedummyword\arrow
\definedummyword\bullet
\definedummyword\comma
\definedummyword\copyright
\definedummyword\registeredsymbol
\definedummyword\dots
\definedummyword\enddots
+ \definedummyword\entrybreak
\definedummyword\equiv
\definedummyword\error
\definedummyword\euro
+ \definedummyword\expansion
+ \definedummyword\geq
\definedummyword\guillemetleft
\definedummyword\guillemetright
\definedummyword\guilsinglleft
\definedummyword\guilsinglright
- \definedummyword\expansion
+ \definedummyword\lbracechar
+ \definedummyword\leq
\definedummyword\minus
\definedummyword\ogonek
\definedummyword\pounds
\definedummyword\quoteleft
\definedummyword\quoteright
\definedummyword\quotesinglbase
+ \definedummyword\rbracechar
\definedummyword\result
\definedummyword\textdegree
%
\definedummyword\b
\definedummyword\i
\definedummyword\r
+ \definedummyword\sansserif
\definedummyword\sc
+ \definedummyword\slanted
\definedummyword\t
%
% Commands that take arguments.
+ \definedummyword\abbr
\definedummyword\acronym
+ \definedummyword\anchor
\definedummyword\cite
\definedummyword\code
\definedummyword\command
\definedummyword\dfn
+ \definedummyword\dmn
\definedummyword\email
\definedummyword\emph
\definedummyword\env
\definedummyword\file
+ \definedummyword\image
+ \definedummyword\indicateurl
+ \definedummyword\inforef
\definedummyword\kbd
\definedummyword\key
\definedummyword\math
\def\definedummyaccent##1{\let##1\asis}%
% We can just ignore other control letters.
\def\definedummyletter##1{\let##1\empty}%
- % Hopefully, all control words can become @asis.
+ % All control words become @asis by default; overrides below.
\let\definedummyword\definedummyaccent
%
\commondummiesnofonts
%
\def\ { }%
\def\@{@}%
- % how to handle braces?
\def\_{\normalunderscore}%
+ \def\-{}% @- shouldn't affect sorting
+ %
+ % Unfortunately, texindex is not prepared to handle braces in the
+ % content at all. So for index sorting, we map @{ and @} to strings
+ % starting with |, since that ASCII character is between ASCII { and }.
+ \def\{{|a}%
+ \def\lbracechar{|a}%
+ %
+ \def\}{|b}%
+ \def\rbracechar{|b}%
%
% Non-English letters.
\def\AA{AA}%
%
% Assorted special characters.
% (The following {} will end up in the sort string, but that's ok.)
+ \def\arrow{->}%
\def\bullet{bullet}%
\def\comma{,}%
\def\copyright{copyright}%
\def\error{error}%
\def\euro{euro}%
\def\expansion{==>}%
+ \def\geq{>=}%
\def\guillemetleft{<<}%
\def\guillemetright{>>}%
\def\guilsinglleft{<}%
\def\guilsinglright{>}%
+ \def\leq{<=}%
\def\minus{-}%
\def\point{.}%
\def\pounds{pounds}%
\def\result{=>}%
\def\textdegree{o}%
%
+ \expandafter\ifx\csname SETtxiindexlquoteignore\endcsname\relax
+ \else \indexlquoteignore \fi
+ %
% We need to get rid of all macros, leaving only the arguments (if present).
% Of course this is not nearly correct, but it is the best we can do for now.
% makeinfo does not expand macros in the argument to @deffn, which ends up
\macrolist
}
+% Undocumented (for FSFS 2nd ed.): @set txiindexlquoteignore makes us
+% ignore left quotes in the sort term.
+{\catcode`\`=\active
+ \gdef\indexlquoteignore{\let`=\empty}}
+
\let\indexbackslash=0 %overridden during \printindex.
\let\SETmarginindex=\relax % put index entries in margin (undocumented)?
%
% ..., ready, GO:
%
-\def\safewhatsit#1{%
-\ifhmode
+\def\safewhatsit#1{\ifhmode
#1%
-\else
+ \else
% \lastskip and \lastpenalty cannot both be nonzero simultaneously.
\whatsitskip = \lastskip
\edef\lastskipmacro{\the\lastskip}%
% to re-insert the same penalty (values >10000 are used for various
% signals); since we just inserted a non-discardable item, any
% following glue (such as a \parskip) would be a breakpoint. For example:
- %
% @deffn deffn-whatever
% @vindex index-whatever
% Description.
% (the whatsit from the \write), so we must insert a \nobreak.
\nobreak\vskip\whatsitskip
\fi
-\fi
-}
+\fi}
% The index entry written in the file actually looks like
% \entry {sortstring}{page}{topic}
% But this freezes the catcodes in the argument, and can cause problems to
% @code, which sets - active. This problem was fixed by a kludge---
% ``-'' was active throughout whole index, but this isn't really right.
-%
% The right solution is to prevent \entry from swallowing the whole text.
% --kasal, 21nov03
\def\entry{%
% columns.
\vskip 0pt plus1pt
%
+ % When reading the text of entry, convert explicit line breaks
+ % from @* into spaces. The user might give these in long section
+ % titles, for instance.
+ \def\*{\unskip\space\ignorespaces}%
+ \def\entrybreak{\hfil\break}%
+ %
% Swallow the left brace of the text (first parameter):
\afterassignment\doentry
\let\temp =
}
+\def\entrybreak{\unskip\space\ignorespaces}%
\def\doentry{%
\bgroup % Instead of the swallowed brace.
\noindent
\message{sectioning,}
% Chapters, sections, etc.
-% \unnumberedno is an oxymoron, of course. But we count the unnumbered
+% Let's start with @part.
+\outer\parseargdef\part{\partzzz{#1}}
+\def\partzzz#1{%
+ \chapoddpage
+ \null
+ \vskip.3\vsize % move it down on the page a bit
+ \begingroup
+ \noindent \titlefonts\rmisbold #1\par % the text
+ \let\lastnode=\empty % no node to associate with
+ \writetocentry{part}{#1}{}% but put it in the toc
+ \headingsoff % no headline or footline on the part page
+ \chapoddpage
+ \endgroup
+}
+
+% \unnumberedno is an oxymoron. But we count the unnumbered
% sections so that we can refer to them unambiguously in the pdf
% outlines by their "section number". We avoid collisions with chapter
% numbers by starting them at 10000. (If a document ever has 10000
\chardef\maxseclevel = 3
%
% A numbered section within an unnumbered changes to unnumbered too.
-% To achive this, remember the "biggest" unnum. sec. we are currently in:
-\chardef\unmlevel = \maxseclevel
+% To achieve this, remember the "biggest" unnum. sec. we are currently in:
+\chardef\unnlevel = \maxseclevel
%
% Trace whether the current chapter is an appendix or not:
% \chapheadtype is "N" or "A", unnumbered chapters are ignored.
% The heading type:
\def\headtype{#1}%
\if \headtype U%
- \ifnum \absseclevel < \unmlevel
- \chardef\unmlevel = \absseclevel
+ \ifnum \absseclevel < \unnlevel
+ \chardef\unnlevel = \absseclevel
\fi
\else
% Check for appendix sections:
\fi\fi
\fi
% Check for numbered within unnumbered:
- \ifnum \absseclevel > \unmlevel
+ \ifnum \absseclevel > \unnlevel
\def\headtype{U}%
\else
- \chardef\unmlevel = 3
+ \chardef\unnlevel = 3
\fi
\fi
% Now print the heading:
\global\let\subsubsection = \appendixsubsubsec
}
-\outer\parseargdef\unnumbered{\unnmhead0{#1}} % normally unnmhead0 calls unnumberedzzz
+% normally unnmhead0 calls unnumberedzzz:
+\outer\parseargdef\unnumbered{\unnmhead0{#1}}
\def\unnumberedzzz#1{%
\global\secno=0 \global\subsecno=0 \global\subsubsecno=0
\global\advance\unnumberedno by 1
\let\top\unnumbered
% Sections.
+%
\outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz
\def\seczzz#1{%
\global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1
\sectionheading{#1}{sec}{Ynumbered}{\the\chapno.\the\secno}%
}
-\outer\parseargdef\appendixsection{\apphead1{#1}} % normally calls appendixsectionzzz
+% normally calls appendixsectionzzz:
+\outer\parseargdef\appendixsection{\apphead1{#1}}
\def\appendixsectionzzz#1{%
\global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1
\sectionheading{#1}{sec}{Yappendix}{\appendixletter.\the\secno}%
}
\let\appendixsec\appendixsection
-\outer\parseargdef\unnumberedsec{\unnmhead1{#1}} % normally calls unnumberedseczzz
+% normally calls unnumberedseczzz:
+\outer\parseargdef\unnumberedsec{\unnmhead1{#1}}
\def\unnumberedseczzz#1{%
\global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1
\sectionheading{#1}{sec}{Ynothing}{\the\unnumberedno.\the\secno}%
}
% Subsections.
-\outer\parseargdef\numberedsubsec{\numhead2{#1}} % normally calls numberedsubseczzz
+%
+% normally calls numberedsubseczzz:
+\outer\parseargdef\numberedsubsec{\numhead2{#1}}
\def\numberedsubseczzz#1{%
\global\subsubsecno=0 \global\advance\subsecno by 1
\sectionheading{#1}{subsec}{Ynumbered}{\the\chapno.\the\secno.\the\subsecno}%
}
-\outer\parseargdef\appendixsubsec{\apphead2{#1}} % normally calls appendixsubseczzz
+% normally calls appendixsubseczzz:
+\outer\parseargdef\appendixsubsec{\apphead2{#1}}
\def\appendixsubseczzz#1{%
\global\subsubsecno=0 \global\advance\subsecno by 1
\sectionheading{#1}{subsec}{Yappendix}%
{\appendixletter.\the\secno.\the\subsecno}%
}
-\outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}} %normally calls unnumberedsubseczzz
+% normally calls unnumberedsubseczzz:
+\outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}}
\def\unnumberedsubseczzz#1{%
\global\subsubsecno=0 \global\advance\subsecno by 1
\sectionheading{#1}{subsec}{Ynothing}%
}
% Subsubsections.
-\outer\parseargdef\numberedsubsubsec{\numhead3{#1}} % normally numberedsubsubseczzz
+%
+% normally numberedsubsubseczzz:
+\outer\parseargdef\numberedsubsubsec{\numhead3{#1}}
\def\numberedsubsubseczzz#1{%
\global\advance\subsubsecno by 1
\sectionheading{#1}{subsubsec}{Ynumbered}%
{\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno}%
}
-\outer\parseargdef\appendixsubsubsec{\apphead3{#1}} % normally appendixsubsubseczzz
+% normally appendixsubsubseczzz:
+\outer\parseargdef\appendixsubsubsec{\apphead3{#1}}
\def\appendixsubsubseczzz#1{%
\global\advance\subsubsecno by 1
\sectionheading{#1}{subsubsec}{Yappendix}%
{\appendixletter.\the\secno.\the\subsecno.\the\subsubsecno}%
}
-\outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}} %normally unnumberedsubsubseczzz
+% normally unnumberedsubsubseczzz:
+\outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}}
\def\unnumberedsubsubseczzz#1{%
\global\advance\subsubsecno by 1
\sectionheading{#1}{subsubsec}{Ynothing}%
% Define @majorheading, @heading and @subheading
-% NOTE on use of \vbox for chapter headings, section headings, and such:
-% 1) We use \vbox rather than the earlier \line to permit
-% overlong headings to fold.
-% 2) \hyphenpenalty is set to 10000 because hyphenation in a
-% heading is obnoxious; this forbids it.
-% 3) Likewise, headings look best if no \parindent is used, and
-% if justification is not attempted. Hence \raggedright.
-
\def\majorheading{%
{\advance\chapheadingskip by 10pt \chapbreak }%
\parsearg\chapheadingzzz
\def\chapheading{\chapbreak \parsearg\chapheadingzzz}
\def\chapheadingzzz#1{%
- {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
- \parindent=0pt\ptexraggedright
- \rmisbold #1\hfill}}%
- \bigskip \par\penalty 200\relax
+ \vbox{\chapfonts \raggedtitlesettings #1\par}%
+ \nobreak\bigskip \nobreak
\suppressfirstparagraphindent
}
% (including whitespace, linebreaking, etc. around it),
% given all the information in convenient, parsed form.
-%%% Args are the skip and penalty (usually negative)
+% Args are the skip and penalty (usually negative)
\def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi}
-%%% Define plain chapter starts, and page on/off switching for it
% Parameter controlling skip before chapter headings (if needed)
-
\newskip\chapheadingskip
+% Define plain chapter starts, and page on/off switching for it.
\def\chapbreak{\dobreak \chapheadingskip {-4000}}
\def\chappager{\par\vfill\supereject}
% Because \domark is called before \chapoddpage, the filler page will
\chappager
\ifodd\pageno \else
\begingroup
- \evenheadline={\hfil}\evenfootline={\hfil}%
- \oddheadline={\hfil}\oddfootline={\hfil}%
- \hbox to 0pt{}%
+ \headingsoff
+ \null
\chappager
\endgroup
\fi
%
% Typeset the actual heading.
\nobreak % Avoid page breaks at the interline glue.
- \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \ptexraggedright
- \hangindent=\wd0 \centerparametersmaybe
+ \vbox{\raggedtitlesettings \hangindent=\wd0 \centerparametersmaybe
\unhbox0 #1\par}%
}%
\nobreak\bigskip % no page break after a chapter title
\def\setchapterstyle #1 {\csname CHAPF#1\endcsname}
%
\def\unnchfopen #1{%
-\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
- \parindent=0pt\ptexraggedright
- \rmisbold #1\hfill}}\bigskip \par\nobreak
+ \chapoddpage
+ \vbox{\chapfonts \raggedtitlesettings #1\par}%
+ \nobreak\bigskip\nobreak
}
\def\chfopen #1#2{\chapoddpage {\chapfonts
\vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}%
\par\penalty 5000 %
}
\def\centerchfopen #1{%
-\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
- \parindent=0pt
- \hfill {\rmisbold #1}\hfill}}\bigskip \par\nobreak
+ \chapoddpage
+ \vbox{\chapfonts \raggedtitlesettings \hfill #1\hfill}%
+ \nobreak\bigskip \nobreak
}
\def\CHAPFopen{%
\global\let\chapmacro=\chfopen
%
\def\sectionheading#1#2#3#4{%
{%
+ \checkenv{}% should not be in an environment.
+ %
% Switch to the right set of fonts.
\csname #2fonts\endcsname \rmisbold
%
%
% We'll almost certainly start a paragraph next, so don't let that
% glue accumulate. (Not a breakpoint because it's preceded by a
- % discardable item.)
+ % discardable item.) However, when a paragraph is not started next
+ % (\startdefun, \cartouche, \center, etc.), this needs to be wiped out
+ % or the negative glue will cause weirdly wrong output, typically
+ % obscuring the section heading with something else.
\vskip-\parskip
%
- % This is purely so the last item on the list is a known \penalty >
- % 10000. This is so \startdefun can avoid allowing breakpoints after
- % section headings. Otherwise, it would insert a valid breakpoint between:
- %
- % @section sec-whatever
- % @deffn def-whatever
+ % This is so the last item on the main vertical list is a known
+ % \penalty > 10000, so \startdefun, etc., can recognize the situation
+ % and do the needful.
\penalty 10001
}
\def\summarycontents{%
\startcontents{\putwordShortTOC}%
%
+ \let\partentry = \shortpartentry
\let\numchapentry = \shortchapentry
\let\appentry = \shortchapentry
\let\unnchapentry = \shortunnchapentry
% The last argument is the page number.
% The arguments in between are the chapter number, section number, ...
+% Parts, in the main contents. Replace the part number, which doesn't
+% exist, with an empty box. Let's hope all the numbers have the same width.
+% Also ignore the page number, which is conventionally not printed.
+\def\numeralbox{\setbox0=\hbox{8}\hbox to \wd0{\hfil}}
+\def\partentry#1#2#3#4{\dochapentry{\numeralbox\labelspace#1}{}}
+%
+% Parts, in the short toc.
+\def\shortpartentry#1#2#3#4{%
+ \penalty-300
+ \vskip.5\baselineskip plus.15\baselineskip minus.1\baselineskip
+ \shortchapentry{{\bf #1}}{\numeralbox}{}{}%
+}
+
% Chapters, in the main contents.
\def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}}
%
\message{environments,}
% @foo ... @end foo.
-% @tex ... @end tex escapes into raw Tex temporarily.
+% @tex ... @end tex escapes into raw TeX temporarily.
% One exception: @ is still an escape character, so that @end tex works.
-% But \@ or @@ will get a plain tex @ character.
+% But \@ or @@ will get a plain @ character.
\envdef\tex{%
\setupmarkupstyle{tex}%
\catcode`\'=\other
\escapechar=`\\
%
+ % ' is active in math mode (mathcode"8000). So reset it, and all our
+ % other math active characters (just in case), to plain's definitions.
+ \mathactive
+ %
\let\b=\ptexb
\let\bullet=\ptexbullet
\let\c=\ptexc
\normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip
% Flag to tell @lisp, etc., not to narrow margin.
\let\nonarrowing = t%
+ %
+ % If this cartouche directly follows a sectioning command, we need the
+ % \parskip glue (backspaced over by default) or the cartouche can
+ % collide with the section heading.
+ \ifnum\lastpenalty>10000 \vskip\parskip \penalty\lastpenalty \fi
+ %
\vbox\bgroup
\baselineskip=0pt\parskip=0pt\lineskip=0pt
\carttop
\lineskip=\normlskip
\parskip=\normpskip
\vskip -\parskip
- \comment % For explanation, see the end of \def\group.
+ \comment % For explanation, see the end of def\group.
}
\def\Ecartouche{%
\ifhmode\par\fi
}
% We often define two environments, @foo and @smallfoo.
-% Let's do it by one command:
-\def\makedispenv #1#2{
- \expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2}
- \expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2}
+% Let's do it in one command. #1 is the env name, #2 the definition.
+\def\makedispenvdef#1#2{%
+ \expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2}%
+ \expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2}%
\expandafter\let\csname E#1\endcsname \afterenvbreak
\expandafter\let\csname Esmall#1\endcsname \afterenvbreak
}
-% Define two synonyms:
-\def\maketwodispenvs #1#2#3{
- \makedispenv{#1}{#3}
- \makedispenv{#2}{#3}
+% Define two environment synonyms (#1 and #2) for an environment.
+\def\maketwodispenvdef#1#2#3{%
+ \makedispenvdef{#1}{#3}%
+ \makedispenvdef{#2}{#3}%
}
-
-% @lisp: indented, narrowed, typewriter font; @example: same as @lisp.
+%
+% @lisp: indented, narrowed, typewriter font;
+% @example: same as @lisp.
%
% @smallexample and @smalllisp: use smaller fonts.
% Originally contributed by Pavel@xerox.
%
-\maketwodispenvs {lisp}{example}{%
+\maketwodispenvdef{lisp}{example}{%
\nonfillstart
\tt\setupmarkupstyle{example}%
\let\kbdfont = \kbdexamplefont % Allow @kbd to do something special.
- \gobble % eat return
+ \gobble % eat return
}
% @display/@smalldisplay: same as @lisp except keep current font.
%
-\makedispenv {display}{%
+\makedispenvdef{display}{%
\nonfillstart
\gobble
}
% @format/@smallformat: same as @display except don't narrow margins.
%
-\makedispenv{format}{%
+\makedispenvdef{format}{%
\let\nonarrowing = t%
\nonfillstart
\gobble
\envdef\flushright{%
\let\nonarrowing = t%
\nonfillstart
- \advance\leftskip by 0pt plus 1fill
+ \advance\leftskip by 0pt plus 1fill\relax
\gobble
}
\let\Eflushright = \afterenvbreak
% we're doing normal filling. So, when using \aboveenvbreak and
% \afterenvbreak, temporarily make \parskip 0.
%
+\makedispenvdef{quotation}{\quotationstart}
+%
\def\quotationstart{%
- {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip
- \parindent=0pt
- %
- % @cartouche defines \nonarrowing to inhibit narrowing at next level down.
+ \indentedblockstart % same as \indentedblock, but increase right margin too.
\ifx\nonarrowing\relax
- \advance\leftskip by \lispnarrowing
\advance\rightskip by \lispnarrowing
- \exdentamount = \lispnarrowing
- \else
- \let\nonarrowing = \relax
\fi
\parsearg\quotationlabel
}
-\envdef\quotation{%
- \setnormaldispenv
- \quotationstart
-}
-
-\envdef\smallquotation{%
- \setsmalldispenv
- \quotationstart
-}
-\let\Esmallquotation = \Equotation
-
% We have retained a nonzero parskip for the environment, since we're
% doing normal filling.
%
\def\Equotation{%
\par
- \ifx\quotationauthor\undefined\else
+ \ifx\quotationauthor\thisisundefined\else
% indent a bit.
\leftline{\kern 2\leftskip \sl ---\quotationauthor}%
\fi
{\parskip=0pt \afterenvbreak}%
}
+\def\Esmallquotation{\Equotation}
% If we're given an argument, typeset it in bold with a colon after.
\def\quotationlabel#1{%
\fi
}
+% @indentedblock is like @quotation, but indents only on the left and
+% has no optional argument.
+%
+\makedispenvdef{indentedblock}{\indentedblockstart}
+%
+\def\indentedblockstart{%
+ {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip
+ \parindent=0pt
+ %
+ % @cartouche defines \nonarrowing to inhibit narrowing at next level down.
+ \ifx\nonarrowing\relax
+ \advance\leftskip by \lispnarrowing
+ \exdentamount = \lispnarrowing
+ \else
+ \let\nonarrowing = \relax
+ \fi
+}
+
+% Keep a nonzero parskip for the environment, since we're doing normal filling.
+%
+\def\Eindentedblock{%
+ \par
+ {\parskip=0pt \afterenvbreak}%
+}
+\def\Esmallindentedblock{\Eindentedblock}
+
% LaTeX-like @verbatim...@end verbatim and @verb{<char>...<char>}
% If we want to allow any <char> as delimiter,
% Setup for the @verbatim environment
%
-% Real tab expansion
+% Real tab expansion.
\newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount
%
-\def\starttabbox{\setbox0=\hbox\bgroup}
+% We typeset each line of the verbatim in an \hbox, so we can handle
+% tabs. The \global is in case the verbatim line starts with an accent,
+% or some other command that starts with a begin-group. Otherwise, the
+% entire \verbbox would disappear at the corresponding end-group, before
+% it is typeset. Meanwhile, we can't have nested verbatim commands
+% (can we?), so the \global won't be overwriting itself.
+\newbox\verbbox
+\def\starttabbox{\global\setbox\verbbox=\hbox\bgroup}
%
\begingroup
\catcode`\^^I=\active
\gdef\tabexpand{%
\catcode`\^^I=\active
\def^^I{\leavevmode\egroup
- \dimen0=\wd0 % the width so far, or since the previous tab
- \divide\dimen0 by\tabw
- \multiply\dimen0 by\tabw % compute previous multiple of \tabw
- \advance\dimen0 by\tabw % advance to next multiple of \tabw
- \wd0=\dimen0 \box0 \starttabbox
+ \dimen\verbbox=\wd\verbbox % the width so far, or since the previous tab
+ \divide\dimen\verbbox by\tabw
+ \multiply\dimen\verbbox by\tabw % compute previous multiple of \tabw
+ \advance\dimen\verbbox by\tabw % advance to next multiple of \tabw
+ \wd\verbbox=\dimen\verbbox \box\verbbox \starttabbox
}%
}
\endgroup
\def\setupverbatim{%
\let\nonarrowing = t%
\nonfillstart
- % Easiest (and conventionally used) font for verbatim
- \tt
- \def\par{\leavevmode\egroup\box0\endgraf}%
+ \tt % easiest (and conventionally used) font for verbatim
+ % The \leavevmode here is for blank lines. Otherwise, we would
+ % never \starttabox and the \egroup would end verbatim mode.
+ \def\par{\leavevmode\egroup\box\verbbox\endgraf}%
\tabexpand
\setupmarkupstyle{verbatim}%
% Respect line breaks,
% print special symbols as themselves, and
- % make each space count
- % must do in this order:
+ % make each space count.
+ % Must do in this order:
\obeylines \uncatcodespecials \sepspaces
\everypar{\starttabbox}%
}
\makevalueexpandable
\setupverbatim
\indexnofonts % Allow `@@' and other weird things in file names.
+ \wlog{texinfo.tex: doing @verbatiminclude of #1^^J}%
\input #1
\afterenvbreak
}%
% commands also insert a nobreak penalty, and we don't want to allow
% a break between a section heading and a defun.
%
- % As a minor refinement, we avoid "club" headers by signalling
+ % As a further refinement, we avoid "club" headers by signalling
% with penalty of 10003 after the very first @deffn in the
% sequence (see above), and penalty of 10002 after any following
% @def command.
#1#2 \endheader
% common ending:
\interlinepenalty = 10000
- \advance\rightskip by 0pt plus 1fil
+ \advance\rightskip by 0pt plus 1fil\relax
\endgraf
\nobreak\vskip -\parskip
\penalty\defunpenalty % signal to \startdefun and \dodefunx
\def\domakedefun#1#2#3{%
\envdef#1{%
\startdefun
+ \doingtypefnfalse % distinguish typed functions from all else
\parseargusing\activeparens{\printdefunline#3}%
}%
\def#2{\dodefunx#1}%
\def#3%
}
-%%% Untyped functions:
+\newif\ifdoingtypefn % doing typed function?
+\newif\ifrettypeownline % typeset return type on its own line?
+
+% @deftypefnnewline on|off says whether the return type of typed functions
+% are printed on their own line. This affects @deftypefn, @deftypefun,
+% @deftypeop, and @deftypemethod.
+%
+\parseargdef\deftypefnnewline{%
+ \def\temp{#1}%
+ \ifx\temp\onword
+ \expandafter\let\csname SETtxideftypefnnl\endcsname
+ = \empty
+ \else\ifx\temp\offword
+ \expandafter\let\csname SETtxideftypefnnl\endcsname
+ = \relax
+ \else
+ \errhelp = \EMsimple
+ \errmessage{Unknown @txideftypefnnl value `\temp',
+ must be on|off}%
+ \fi\fi
+}
+
+% Untyped functions:
% @deffn category name args
\makedefun{deffn}{\deffngeneral{}}
\defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}%
}
-%%% Typed functions:
+% Typed functions:
% @deftypefn category type name args
\makedefun{deftypefn}{\deftypefngeneral{}}
%
\def\deftypefngeneral#1#2 #3 #4 #5\endheader{%
\dosubind{fn}{\code{#4}}{#1}%
+ \doingtypefntrue
\defname{#2}{#3}{#4}\defunargs{#5\unskip}%
}
-%%% Typed variables:
+% Typed variables:
% @deftypevr category type var args
\makedefun{deftypevr}{\deftypecvgeneral{}}
\defname{#2}{#3}{#4}\defunargs{#5\unskip}%
}
-%%% Untyped variables:
+% Untyped variables:
% @defvr category var args
\makedefun{defvr}#1 {\deftypevrheader{#1} {} }
% \defcvof {category of}class var args
\def\defcvof#1#2 {\deftypecvof{#1}#2 {} }
-%%% Type:
+% Types:
+
% @deftp category name args
\makedefun{deftp}#1 #2 #3\endheader{%
\doind{tp}{\code{#2}}%
% We are followed by (but not passed) the arguments, if any.
%
\def\defname#1#2#3{%
+ \par
% Get the values of \leftskip and \rightskip as they were outside the @def...
\advance\leftskip by -\defbodyindent
%
- % How we'll format the type name. Putting it in brackets helps
+ % Determine if we are typesetting the return type of a typed function
+ % on a line by itself.
+ \rettypeownlinefalse
+ \ifdoingtypefn % doing a typed function specifically?
+ % then check user option for putting return type on its own line:
+ \expandafter\ifx\csname SETtxideftypefnnl\endcsname\relax \else
+ \rettypeownlinetrue
+ \fi
+ \fi
+ %
+ % How we'll format the category name. Putting it in brackets helps
% distinguish it from the body text that may end up on the next line
% just below it.
\def\temp{#1}%
\setbox0=\hbox{\kern\deflastargmargin \ifx\temp\empty\else [\rm\temp]\fi}
%
- % Figure out line sizes for the paragraph shape.
+ % Figure out line sizes for the paragraph shape. We'll always have at
+ % least two.
+ \tempnum = 2
+ %
% The first line needs space for \box0; but if \rightskip is nonzero,
% we need only space for the part of \box0 which exceeds it:
\dimen0=\hsize \advance\dimen0 by -\wd0 \advance\dimen0 by \rightskip
+ %
+ % If doing a return type on its own line, we'll have another line.
+ \ifrettypeownline
+ \advance\tempnum by 1
+ \def\maybeshapeline{0in \hsize}%
+ \else
+ \def\maybeshapeline{}%
+ \fi
+ %
% The continuations:
\dimen2=\hsize \advance\dimen2 by -\defargsindent
- % (plain.tex says that \dimen1 should be used only as global.)
- \parshape 2 0in \dimen0 \defargsindent \dimen2
%
- % Put the type name to the right margin.
+ % The final paragraph shape:
+ \parshape \tempnum 0in \dimen0 \maybeshapeline \defargsindent \dimen2
+ %
+ % Put the category name at the right margin.
\noindent
\hbox to 0pt{%
\hfil\box0 \kern-\hsize
% . this still does not fix the ?` and !` ligatures, but so far no
% one has made identifiers using them :).
\df \tt
- \def\temp{#2}% return value type
- \ifx\temp\empty\else \tclose{\temp} \fi
+ \def\temp{#2}% text of the return type
+ \ifx\temp\empty\else
+ \tclose{\temp}% typeset the return type
+ \ifrettypeownline
+ % put return type on its own line; prohibit line break following:
+ \hfil\vadjust{\nobreak}\break
+ \else
+ \space % type on same line, so just followed by a space
+ \fi
+ \fi % no return type
#3% output function name
}%
{\rm\enskip}% hskip 0.5 em of \tenrm
\df \sl \hyphenchar\font=0
%
% On the other hand, if an argument has two dashes (for instance), we
- % want a way to get ttsl. Let's try @var for that.
+ % want a way to get ttsl. We used to recommend @var for that, so
+ % leave the code in, but it's strange for @var to lead to typewriter.
+ % Nowadays we recommend @code, since the difference between a ttsl hyphen
+ % and a tt hyphen is pretty tiny. @code also disables ?` !`.
\def\var##1{{\setupmarkupstyle{var}\ttslanted{##1}}}%
#1%
\sl\hyphenchar\font=45
% To do this right we need a feature of e-TeX, \scantokens,
% which we arrange to emulate with a temporary file in ordinary TeX.
-\ifx\eTeXversion\undefined
+\ifx\eTeXversion\thisisundefined
\newwrite\macscribble
\def\scantokens#1{%
\toks0={#1}%
}
\fi
-\def\scanmacro#1{%
- \begingroup
- \newlinechar`\^^M
- \let\xeatspaces\eatspaces
- % Undo catcode changes of \startcontents and \doprintindex
- % When called from @insertcopying or (short)caption, we need active
- % backslash to get it printed correctly. Previously, we had
- % \catcode`\\=\other instead. We'll see whether a problem appears
- % with macro expansion. --kasal, 19aug04
- \catcode`\@=0 \catcode`\\=\active \escapechar=`\@
- % ... and \example
- \spaceisspace
- %
- % Append \endinput to make sure that TeX does not see the ending newline.
- % I've verified that it is necessary both for e-TeX and for ordinary TeX
- % --kasal, 29nov03
- \scantokens{#1\endinput}%
- \endgroup
-}
+\def\scanmacro#1{\begingroup
+ \newlinechar`\^^M
+ \let\xeatspaces\eatspaces
+ %
+ % Undo catcode changes of \startcontents and \doprintindex
+ % When called from @insertcopying or (short)caption, we need active
+ % backslash to get it printed correctly. Previously, we had
+ % \catcode`\\=\other instead. We'll see whether a problem appears
+ % with macro expansion. --kasal, 19aug04
+ \catcode`\@=0 \catcode`\\=\active \escapechar=`\@
+ %
+ % ... and for \example:
+ \spaceisspace
+ %
+ % The \empty here causes a following catcode 5 newline to be eaten as
+ % part of reading whitespace after a control sequence. It does not
+ % eat a catcode 13 newline. There's no good way to handle the two
+ % cases (untried: maybe e-TeX's \everyeof could help, though plain TeX
+ % would then have different behavior). See the Macro Details node in
+ % the manual for the workaround we recommend for macros and
+ % line-oriented commands.
+ %
+ \scantokens{#1\empty}%
+\endgroup}
\def\scanexp#1{%
\edef\temp{\noexpand\scanmacro{#1}}%
% Macro bodies are absorbed as an argument in a context where
% all characters are catcode 10, 11 or 12, except \ which is active
-% (as in normal texinfo). It is necessary to change the definition of \.
-
+% (as in normal texinfo). It is necessary to change the definition of \
+% to recognize macro arguments; this is the job of \mbodybackslash.
+%
% Non-ASCII encodings make 8-bit characters active, so un-activate
% them to avoid their expansion. Must do this non-globally, to
% confine the change to the current group.
-
+%
% It's necessary to have hard CRs when the macro is executed. This is
-% done by making ^^M (\endlinechar) catcode 12 when reading the macro
+% done by making ^^M (\endlinechar) catcode 12 when reading the macro
% body, and then making it the \newlinechar in \scanmacro.
-
-\def\scanctxt{%
+%
+\def\scanctxt{% used as subroutine
\catcode`\"=\other
\catcode`\+=\other
\catcode`\<=\other
\ifx\declaredencoding\ascii \else \setnonasciicharscatcodenonglobal\other \fi
}
-\def\scanargctxt{%
+\def\scanargctxt{% used for copying and captions, not macros.
\scanctxt
\catcode`\\=\other
\catcode`\^^M=\other
}
-\def\macrobodyctxt{%
+\def\macrobodyctxt{% used for @macro definitions
\scanctxt
\catcode`\{=\other
\catcode`\}=\other
\usembodybackslash
}
-\def\macroargctxt{%
+\def\macroargctxt{% used when scanning invocations
\scanctxt
- \catcode`\\=\other
+ \catcode`\\=0
}
+% why catcode 0 for \ in the above? To recognize \\ \{ \} as "escapes"
+% for the single characters \ { }. Thus, we end up with the "commands"
+% that would be written @\ @{ @} in a Texinfo document.
+%
+% We already have @{ and @}. For @\, we define it here, and only for
+% this purpose, to produce a typewriter backslash (so, the @\ that we
+% define for @math can't be used with @macro calls):
+%
+\def\\{\normalbackslash}%
+%
+% We would like to do this for \, too, since that is what makeinfo does.
+% But it is not possible, because Texinfo already has a command @, for a
+% cedilla accent. Documents must use @comma{} instead.
+%
+% \anythingelse will almost certainly be an error of some kind.
+
% \mbodybackslash is the definition of \ in @macro bodies.
% It maps \foo\ => \csname macarg.foo\endcsname => #N
% where N is the macro parameter number.
% We define \csname macarg.\endcsname to be \realbackslash, so
% \\ in macro replacement text gets you a backslash.
-
+%
{\catcode`@=0 @catcode`@\=@active
@gdef@usembodybackslash{@let\=@mbodybackslash}
@gdef@mbodybackslash#1\{@csname macarg.#1@endcsname}
}
\expandafter\def\csname macarg.\endcsname{\realbackslash}
+\def\margbackslash#1{\char`\#1 }
+
\def\macro{\recursivefalse\parsearg\macroxxx}
\def\rmacro{\recursivetrue\parsearg\macroxxx}
\def\macroxxx#1{%
- \getargs{#1}% now \macname is the macname and \argl the arglist
+ \getargs{#1}% now \macname is the macname and \argl the arglist
\ifx\argl\empty % no arguments
- \paramno=0%
+ \paramno=0\relax
\else
\expandafter\parsemargdef \argl;%
+ \if\paramno>256\relax
+ \ifx\eTeXversion\thisisundefined
+ \errhelp = \EMsimple
+ \errmessage{You need eTeX to compile a file with macros with more than 256 arguments}
+ \fi
+ \fi
\fi
\if1\csname ismacro.\the\macname\endcsname
\message{Warning: redefining \the\macname}%
% an opening brace, and that opening brace is not consumed.
\def\getargs#1{\getargsxxx#1{}}
\def\getargsxxx#1#{\getmacname #1 \relax\getmacargs}
-\def\getmacname #1 #2\relax{\macname={#1}}
+\def\getmacname#1 #2\relax{\macname={#1}}
\def\getmacargs#1{\def\argl{#1}}
+% For macro processing make @ a letter so that we can make Texinfo private macro names.
+\edef\texiatcatcode{\the\catcode`\@}
+\catcode `@=11\relax
+
% Parse the optional {params} list. Set up \paramno and \paramlist
-% so \defmacro knows what to do. Define \macarg.blah for each blah
-% in the params list, to be ##N where N is the position in that list.
+% so \defmacro knows what to do. Define \macarg.BLAH for each BLAH
+% in the params list to some hook where the argument si to be expanded. If
+% there are less than 10 arguments that hook is to be replaced by ##N where N
+% is the position in that list, that is to say the macro arguments are to be
+% defined `a la TeX in the macro body.
+%
% That gets used by \mbodybackslash (above).
-
+%
% We need to get `macro parameter char #' into several definitions.
-% The technique used is stolen from LaTeX: let \hash be something
+% The technique used is stolen from LaTeX: let \hash be something
% unexpandable, insert that wherever you need a #, and then redefine
% it to # just before using the token list produced.
%
% The same technique is used to protect \eatspaces till just before
% the macro is used.
-
-\def\parsemargdef#1;{\paramno=0\def\paramlist{}%
- \let\hash\relax\let\xeatspaces\relax\parsemargdefxxx#1,;,}
+%
+% If there are 10 or more arguments, a different technique is used, where the
+% hook remains in the body, and when macro is to be expanded the body is
+% processed again to replace the arguments.
+%
+% In that case, the hook is \the\toks N-1, and we simply set \toks N-1 to the
+% argument N value and then \edef the body (nothing else will expand because of
+% the catcode regime underwhich the body was input).
+%
+% If you compile with TeX (not eTeX), and you have macros with 10 or more
+% arguments, you need that no macro has more than 256 arguments, otherwise an
+% error is produced.
+\def\parsemargdef#1;{%
+ \paramno=0\def\paramlist{}%
+ \let\hash\relax
+ \let\xeatspaces\relax
+ \parsemargdefxxx#1,;,%
+ % In case that there are 10 or more arguments we parse again the arguments
+ % list to set new definitions for the \macarg.BLAH macros corresponding to
+ % each BLAH argument. It was anyhow needed to parse already once this list
+ % in order to count the arguments, and as macros with at most 9 arguments
+ % are by far more frequent than macro with 10 or more arguments, defining
+ % twice the \macarg.BLAH macros does not cost too much processing power.
+ \ifnum\paramno<10\relax\else
+ \paramno0\relax
+ \parsemmanyargdef@@#1,;,% 10 or more arguments
+ \fi
+}
\def\parsemargdefxxx#1,{%
\if#1;\let\next=\relax
\else \let\next=\parsemargdefxxx
- \advance\paramno by 1%
+ \advance\paramno by 1
\expandafter\edef\csname macarg.\eatspaces{#1}\endcsname
{\xeatspaces{\hash\the\paramno}}%
\edef\paramlist{\paramlist\hash\the\paramno,}%
\fi\next}
+\def\parsemmanyargdef@@#1,{%
+ \if#1;\let\next=\relax
+ \else
+ \let\next=\parsemmanyargdef@@
+ \edef\tempb{\eatspaces{#1}}%
+ \expandafter\def\expandafter\tempa
+ \expandafter{\csname macarg.\tempb\endcsname}%
+ % Note that we need some extra \noexpand\noexpand, this is because we
+ % don't want \the to be expanded in the \parsermacbody as it uses an
+ % \xdef .
+ \expandafter\edef\tempa
+ {\noexpand\noexpand\noexpand\the\toks\the\paramno}%
+ \advance\paramno by 1\relax
+ \fi\next}
+
% These two commands read recursive and nonrecursive macro bodies.
% (They're different since rec and nonrec macros end differently.)
+%
+\catcode `\@\texiatcatcode
\long\def\parsemacbody#1@end macro%
{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
\long\def\parsermacbody#1@end rmacro%
{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
+\catcode `\@=11\relax
+
+\let\endargs@\relax
+\let\nil@\relax
+\def\nilm@{\nil@}%
+\long\def\nillm@{\nil@}%
+
+% This macro is expanded during the Texinfo macro expansion, not during its
+% definition. It gets all the arguments values and assigns them to macros
+% macarg.ARGNAME
+%
+% #1 is the macro name
+% #2 is the list of argument names
+% #3 is the list of argument values
+\def\getargvals@#1#2#3{%
+ \def\macargdeflist@{}%
+ \def\saveparamlist@{#2}% Need to keep a copy for parameter expansion.
+ \def\paramlist{#2,\nil@}%
+ \def\macroname{#1}%
+ \begingroup
+ \macroargctxt
+ \def\argvaluelist{#3,\nil@}%
+ \def\@tempa{#3}%
+ \ifx\@tempa\empty
+ \setemptyargvalues@
+ \else
+ \getargvals@@
+ \fi
+}
+
+%
+\def\getargvals@@{%
+ \ifx\paramlist\nilm@
+ % Some sanity check needed here that \argvaluelist is also empty.
+ \ifx\argvaluelist\nillm@
+ \else
+ \errhelp = \EMsimple
+ \errmessage{Too many arguments in macro `\macroname'!}%
+ \fi
+ \let\next\macargexpandinbody@
+ \else
+ \ifx\argvaluelist\nillm@
+ % No more arguments values passed to macro. Set remaining named-arg
+ % macros to empty.
+ \let\next\setemptyargvalues@
+ \else
+ % pop current arg name into \@tempb
+ \def\@tempa##1{\pop@{\@tempb}{\paramlist}##1\endargs@}%
+ \expandafter\@tempa\expandafter{\paramlist}%
+ % pop current argument value into \@tempc
+ \def\@tempa##1{\longpop@{\@tempc}{\argvaluelist}##1\endargs@}%
+ \expandafter\@tempa\expandafter{\argvaluelist}%
+ % Here \@tempb is the current arg name and \@tempc is the current arg value.
+ % First place the new argument macro definition into \@tempd
+ \expandafter\macname\expandafter{\@tempc}%
+ \expandafter\let\csname macarg.\@tempb\endcsname\relax
+ \expandafter\def\expandafter\@tempe\expandafter{%
+ \csname macarg.\@tempb\endcsname}%
+ \edef\@tempd{\long\def\@tempe{\the\macname}}%
+ \push@\@tempd\macargdeflist@
+ \let\next\getargvals@@
+ \fi
+ \fi
+ \next
+}
+
+\def\push@#1#2{%
+ \expandafter\expandafter\expandafter\def
+ \expandafter\expandafter\expandafter#2%
+ \expandafter\expandafter\expandafter{%
+ \expandafter#1#2}%
+}
+
+% Replace arguments by their values in the macro body, and place the result
+% in macro \@tempa
+\def\macvalstoargs@{%
+ % To do this we use the property that token registers that are \the'ed
+ % within an \edef expand only once. So we are going to place all argument
+ % values into respective token registers.
+ %
+ % First we save the token context, and initialize argument numbering.
+ \begingroup
+ \paramno0\relax
+ % Then, for each argument number #N, we place the corresponding argument
+ % value into a new token list register \toks#N
+ \expandafter\putargsintokens@\saveparamlist@,;,%
+ % Then, we expand the body so that argument are replaced by their
+ % values. The trick for values not to be expanded themselves is that they
+ % are within tokens and that tokens expand only once in an \edef .
+ \edef\@tempc{\csname mac.\macroname .body\endcsname}%
+ % Now we restore the token stack pointer to free the token list registers
+ % which we have used, but we make sure that expanded body is saved after
+ % group.
+ \expandafter
+ \endgroup
+ \expandafter\def\expandafter\@tempa\expandafter{\@tempc}%
+ }
+
+\def\macargexpandinbody@{%
+ %% Define the named-macro outside of this group and then close this group.
+ \expandafter
+ \endgroup
+ \macargdeflist@
+ % First the replace in body the macro arguments by their values, the result
+ % is in \@tempa .
+ \macvalstoargs@
+ % Then we point at the \norecurse or \gobble (for recursive) macro value
+ % with \@tempb .
+ \expandafter\let\expandafter\@tempb\csname mac.\macroname .recurse\endcsname
+ % Depending on whether it is recursive or not, we need some tailing
+ % \egroup .
+ \ifx\@tempb\gobble
+ \let\@tempc\relax
+ \else
+ \let\@tempc\egroup
+ \fi
+ % And now we do the real job:
+ \edef\@tempd{\noexpand\@tempb{\macroname}\noexpand\scanmacro{\@tempa}\@tempc}%
+ \@tempd
+}
+
+\def\putargsintokens@#1,{%
+ \if#1;\let\next\relax
+ \else
+ \let\next\putargsintokens@
+ % First we allocate the new token list register, and give it a temporary
+ % alias \@tempb .
+ \toksdef\@tempb\the\paramno
+ % Then we place the argument value into that token list register.
+ \expandafter\let\expandafter\@tempa\csname macarg.#1\endcsname
+ \expandafter\@tempb\expandafter{\@tempa}%
+ \advance\paramno by 1\relax
+ \fi
+ \next
+}
-% This defines the macro itself. There are six cases: recursive and
-% nonrecursive macros of zero, one, and many arguments.
+% Save the token stack pointer into macro #1
+\def\texisavetoksstackpoint#1{\edef#1{\the\@cclvi}}
+% Restore the token stack pointer from number in macro #1
+\def\texirestoretoksstackpoint#1{\expandafter\mathchardef\expandafter\@cclvi#1\relax}
+% newtoks that can be used non \outer .
+\def\texinonouternewtoks{\alloc@ 5\toks \toksdef \@cclvi}
+
+% Tailing missing arguments are set to empty
+\def\setemptyargvalues@{%
+ \ifx\paramlist\nilm@
+ \let\next\macargexpandinbody@
+ \else
+ \expandafter\setemptyargvaluesparser@\paramlist\endargs@
+ \let\next\setemptyargvalues@
+ \fi
+ \next
+}
+
+\def\setemptyargvaluesparser@#1,#2\endargs@{%
+ \expandafter\def\expandafter\@tempa\expandafter{%
+ \expandafter\def\csname macarg.#1\endcsname{}}%
+ \push@\@tempa\macargdeflist@
+ \def\paramlist{#2}%
+}
+
+% #1 is the element target macro
+% #2 is the list macro
+% #3,#4\endargs@ is the list value
+\def\pop@#1#2#3,#4\endargs@{%
+ \def#1{#3}%
+ \def#2{#4}%
+}
+\long\def\longpop@#1#2#3,#4\endargs@{%
+ \long\def#1{#3}%
+ \long\def#2{#4}%
+}
+
+% This defines a Texinfo @macro. There are eight cases: recursive and
+% nonrecursive macros of zero, one, up to nine, and many arguments.
% Much magic with \expandafter here.
% \xdef is used so that macro definitions will survive the file
% they're defined in; @include reads the file inside a group.
+%
\def\defmacro{%
\let\hash=##% convert placeholders to macro parameter chars
\ifrecursive
\expandafter\noexpand\csname\the\macname xxx\endcsname}%
\expandafter\xdef\csname\the\macname xxx\endcsname##1{%
\egroup\noexpand\scanmacro{\temp}}%
- \else % many
- \expandafter\xdef\csname\the\macname\endcsname{%
- \bgroup\noexpand\macroargctxt
- \noexpand\csname\the\macname xx\endcsname}%
- \expandafter\xdef\csname\the\macname xx\endcsname##1{%
- \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
- \expandafter\expandafter
- \expandafter\xdef
- \expandafter\expandafter
- \csname\the\macname xxx\endcsname
- \paramlist{\egroup\noexpand\scanmacro{\temp}}%
+ \else
+ \ifnum\paramno<10\relax % at most 9
+ \expandafter\xdef\csname\the\macname\endcsname{%
+ \bgroup\noexpand\macroargctxt
+ \noexpand\csname\the\macname xx\endcsname}%
+ \expandafter\xdef\csname\the\macname xx\endcsname##1{%
+ \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
+ \expandafter\expandafter
+ \expandafter\xdef
+ \expandafter\expandafter
+ \csname\the\macname xxx\endcsname
+ \paramlist{\egroup\noexpand\scanmacro{\temp}}%
+ \else % 10 or more
+ \expandafter\xdef\csname\the\macname\endcsname{%
+ \noexpand\getargvals@{\the\macname}{\argl}%
+ }%
+ \global\expandafter\let\csname mac.\the\macname .body\endcsname\temp
+ \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\gobble
+ \fi
\fi
\else
\ifcase\paramno
\egroup
\noexpand\norecurse{\the\macname}%
\noexpand\scanmacro{\temp}\egroup}%
- \else % many
- \expandafter\xdef\csname\the\macname\endcsname{%
- \bgroup\noexpand\macroargctxt
- \expandafter\noexpand\csname\the\macname xx\endcsname}%
- \expandafter\xdef\csname\the\macname xx\endcsname##1{%
- \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
- \expandafter\expandafter
- \expandafter\xdef
- \expandafter\expandafter
- \csname\the\macname xxx\endcsname
- \paramlist{%
- \egroup
- \noexpand\norecurse{\the\macname}%
- \noexpand\scanmacro{\temp}\egroup}%
+ \else % at most 9
+ \ifnum\paramno<10\relax
+ \expandafter\xdef\csname\the\macname\endcsname{%
+ \bgroup\noexpand\macroargctxt
+ \expandafter\noexpand\csname\the\macname xx\endcsname}%
+ \expandafter\xdef\csname\the\macname xx\endcsname##1{%
+ \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
+ \expandafter\expandafter
+ \expandafter\xdef
+ \expandafter\expandafter
+ \csname\the\macname xxx\endcsname
+ \paramlist{%
+ \egroup
+ \noexpand\norecurse{\the\macname}%
+ \noexpand\scanmacro{\temp}\egroup}%
+ \else % 10 or more:
+ \expandafter\xdef\csname\the\macname\endcsname{%
+ \noexpand\getargvals@{\the\macname}{\argl}%
+ }%
+ \global\expandafter\let\csname mac.\the\macname .body\endcsname\temp
+ \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\norecurse
+ \fi
\fi
\fi}
+\catcode `\@\texiatcatcode\relax
+
\def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}}
% \braceorline decides whether the next nonwhitespace character is a
% {. If so it reads up to the closing }, if not, it reads the whole
% line. Whatever was read is then fed to the next control sequence
-% as an argument (by \parsebrace or \parsearg)
+% as an argument (by \parsebrace or \parsearg).
+%
\def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx}
\def\braceorlinexxx{%
\ifx\nchar\bgroup\else
% @alias.
% We need some trickery to remove the optional spaces around the equal
-% sign. Just make them active and then expand them all to nothing.
+% sign. Make them active and then expand them all to nothing.
+%
\def\alias{\parseargusing\obeyspaces\aliasxxx}
\def\aliasxxx #1{\aliasyyy#1\relax}
\def\aliasyyy #1=#2\relax{%
% @inforef is relatively simple.
\def\inforef #1{\inforefzzz #1,,,,**}
-\def\inforefzzz #1,#2,#3,#4**{\putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}},
+\def\inforefzzz #1,#2,#3,#4**{%
+ \putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}},
node \samp{\ignorespaces#1{}}}
% @node's only job in TeX is to define \lastnode, which is used in
\toks0 = \expandafter{\lastsection}%
\immediate \writexrdef{title}{\the\toks0 }%
\immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc.
- \safewhatsit{\writexrdef{pg}{\folio}}% will be written later, during \shipout
+ \safewhatsit{\writexrdef{pg}{\folio}}% will be written later, at \shipout
}%
\fi
}
+% @xrefautosectiontitle on|off says whether @section(ing) names are used
+% automatically in xrefs, if the third arg is not explicitly specified.
+% This was provided as a "secret" @set xref-automatic-section-title
+% variable, now it's official.
+%
+\parseargdef\xrefautomaticsectiontitle{%
+ \def\temp{#1}%
+ \ifx\temp\onword
+ \expandafter\let\csname SETxref-automatic-section-title\endcsname
+ = \empty
+ \else\ifx\temp\offword
+ \expandafter\let\csname SETxref-automatic-section-title\endcsname
+ = \relax
+ \else
+ \errhelp = \EMsimple
+ \errmessage{Unknown @xrefautomaticsectiontitle value `\temp',
+ must be on|off}%
+ \fi\fi
+}
+
+% \f
% @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is
% the node name, #2 the name of the Info cross-reference, #3 the printed
% node name, #4 the name of the Info file, #5 the name of the printed
\def\pxref#1{\putwordsee{} \xrefX[#1,,,,,,,]}
\def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]}
\def\ref#1{\xrefX[#1,,,,,,,]}
+%
+\newbox\toprefbox
+\newbox\printedrefnamebox
+\newbox\infofilenamebox
+\newbox\printedmanualbox
+%
\def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup
\unsepspaces
- \def\printedmanual{\ignorespaces #5}%
+ %
+ % Get args without leading/trailing spaces.
\def\printedrefname{\ignorespaces #3}%
- \setbox1=\hbox{\printedmanual\unskip}%
- \setbox0=\hbox{\printedrefname\unskip}%
- \ifdim \wd0 = 0pt
+ \setbox\printedrefnamebox = \hbox{\printedrefname\unskip}%
+ %
+ \def\infofilename{\ignorespaces #4}%
+ \setbox\infofilenamebox = \hbox{\infofilename\unskip}%
+ %
+ \def\printedmanual{\ignorespaces #5}%
+ \setbox\printedmanualbox = \hbox{\printedmanual\unskip}%
+ %
+ % If the printed reference name (arg #3) was not explicitly given in
+ % the @xref, figure out what we want to use.
+ \ifdim \wd\printedrefnamebox = 0pt
% No printed node name was explicitly given.
- \expandafter\ifx\csname SETxref-automatic-section-title\endcsname\relax
- % Use the node name inside the square brackets.
+ \expandafter\ifx\csname SETxref-automatic-section-title\endcsname \relax
+ % Not auto section-title: use node name inside the square brackets.
\def\printedrefname{\ignorespaces #1}%
\else
- % Use the actual chapter/section title appear inside
- % the square brackets. Use the real section title if we have it.
- \ifdim \wd1 > 0pt
- % It is in another manual, so we don't have it.
+ % Auto section-title: use chapter/section title inside
+ % the square brackets if we have it.
+ \ifdim \wd\printedmanualbox > 0pt
+ % It is in another manual, so we don't have it; use node name.
\def\printedrefname{\ignorespaces #1}%
\else
\ifhavexrefs
- % We know the real title if we have the xref values.
+ % We (should) know the real title if we have the xref values.
\def\printedrefname{\refx{#1-title}{}}%
\else
% Otherwise just copy the Info node name.
\ifpdf
{\indexnofonts
\turnoffactive
+ \makevalueexpandable
% This expands tokens, so do it after making catcode changes, so _
- % etc. don't get their TeX definitions.
+ % etc. don't get their TeX definitions. This ignores all spaces in
+ % #4, including (wrongly) those in the middle of the filename.
\getfilename{#4}%
%
- % See comments at \activebackslashdouble.
- {\activebackslashdouble \xdef\pdfxrefdest{#1}%
- \backslashparens\pdfxrefdest}%
+ % This (wrongly) does not take account of leading or trailing
+ % spaces in #1, which should be ignored.
+ \edef\pdfxrefdest{#1}%
+ \ifx\pdfxrefdest\empty
+ \def\pdfxrefdest{Top}% no empty targets
+ \else
+ \txiescapepdf\pdfxrefdest % escape PDF special chars
+ \fi
%
\leavevmode
\startlink attr{/Border [0 0 0]}%
\iffloat\Xthisreftitle
% If the user specified the print name (third arg) to the ref,
% print it instead of our usual "Figure 1.2".
- \ifdim\wd0 = 0pt
+ \ifdim\wd\printedrefnamebox = 0pt
\refx{#1-snt}{}%
\else
\printedrefname
\fi
%
- % if the user also gave the printed manual name (fifth arg), append
+ % If the user also gave the printed manual name (fifth arg), append
% "in MANUALNAME".
- \ifdim \wd1 > 0pt
+ \ifdim \wd\printedmanualbox > 0pt
\space \putwordin{} \cite{\printedmanual}%
\fi
\else
% node/anchor (non-float) references.
+ %
+ % If we use \unhbox to print the node names, TeX does not insert
+ % empty discretionaries after hyphens, which means that it will not
+ % find a line break at a hyphen in a node names. Since some manuals
+ % are best written with fairly long node names, containing hyphens,
+ % this is a loss. Therefore, we give the text of the node name
+ % again, so it is as if TeX is seeing it for the first time.
+ %
+ \ifdim \wd\printedmanualbox > 0pt
+ % Cross-manual reference with a printed manual name.
+ %
+ \crossmanualxref{\cite{\printedmanual\unskip}}%
+ %
+ \else\ifdim \wd\infofilenamebox > 0pt
+ % Cross-manual reference with only an info filename (arg 4), no
+ % printed manual name (arg 5). This is essentially the same as
+ % the case above; we output the filename, since we have nothing else.
+ %
+ \crossmanualxref{\code{\infofilename\unskip}}%
%
- % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not
- % insert empty discretionaries after hyphens, which means that it will
- % not find a line break at a hyphen in a node names. Since some manuals
- % are best written with fairly long node names, containing hyphens, this
- % is a loss. Therefore, we give the text of the node name again, so it
- % is as if TeX is seeing it for the first time.
- \ifdim \wd1 > 0pt
- \putwordSection{} ``\printedrefname'' \putwordin{} \cite{\printedmanual}%
\else
+ % Reference within this manual.
+ %
% _ (for example) has to be the character _ for the purposes of the
% control sequence corresponding to the node, but it has to expand
% into the usual \leavevmode...\vrule stuff for purposes of
\setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}%
\ifdim \wd2 > 0pt \refx{#1-snt}\space\fi
}%
- % output the `[mynode]' via a macro so it can be overridden.
+ % output the `[mynode]' via the macro below so it can be overridden.
\xrefprintnodename\printedrefname
%
% But we always want a comma and a space:
%
% output the `page 3'.
\turnoffactive \putwordpage\tie\refx{#1-pg}{}%
- \fi
+ \fi\fi
\fi
\endlink
\endgroup}
+% Output a cross-manual xref to #1. Used just above (twice).
+%
+% Only include the text "Section ``foo'' in" if the foo is neither
+% missing or Top. Thus, @xref{,,,foo,The Foo Manual} outputs simply
+% "see The Foo Manual", the idea being to refer to the whole manual.
+%
+% But, this being TeX, we can't easily compare our node name against the
+% string "Top" while ignoring the possible spaces before and after in
+% the input. By adding the arbitrary 7sp below, we make it much less
+% likely that a real node name would have the same width as "Top" (e.g.,
+% in a monospaced font). Hopefully it will never happen in practice.
+%
+% For the same basic reason, we retypeset the "Top" at every
+% reference, since the current font is indeterminate.
+%
+\def\crossmanualxref#1{%
+ \setbox\toprefbox = \hbox{Top\kern7sp}%
+ \setbox2 = \hbox{\ignorespaces \printedrefname \unskip \kern7sp}%
+ \ifdim \wd2 > 7sp % nonempty?
+ \ifdim \wd2 = \wd\toprefbox \else % same as Top?
+ \putwordSection{} ``\printedrefname'' \putwordin{}\space
+ \fi
+ \fi
+ #1%
+}
+
% This macro is called from \xrefX for the `[nodename]' part of xref
% output. It's a separate macro only so it can be changed more easily,
% since square brackets don't work well in some documents. Particularly
\angleleft un\-de\-fined\angleright
\iflinks
\ifhavexrefs
- \message{\linenumber Undefined cross reference `#1'.}%
+ {\toks0 = {#1}% avoid expansion of possibly-complex value
+ \message{\linenumber Undefined cross reference `\the\toks0'.}}%
\else
\ifwarnedxrefs\else
\global\warnedxrefstrue
% space to prevent strange expansion errors.)
\def\supereject{\par\penalty -20000\footnoteno =0 }
-% @footnotestyle is meaningful for info output only.
+% @footnotestyle is meaningful for Info output only.
\let\footnotestyle=\comment
{\catcode `\@=11
% expands into a box, it must come within the paragraph, lest it
% provide a place where TeX can split the footnote.
\footstrut
+ %
+ % Invoke rest of plain TeX footnote routine.
\futurelet\next\fo@t
}
}%end \catcode `\@=11
it from ftp://tug.org/tex/epsf.tex.}
%
\def\image#1{%
- \ifx\epsfbox\undefined
+ \ifx\epsfbox\thisisundefined
\ifwarnednoepsf \else
\errhelp = \noepsfhelp
\errmessage{epsf.tex not found, images will be ignored}%
% #2 is (optional) width, #3 is (optional) height.
% #4 is (ignored optional) html alt text.
% #5 is (ignored optional) extension.
-% #6 is just the usual extra ignored arg for parsing this stuff.
+% #6 is just the usual extra ignored arg for parsing stuff.
\newif\ifimagevmode
\def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup
\catcode`\^^M = 5 % in case we're inside an example
% If the image is by itself, center it.
\ifvmode
\imagevmodetrue
+ \else \ifx\centersub\centerV
+ % for @center @image, we need a vbox so we can have our vertical space
+ \imagevmodetrue
+ \vbox\bgroup % vbox has better behavior than vtop herev
+ \fi\fi
+ %
+ \ifimagevmode
\nobreak\medskip
% Usually we'll have text after the image which will insert
% \parskip glue, so insert it here too to equalize the space
\fi
%
% Leave vertical mode so that indentation from an enclosing
- % environment such as @quotation is respected. On the other hand, if
- % it's at the top level, we don't want the normal paragraph indentation.
- \noindent
+ % environment such as @quotation is respected.
+ % However, if we're at the top level, we don't want the
+ % normal paragraph indentation.
+ % On the other hand, if we are in the case of @center @image, we don't
+ % want to start a paragraph, which will create a hsize-width box and
+ % eradicate the centering.
+ \ifx\centersub\centerV\else \noindent \fi
%
% Output the image.
\ifpdf
\epsfbox{#1.eps}%
\fi
%
- \ifimagevmode \medskip \fi % space after the standalone image
+ \ifimagevmode
+ \medskip % space after a standalone image
+ \fi
+ \ifx\centersub\centerV \egroup \fi
\endgroup}
%
% Latin1 (ISO-8859-1) character definitions.
\def\latonechardefs{%
- \gdef^^a0{~}
+ \gdef^^a0{\tie}
\gdef^^a1{\exclamdown}
\gdef^^a2{\missingcharmsg{CENT SIGN}}
\gdef^^a3{{\pounds}}
\gdef^^b9{$^1$}
\gdef^^ba{\ordm}
%
- \gdef^^bb{\guilletright}
+ \gdef^^bb{\guillemetright}
\gdef^^bc{$1\over4$}
\gdef^^bd{$1\over2$}
\gdef^^be{$3\over4$}
% Latin2 (ISO-8859-2) character definitions.
\def\lattwochardefs{%
- \gdef^^a0{~}
+ \gdef^^a0{\tie}
\gdef^^a1{\ogonek{A}}
\gdef^^a2{\u{}}
\gdef^^a3{\L}
\gdef^^ea{\ogonek{e}}
\gdef^^eb{\"e}
\gdef^^ec{\v e}
- \gdef^^ed{\'\i}
- \gdef^^ee{\^\i}
+ \gdef^^ed{\'{\dotless{i}}}
+ \gdef^^ee{\^{\dotless{i}}}
\gdef^^ef{\v d}
%
\gdef^^f0{\dh}
\gdef\DeclareUnicodeCharacter#1#2{%
\countUTFz = "#1\relax
- \wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}%
+ %\wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}%
\begingroup
\parseXMLCharref
\def\UTFviiiTwoOctets##1##2{%
% Prevent underfull vbox error messages.
\vbadness = 10000
-% Don't be so finicky about underfull hboxes, either.
-\hbadness = 2000
+% Don't be very finicky about underfull hboxes, either.
+\hbadness = 6666
% Following George Bush, get rid of widows and orphans.
\widowpenalty=10000
\message{and turning on texinfo input format.}
+\def^^L{\par} % remove \outer, so ^L can appear in an @comment
+
% DEL is a comment character, in case @c does not suffice.
\catcode`\^^? = 14
% Define macros to output various characters with catcode for normal text.
-\catcode`\"=\other
-\catcode`\~=\other
-\catcode`\^=\other
-\catcode`\_=\other
-\catcode`\|=\other
-\catcode`\<=\other
-\catcode`\>=\other
-\catcode`\+=\other
-\catcode`\$=\other
-\def\normaldoublequote{"}
-\def\normaltilde{~}
-\def\normalcaret{^}
-\def\normalunderscore{_}
-\def\normalverticalbar{|}
-\def\normalless{<}
-\def\normalgreater{>}
-\def\normalplus{+}
-\def\normaldollar{$}%$ font-lock fix
+\catcode`\"=\other \def\normaldoublequote{"}
+\catcode`\$=\other \def\normaldollar{$}%$ font-lock fix
+\catcode`\+=\other \def\normalplus{+}
+\catcode`\<=\other \def\normalless{<}
+\catcode`\>=\other \def\normalgreater{>}
+\catcode`\^=\other \def\normalcaret{^}
+\catcode`\_=\other \def\normalunderscore{_}
+\catcode`\|=\other \def\normalverticalbar{|}
+\catcode`\~=\other \def\normaltilde{~}
% This macro is used to make a character print one way in \tt
% (where it can probably be output as-is), and another way in other fonts,
% In texinfo, backslash is an active character; it prints the backslash
% in fixed width font.
-\catcode`\\=\active
-@def@normalbackslash{{@tt@backslashcurfont}}
+\catcode`\\=\active % @ for escape char from now on.
+
+% The story here is that in math mode, the \char of \backslashcurfont
+% ends up printing the roman \ from the math symbol font (because \char
+% in math mode uses the \mathcode, and plain.tex sets
+% \mathcode`\\="026E). It seems better for @backslashchar{} to always
+% print a typewriter backslash, hence we use an explicit \mathchar,
+% which is the decimal equivalent of "715c (class 7, e.g., use \fam;
+% ignored family value; char position "5C). We can't use " for the
+% usual hex value because it has already been made active.
+@def@normalbackslash{{@tt @ifmmode @mathchar29020 @else @backslashcurfont @fi}}
+@let@backslashchar = @normalbackslash % @backslashchar{} is for user documents.
+
% On startup, @fixbackslash assigns:
% @let \ = @normalbackslash
-
% \rawbackslash defines an active \ to do \backslashcurfont.
% \otherbackslash defines an active \ to be a literal `\' character with
-% catcode other.
+% catcode other. We switch back and forth between these.
@gdef@rawbackslash{@let\=@backslashcurfont}
@gdef@otherbackslash{@let\=@realbackslash}
% Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of
-% the literal character `\'.
-%
-@def@normalturnoffactive{%
- @let\=@normalbackslash
- @let"=@normaldoublequote
- @let~=@normaltilde
- @let^=@normalcaret
- @let_=@normalunderscore
- @let|=@normalverticalbar
- @let<=@normalless
- @let>=@normalgreater
- @let+=@normalplus
- @let$=@normaldollar %$ font-lock fix
- @markupsetuplqdefault
- @markupsetuprqdefault
- @unsepspaces
+% the literal character `\'. Also revert - to its normal character, in
+% case the active - from code has slipped in.
+%
+{@catcode`- = @active
+ @gdef@normalturnoffactive{%
+ @let-=@normaldash
+ @let"=@normaldoublequote
+ @let$=@normaldollar %$ font-lock fix
+ @let+=@normalplus
+ @let<=@normalless
+ @let>=@normalgreater
+ @let\=@normalbackslash
+ @let^=@normalcaret
+ @let_=@normalunderscore
+ @let|=@normalverticalbar
+ @let~=@normaltilde
+ @markupsetuplqdefault
+ @markupsetuprqdefault
+ @unsepspaces
+ }
}
% Make _ and + \other characters, temporarily.
% Say @foo, not \foo, in error messages.
@escapechar = `@@
+% These (along with & and #) are made active for url-breaking, so need
+% active definitions as the normal characters.
+@def@normaldot{.}
+@def@normalquest{?}
+@def@normalslash{/}
+
% These look ok in all fonts, so just make them not special.
-@catcode`@& = @other
-@catcode`@# = @other
-@catcode`@% = @other
+% @hashchar{} gets its own user-level command, because of #line.
+@catcode`@& = @other @def@normalamp{&}
+@catcode`@# = @other @def@normalhash{#}
+@catcode`@% = @other @def@normalpercent{%}
+
+@let @hashchar = @normalhash
@c Finally, make ` and ' active, so that txicodequoteundirected and
@c txicodequotebacktick work right in, e.g., @w{@code{`foo'}}. If we
#! /bin/sh
-# Common stub for a few missing GNU programs while installing.
+# Common wrapper for a few potentially missing GNU programs.
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2013-10-28.13; # UTC
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
-# 2008, 2009 Free Software Foundation, Inc.
-# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# 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
# 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, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# the same distribution terms that you use for the rest of that program.
if test $# -eq 0; then
- echo 1>&2 "Try \`$0 --help' for more information"
+ echo 1>&2 "Try '$0 --help' for more information"
exit 1
fi
-run=:
-sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
-sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
-
-# In the cases where this matters, `missing' is being run in the
-# srcdir already.
-if test -f configure.ac; then
- configure_ac=configure.ac
-else
- configure_ac=configure.in
-fi
+case $1 in
-msg="missing on your system"
+ --is-lightweight)
+ # Used by our autoconf macros to check whether the available missing
+ # script is modern enough.
+ exit 0
+ ;;
-case $1 in
---run)
- # Try to run requested program, and just exit if it succeeds.
- run=
- shift
- "$@" && exit 0
- # Exit code 63 means version mismatch. This often happens
- # when the user try to use an ancient version of a tool on
- # a file that requires a minimum version. In this case we
- # we should proceed has if the program had been absent, or
- # if --run hadn't been passed.
- if test $? = 63; then
- run=:
- msg="probably too old"
- fi
- ;;
+ --run)
+ # Back-compat with the calling convention used by older automake.
+ shift
+ ;;
-h|--h|--he|--hel|--help)
echo "\
$0 [OPTION]... PROGRAM [ARGUMENT]...
-Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-error status if there is no known handling for PROGRAM.
+Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
+to PROGRAM being missing or too old.
Options:
-h, --help display this help and exit
-v, --version output version information and exit
- --run try to run the given command, and emulate it if it fails
Supported PROGRAM values:
- aclocal touch file \`aclocal.m4'
- autoconf touch file \`configure'
- autoheader touch file \`config.h.in'
- autom4te touch the output file, or create a stub one
- automake touch all \`Makefile.in' files
- bison create \`y.tab.[ch]', if possible, from existing .[ch]
- flex create \`lex.yy.c', if possible, from existing .c
- help2man touch the output file
- lex create \`lex.yy.c', if possible, from existing .c
- makeinfo touch the output file
- tar try tar, gnutar, gtar, then tar without non-portable flags
- yacc create \`y.tab.[ch]', if possible, from existing .[ch]
+ aclocal autoconf autoheader autom4te automake makeinfo
+ bison yacc flex lex help2man
-Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
-\`g' are ignored when checking the name.
+Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
+'g' are ignored when checking the name.
Send bug reports to <bug-automake@gnu.org>."
exit $?
;;
-*)
- echo 1>&2 "$0: Unknown \`$1' option"
- echo 1>&2 "Try \`$0 --help' for more information"
+ echo 1>&2 "$0: unknown '$1' option"
+ echo 1>&2 "Try '$0 --help' for more information"
exit 1
;;
esac
-# normalize program name to check for.
-program=`echo "$1" | sed '
- s/^gnu-//; t
- s/^gnu//; t
- s/^g//; t'`
-
-# Now exit if we have it, but it failed. Also exit now if we
-# don't have it and --version was passed (most likely to detect
-# the program). This is about non-GNU programs, so use $1 not
-# $program.
-case $1 in
- lex*|yacc*)
- # Not GNU programs, they don't have --version.
- ;;
-
- tar*)
- if test -n "$run"; then
- echo 1>&2 "ERROR: \`tar' requires --run"
- exit 1
- elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
- exit 1
- fi
- ;;
-
- *)
- if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
- # We have it, but it failed.
- exit 1
- elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
- # Could not run --version or --help. This is probably someone
- # running `$TOOL --version' or `$TOOL --help' to check whether
- # $TOOL exists and not knowing $TOOL uses missing.
- exit 1
- fi
- ;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case $program in
- aclocal*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`acinclude.m4' or \`${configure_ac}'. You might want
- to install the \`Automake' and \`Perl' packages. Grab them from
- any GNU archive site."
- touch aclocal.m4
- ;;
-
- autoconf*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`${configure_ac}'. You might want to install the
- \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
- archive site."
- touch configure
- ;;
-
- autoheader*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`acconfig.h' or \`${configure_ac}'. You might want
- to install the \`Autoconf' and \`GNU m4' packages. Grab them
- from any GNU archive site."
- files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
- test -z "$files" && files="config.h"
- touch_files=
- for f in $files; do
- case $f in
- *:*) touch_files="$touch_files "`echo "$f" |
- sed -e 's/^[^:]*://' -e 's/:.*//'`;;
- *) touch_files="$touch_files $f.in";;
- esac
- done
- touch $touch_files
- ;;
-
- automake*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
- You might want to install the \`Automake' and \`Perl' packages.
- Grab them from any GNU archive site."
- find . -type f -name Makefile.am -print |
- sed 's/\.am$/.in/' |
- while read f; do touch "$f"; done
- ;;
-
- autom4te*)
- echo 1>&2 "\
-WARNING: \`$1' is needed, but is $msg.
- You might have modified some files without having the
- proper tools for further handling them.
- You can get \`$1' as part of \`Autoconf' from any GNU
- archive site."
-
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -f "$file"; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo "#! /bin/sh"
- echo "# Created by GNU Automake missing as a replacement of"
- echo "# $ $@"
- echo "exit 0"
- chmod +x $file
- exit 1
- fi
- ;;
-
- bison*|yacc*)
- echo 1>&2 "\
-WARNING: \`$1' $msg. You should only need it if
- you modified a \`.y' file. You may need the \`Bison' package
- in order for those modifications to take effect. You can get
- \`Bison' from any GNU archive site."
- rm -f y.tab.c y.tab.h
- if test $# -ne 1; then
- eval LASTARG="\${$#}"
- case $LASTARG in
- *.y)
- SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" y.tab.c
- fi
- SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" y.tab.h
- fi
- ;;
- esac
- fi
- if test ! -f y.tab.h; then
- echo >y.tab.h
- fi
- if test ! -f y.tab.c; then
- echo 'main() { return 0; }' >y.tab.c
- fi
- ;;
-
- lex*|flex*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a \`.l' file. You may need the \`Flex' package
- in order for those modifications to take effect. You can get
- \`Flex' from any GNU archive site."
- rm -f lex.yy.c
- if test $# -ne 1; then
- eval LASTARG="\${$#}"
- case $LASTARG in
- *.l)
- SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" lex.yy.c
- fi
- ;;
- esac
- fi
- if test ! -f lex.yy.c; then
- echo 'main() { return 0; }' >lex.yy.c
- fi
- ;;
-
- help2man*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a dependency of a manual page. You may need the
- \`Help2man' package in order for those modifications to take
- effect. You can get \`Help2man' from any GNU archive site."
-
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -f "$file"; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo ".ab help2man is required to generate this page"
- exit $?
- fi
- ;;
-
- makeinfo*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a \`.texi' or \`.texinfo' file, or any other file
- indirectly affecting the aspect of the manual. The spurious
- call might also be the consequence of using a buggy \`make' (AIX,
- DU, IRIX). You might want to install the \`Texinfo' package or
- the \`GNU make' package. Grab either from any GNU archive site."
- # The file to touch is that specified with -o ...
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -z "$file"; then
- # ... or it is the one specified with @setfilename ...
- infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
- file=`sed -n '
- /^@setfilename/{
- s/.* \([^ ]*\) *$/\1/
- p
- q
- }' $infile`
- # ... or it is derived from the source name (dir/f.texi becomes f.info)
- test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
- fi
- # If the file does not exist, the user really needs makeinfo;
- # let's fail without touching anything.
- test -f $file || exit 1
- touch $file
- ;;
-
- tar*)
- shift
-
- # We have already tried tar in the generic part.
- # Look for gnutar/gtar before invocation to avoid ugly error
- # messages.
- if (gnutar --version > /dev/null 2>&1); then
- gnutar "$@" && exit 0
- fi
- if (gtar --version > /dev/null 2>&1); then
- gtar "$@" && exit 0
- fi
- firstarg="$1"
- if shift; then
- case $firstarg in
- *o*)
- firstarg=`echo "$firstarg" | sed s/o//`
- tar "$firstarg" "$@" && exit 0
- ;;
- esac
- case $firstarg in
- *h*)
- firstarg=`echo "$firstarg" | sed s/h//`
- tar "$firstarg" "$@" && exit 0
- ;;
- esac
- fi
-
- echo 1>&2 "\
-WARNING: I can't seem to be able to run \`tar' with the given arguments.
- You may want to install GNU tar or Free paxutils, or check the
- command line arguments."
- exit 1
- ;;
-
- *)
- echo 1>&2 "\
-WARNING: \`$1' is needed, and is $msg.
- You might have modified some files without having the
- proper tools for further handling them. Check the \`README' file,
- it often tells you about the needed prerequisites for installing
- this package. You may also peek at any GNU archive site, in case
- some other package would contain this missing \`$1' program."
- exit 1
- ;;
-esac
+# Run the given program, remember its exit status.
+"$@"; st=$?
+
+# If it succeeded, we are done.
+test $st -eq 0 && exit 0
+
+# Also exit now if we it failed (or wasn't found), and '--version' was
+# passed; such an option is passed most likely to detect whether the
+# program is present and works.
+case $2 in --version|--help) exit $st;; esac
+
+# Exit code 63 means version mismatch. This often happens when the user
+# tries to use an ancient version of a tool on a file that requires a
+# minimum version.
+if test $st -eq 63; then
+ msg="probably too old"
+elif test $st -eq 127; then
+ # Program was missing.
+ msg="missing on your system"
+else
+ # Program was found and executed, but failed. Give up.
+ exit $st
+fi
-exit 0
+perl_URL=http://www.perl.org/
+flex_URL=http://flex.sourceforge.net/
+gnu_software_URL=http://www.gnu.org/software
+
+program_details ()
+{
+ case $1 in
+ aclocal|automake)
+ echo "The '$1' program is part of the GNU Automake package:"
+ echo "<$gnu_software_URL/automake>"
+ echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
+ echo "<$gnu_software_URL/autoconf>"
+ echo "<$gnu_software_URL/m4/>"
+ echo "<$perl_URL>"
+ ;;
+ autoconf|autom4te|autoheader)
+ echo "The '$1' program is part of the GNU Autoconf package:"
+ echo "<$gnu_software_URL/autoconf/>"
+ echo "It also requires GNU m4 and Perl in order to run:"
+ echo "<$gnu_software_URL/m4/>"
+ echo "<$perl_URL>"
+ ;;
+ esac
+}
+
+give_advice ()
+{
+ # Normalize program name to check for.
+ normalized_program=`echo "$1" | sed '
+ s/^gnu-//; t
+ s/^gnu//; t
+ s/^g//; t'`
+
+ printf '%s\n' "'$1' is $msg."
+
+ configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
+ case $normalized_program in
+ autoconf*)
+ echo "You should only need it if you modified 'configure.ac',"
+ echo "or m4 files included by it."
+ program_details 'autoconf'
+ ;;
+ autoheader*)
+ echo "You should only need it if you modified 'acconfig.h' or"
+ echo "$configure_deps."
+ program_details 'autoheader'
+ ;;
+ automake*)
+ echo "You should only need it if you modified 'Makefile.am' or"
+ echo "$configure_deps."
+ program_details 'automake'
+ ;;
+ aclocal*)
+ echo "You should only need it if you modified 'acinclude.m4' or"
+ echo "$configure_deps."
+ program_details 'aclocal'
+ ;;
+ autom4te*)
+ echo "You might have modified some maintainer files that require"
+ echo "the 'autom4te' program to be rebuilt."
+ program_details 'autom4te'
+ ;;
+ bison*|yacc*)
+ echo "You should only need it if you modified a '.y' file."
+ echo "You may want to install the GNU Bison package:"
+ echo "<$gnu_software_URL/bison/>"
+ ;;
+ lex*|flex*)
+ echo "You should only need it if you modified a '.l' file."
+ echo "You may want to install the Fast Lexical Analyzer package:"
+ echo "<$flex_URL>"
+ ;;
+ help2man*)
+ echo "You should only need it if you modified a dependency" \
+ "of a man page."
+ echo "You may want to install the GNU Help2man package:"
+ echo "<$gnu_software_URL/help2man/>"
+ ;;
+ makeinfo*)
+ echo "You should only need it if you modified a '.texi' file, or"
+ echo "any other file indirectly affecting the aspect of the manual."
+ echo "You might want to install the Texinfo package:"
+ echo "<$gnu_software_URL/texinfo/>"
+ echo "The spurious makeinfo call might also be the consequence of"
+ echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
+ echo "want to install GNU make:"
+ echo "<$gnu_software_URL/make/>"
+ ;;
+ *)
+ echo "You might have modified some files without having the proper"
+ echo "tools for further handling them. Check the 'README' file, it"
+ echo "often tells you about the needed prerequisites for installing"
+ echo "this package. You may also peek at any GNU archive site, in"
+ echo "case some other package contains this missing '$1' program."
+ ;;
+ esac
+}
+
+give_advice "$1" | sed -e '1s/^/WARNING: /' \
+ -e '2,$s/^/ /' >&2
+
+# Propagate the correct exit status (expected to be 127 for a program
+# not found, 63 for a program that failed due to version mismatch).
+exit $st
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
// license along with this library if you did not you can find
// it at http://www.gnu.org/.
//
-// The orignal filter was written by Kevin Atkinson.
+// The original filter was written by Kevin Atkinson.
// Tom Snyder rewrote the filter to support skipping SGML tags
//
// This filter enables the spell checking of sgml, html, and xhtml files
if (c == '{') {
- if (top.in_what == Parm || top.in_what == Opt || top.do_check == '\0')
+ if (top.in_what == Parm || top.in_what == Opt || *top.do_check == '\0')
push_command(Parm);
top.in_what = Parm;
typedef HashTable<CondsLookupParms> CondsLookup;
// normalizes and checks the cond_str
-// returns the lenth of the new string or -1 if invalid
+// returns the length of the new string or -1 if invalid
static int normalize_cond_str(char * str)
{
char * s = str;
// prefix is not found (call it nextne).
// Since we have built ordered lists, all that remains is to
- // properly intialize the nextne and nexteq pointers that relate
+ // properly initialize the nextne and nexteq pointers that relate
// them
process_pfx_order();
For prefixes, it does this by setting bit 0 if that char is valid
in the first position, bit 1 if valid in the second position, and so on.
-If a bit is not set, then that char is not valid for that postion in the
+If a bit is not set, then that char is not valid for that position in the
word.
If working with suffixes bit 0 is used for the character closest
static inline void clear_check_info(CheckInfo & ci)
{
- memset(&ci, 0, sizeof(ci));
+ memset(static_cast<void *>(&ci), 0, sizeof(ci));
}
struct GuessInfo
bool soundslike_root_only; // true when affix compression is used AND
// the stored soundslike corresponds to the
// root word only
- bool fast_scan; // can effectly scan for all soundslikes (or
+ bool fast_scan; // can effectively scan for all soundslikes (or
// clean words if have_soundslike is false)
// with an edit distance of 1 or 2
- bool fast_lookup; // can effectly find all words with a given soundslike
+ bool fast_lookup; // can effectively find all words with a given soundslike
// when the SoundslikeWord is not given
typedef WordEntryEnumeration Enum;
WordListIterator::WordListIterator(StringEnumeration * in0,
const Language * lang0,
OStream * log0)
- : in(in0), lang(lang0), log(log0), val(), str(0), str_end(0), brk(),
+ : in(in0), lang(lang0), log(log0), val(), str(0), str_end(0),
clean_affix(lang0, log0)
{
+ memset(brk, '\0', sizeof(brk));
}
PosibErr<void> WordListIterator::init(Config & config)
}
};
+ template <typename HASH_INT = size_t>
struct InsensitiveHash {
// hashes a string without regards to casing or special begin
// or end characters
InsensitiveHash() {}
InsensitiveHash(const Language * l)
: lang(l) {}
- size_t operator() (const char * s) const
+ HASH_INT operator() (const char * s) const
{
- size_t h = 0;
+ HASH_INT h = 0;
for (;;) {
if (*s == 0) break;
unsigned char c = lang->to_clean(*s++);
struct SensitiveCompare {
const Language * lang;
bool case_insensitive;
- bool ignore_accents;
- bool begin;
- bool end;
+ bool ignore_accents; // unused
+ bool begin; // if not begin we are checking the end of the word
+ bool end; // if not end we are checking the beginning of the word
+ // if both false we are checking the middle of a word
SensitiveCompare(const Language * l = 0)
: lang(l), case_insensitive(false), ignore_accents(false),
begin(true), end(true) {}
// respectfully.
// The running time is asymptotically bounded above by
- // (3^l)*n where l is the limit and n is the maxium of strlen(a),strlen(b)
+ // (3^l)*n where l is the limit and n is the maximum of strlen(a),strlen(b)
// Based on my informal tests, however, the n does not really matter
// and the running time is more like (3^l).
// data block laid out as follows:
//
// Words:
-// (<8 bit frequency><8 bit: flags><8 bit: offset>
+// (<8 bit frequency><8 bit: flags><8 bit: offset to next word>
// <8 bit: word size><word><null>
// [<affix info><null>][<category info><null>])+
// Words with soundslike:
// (<8 bit: offset to next item><8 bit: soundslike size><soundslike>
-// <words>)+
+// <words with that soundlike>)+
// Flags are mapped as follows:
// bits 0-3: word info
// bit 4: duplicate flag
typedef unsigned short u16int;
typedef unsigned char byte;
+#ifdef USE_32_BIT_HASH_FUN
+typedef u32int hash_int_t;
+#else
+typedef size_t hash_int_t;
+#endif
+
#ifdef HAVE_MMAP
// POSIX headers
typedef const char * Key;
static const bool is_multi = false;
Key key(Value v) const {return block_begin + v;}
- InsensitiveHash hash;
+ InsensitiveHash<hash_int_t> hash;
InsensitiveEqual equal;
bool is_nonexistent(Value v) const {return v == u32int_max;}
void make_nonexistent(const Value & v) const {abort();}
}
PosibErr<void> load(ParmString, Config &, DictList *, SpellerImpl *);
+ PosibErr<void> check_hash_fun() const;
+ void low_level_dump() const;
bool lookup(ParmString word, const SensitiveCompare *, WordEntry &) const;
bool soundslike_lookup(ParmString, WordEntry &) const;
SoundslikeEnumeration * soundslike_elements() const;
+
};
static inline void convert(const char * w, WordEntry & o) {
return new Elements(first_word);
}
+ void ReadOnlyDict::low_level_dump() const {
+ bool next_dup = false;
+ const char * w = first_word;
+ for (;;) {
+ if (get_offset(w) == 0) w += 2; // FIXME: This needs to be 3
+ // when freq info is used
+ if (get_offset(w) == 0) break;
+
+ const char * aff = get_affix(w);
+ byte flags = get_flags(w);
+ byte word_info = flags & WORD_INFO_MASK;
+ byte offset = get_offset(w);
+ int size = get_word_size(w);
+ if (next_dup) printf("\\");
+ printf("%s", w);
+ if (flags & HAVE_AFFIX_FLAG) printf("/%s", aff);
+ if (word_info) printf(" [WI: %d]", word_info);
+ //if (flags & DUPLICATE_FLAG) printf(" [NEXT DUP]");
+ const char * p = w;
+ WordLookup::const_iterator i = word_lookup.find(w);
+ if (!next_dup) {
+ if (i == word_lookup.end())
+ printf(" <BAD HASH>");
+ else if (word_block + *i != w) {
+ printf(" <BAD HASH, got %s>", word_block + *i);
+ }
+ else
+ printf(" <hash ok>");
+ }
+ printf("\n");
+ String buf;
+ if (flags & DUPLICATE_FLAG) next_dup = true;
+ else next_dup = false;
+ w = get_next(w);
+ }
+ }
+
+ PosibErr<void> ReadOnlyDict::check_hash_fun() const {
+ const char * w = first_word;
+ for (;;) {
+ if (get_offset(w) == 0) w += 2; // FIXME: This needs to be 3
+ // when freq info is used
+ if (get_offset(w) == 0) break;
+ if (get_word_size(w) >= 12) {
+ const char * p = w;
+ int clean_size = 0;
+ for (;;) {
+ if (!*p) goto next; // reached end before clean_size was at
+ // least 12, thus skip
+ if (lang()->to_clean(*p)) ++clean_size;
+ if (clean_size >= 12) goto clean_size_ok;
+ ++p;
+ }
+ clean_size_ok:
+ WordLookup::const_iterator i = word_lookup.find(w);
+ if (i == word_lookup.end() || word_block + *i != w)
+ return make_err(bad_file_format, file_name(),
+ _("Incompatible hash function."));
+ else
+ return no_err;
+ }
+ next:
+ while (get_flags(w) & DUPLICATE_FLAG)
+ w = get_next(w);
+ w = get_next(w);
+ }
+ return no_err;
+ }
+
ReadOnlyDict::Size ReadOnlyDict::size() const {
return word_lookup.size();
}
word_lookup.vector().set(begin, begin + data_head.word_buckets);
word_lookup.set_size(data_head.word_count);
+ //low_level_dump();
+ RET_ON_ERR(check_hash_fun());
+
return no_err;
}
typedef const char * Key;
static const bool is_multi = false;
Key key(Value v) const {return block_begin + v;}
- InsensitiveHash hash;
+ InsensitiveHash<hash_int_t> hash;
InsensitiveEqual equal;
bool is_nonexistent(Value v) const {return v == u32int_max;}
void make_nonexistent(Value & v) const {v = u32int_max;}
namespace aspeller {
class Language;
- class SensitiveCompare;
+ struct SensitiveCompare;
class Suggest;
enum SpecialId {main_id, personal_id, session_id,
GuessInfo guess_info;
SensitiveCompare s_cmp;
- SensitiveCompare s_cmp_begin;
- SensitiveCompare s_cmp_middle;
+ SensitiveCompare s_cmp_begin; // These (s_cmp_begin,middle,end)
+ SensitiveCompare s_cmp_middle; // are used by the affix code.
SensitiveCompare s_cmp_end;
typedef Vector<const Dict *> WS;
}
//
- // OriginalWord stores infomation about the original misspelled word
+ // OriginalWord stores information about the original misspelled word
// for convince and speed.
//
struct OriginalWord {
// Forms a word by combining CheckInfo fields.
// Will grow the grow the temp in the buffer. The final
- // word must be null terminated and commited.
+ // word must be null terminated and committed.
// It returns a MutableString of what was appended to the buffer.
MutableString Working::form_word(CheckInfo & ci)
{
add_nearmiss(i, sw, 0, score, -1, do_count);
}
if (sp->affix_compress) {
- CheckInfo ci; memset(&ci, 0, sizeof(ci));
+ CheckInfo ci; memset(static_cast<void *>(&ci), 0, sizeof(ci));
bool res = lang->affix()->affix_check(LookupInfo(sp, LookupInfo::Clean), str, ci, 0);
if (!res) return;
form_word(ci);
res = check_word(i, word_end, ci + 1, pos + 1);
if (res) return res;
}
- memset(ci, 0, sizeof(CheckInfo));
+ memset(static_cast<void *>(ci), 0, sizeof(CheckInfo));
return 0;
}
t[0] = lang->to_lower(t[0]);
}
char * end = (char *)buffer.grow_temp(1);
- char * beg = (char *)buffer.temp_ptr(); // since the orignal string may of moved
+ char * beg = (char *)buffer.temp_ptr(); // since the original string may of moved
*end = 0;
buffer.commit_temp();
add_nearmiss(beg, end - beg, 0, 0, score, -1, do_count);
////////////////////////////////////////////////////////
// //
- // Vector Hash Table Interator //
+ // Vector Hash Table Iterator //
// //
////////////////////////////////////////////////////////
//
typedef unsigned char byte;
struct Hash {
- InsensitiveHash f;
+ InsensitiveHash<> f;
Hash(const Language * l) : f(l) {}
size_t operator() (Str s) const {
return f(s);
bool lookup(ParmString word, const SensitiveCompare *, WordEntry &) const;
- bool clean_lookup(const char * sondslike, WordEntry &) const;
+ bool clean_lookup(ParmString sondslike, WordEntry &) const;
bool soundslike_lookup(const WordEntry & soundslike, WordEntry &) const;
bool soundslike_lookup(ParmString soundslike, WordEntry &) const;
return false;
}
-bool WritableDict::clean_lookup(const char * sl, WordEntry & o) const
+bool WritableDict::clean_lookup(ParmString sl, WordEntry & o) const
{
o.clear();
pair<WordLookup::iterator, WordLookup::iterator> p(word_lookup->equal_range(sl));
-# Makefile.in generated by automake 1.10.3 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@SET_MAKE@
VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgincludedir = $(includedir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
target_triplet = @target@
noinst_PROGRAMS = munch$(EXEEXT)
subdir = myspell
-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/depcomp README
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \
$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
- $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
- $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/gen/settings.h
CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
PROGRAMS = $(noinst_PROGRAMS)
am_munch_OBJECTS = munch.$(OBJEXT)
munch_OBJECTS = $(am_munch_OBJECTS)
munch_LDADD = $(LDADD)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/gen
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
SOURCES = $(munch_SOURCES)
DIST_SOURCES = $(munch_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
pkglibdir = @pkglibdir@
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NM = @NM@
NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERLPROG = @PERLPROG@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
munch_SOURCES = munch.c
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign myspell/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign myspell/Makefile
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign myspell/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign myspell/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-munch$(EXEEXT): $(munch_OBJECTS) $(munch_DEPENDENCIES)
+ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+munch$(EXEEXT): $(munch_OBJECTS) $(munch_DEPENDENCIES) $(EXTRA_munch_DEPENDENCIES)
@rm -f munch$(EXEEXT)
- $(LINK) $(munch_OBJECTS) $(munch_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(munch_OBJECTS) $(munch_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/munch.Po@am__quote@
.c.o:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
-@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
+ $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \
+ ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
-This directory contains some utilites and documentation from the
+This directory contains some utilities and documentation from the
standalone MySpell utility with some minor modifications.
You can find MySpell at
da
de
en_GB
+eo
es
fi
fr
+fur
ga
+hr
id
it
ja
mn
ms
nl
+pl
+pt
pt_BR
ro
ru
# Makefile for PO directory in any package using GNU gettext.
-# Copyright (C) 1995-1997, 2000-2006 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
+# Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
#
# This file can be copied and used freely without restrictions. It can
# be used in projects which are not available under the GNU General Public
# Please note that the actual code of GNU gettext is covered by the GNU
# General Public License and is *not* in the public domain.
#
-# Origin: gettext-0.16
+# Origin: gettext-0.19
+GETTEXT_MACRO_VERSION = 0.19
PACKAGE = @PACKAGE@
VERSION = @VERSION@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+SED = @SED@
SHELL = /bin/sh
@SET_MAKE@
CATALOGS = @CATALOGS@
+POFILESDEPS_ = $(srcdir)/$(DOMAIN).pot
+POFILESDEPS_yes = $(POFILESDEPS_)
+POFILESDEPS_no =
+POFILESDEPS = $(POFILESDEPS_$(PO_DEPENDS_ON_POT))
+
+DISTFILESDEPS_ = update-po
+DISTFILESDEPS_yes = $(DISTFILESDEPS_)
+DISTFILESDEPS_no =
+DISTFILESDEPS = $(DISTFILESDEPS_$(DIST_DEPENDS_ON_UPDATE_PO))
+
# Makevars gets inserted here. (Don't remove this line!)
.SUFFIXES:
.po.gmo:
@lang=`echo $* | sed -e 's,.*/,,'`; \
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
- echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \
- cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo
+ echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \
+ cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo
.sin.sed:
sed -e '/^#/d' $< > t-$@
all-yes: stamp-po
all-no:
+# Ensure that the gettext macros and this Makefile.in.in are in sync.
+CHECK_MACRO_VERSION = \
+ test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \
+ || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \
+ exit 1; \
+ }
+
# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no
# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because
# we don't want to bother translators with empty POT files). We assume that
# $(POFILES) has been designed to not touch files that don't need to be
# changed.
stamp-po: $(srcdir)/$(DOMAIN).pot
+ @$(CHECK_MACRO_VERSION)
test ! -f $(srcdir)/$(DOMAIN).pot || \
test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
@test ! -f $(srcdir)/$(DOMAIN).pot || { \
# This target rebuilds $(DOMAIN).pot; it is an expensive operation.
# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
+# The determination of whether the package xyz is a GNU one is based on the
+# heuristic whether some file in the top level directory mentions "GNU xyz".
+# If GNU 'find' is available, we avoid grepping through monster files.
$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
+ package_gnu="$(PACKAGE_GNU)"; \
+ test -n "$$package_gnu" || { \
+ if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null; then \
+ LC_ALL=C find -L $(top_srcdir) -maxdepth 1 -type f \
+ -size -10000000c -exec grep 'GNU @PACKAGE@' \
+ /dev/null '{}' ';' 2>/dev/null; \
+ else \
+ LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null; \
+ fi; \
+ } | grep -v 'libtool:' >/dev/null; then \
+ package_gnu=yes; \
+ else \
+ package_gnu=no; \
+ fi; \
+ }; \
+ if test "$$package_gnu" = "yes"; then \
+ package_prefix='GNU '; \
+ else \
+ package_prefix=''; \
+ fi; \
if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \
msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \
else \
msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \
fi; \
- $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
- --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \
- --files-from=$(srcdir)/POTFILES.in \
- --copyright-holder='$(COPYRIGHT_HOLDER)' \
- --msgid-bugs-address="$$msgid_bugs_address"
+ case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \
+ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
+ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
+ --files-from=$(srcdir)/POTFILES.in \
+ --copyright-holder='$(COPYRIGHT_HOLDER)' \
+ --msgid-bugs-address="$$msgid_bugs_address" \
+ ;; \
+ *) \
+ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
+ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
+ --files-from=$(srcdir)/POTFILES.in \
+ --copyright-holder='$(COPYRIGHT_HOLDER)' \
+ --package-name="$${package_prefix}@PACKAGE@" \
+ --package-version='@VERSION@' \
+ --msgid-bugs-address="$$msgid_bugs_address" \
+ ;; \
+ esac
test ! -f $(DOMAIN).po || { \
if test -f $(srcdir)/$(DOMAIN).pot; then \
sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
# This target rebuilds a PO file if $(DOMAIN).pot has changed.
# Note that a PO file is not touched if it doesn't need to be changed.
-$(POFILES): $(srcdir)/$(DOMAIN).pot
+$(POFILES): $(POFILESDEPS)
@lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
if test -f "$(srcdir)/$${lang}.po"; then \
+ test -f $(srcdir)/$(DOMAIN).pot || $(MAKE) $(srcdir)/$(DOMAIN).pot; \
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
- echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \
- cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \
+ echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \
+ cd $(srcdir) \
+ && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
+ $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \
+ *) \
+ $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \
+ esac; \
+ }; \
else \
$(MAKE) $${lang}.po-create; \
fi
fi
install-data-no: all
install-data-yes: all
- $(mkdir_p) $(DESTDIR)$(datadir)
@catalogs='$(CATALOGS)'; \
for cat in $$catalogs; do \
cat=`basename $$cat`; \
fi
installdirs-data-no:
installdirs-data-yes:
- $(mkdir_p) $(DESTDIR)$(datadir)
@catalogs='$(CATALOGS)'; \
for cat in $$catalogs; do \
cat=`basename $$cat`; \
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
dist distdir:
- $(MAKE) update-po
+ test -z "$(DISTFILESDEPS)" || $(MAKE) $(DISTFILESDEPS)
@$(MAKE) dist2
# This is a separate target because 'update-po' must be executed before.
dist2: stamp-po $(DISTFILES)
tmpdir=`pwd`; \
echo "$$lang:"; \
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
- echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
+ echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
cd $(srcdir); \
- if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \
+ if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
+ $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+ *) \
+ $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+ esac; \
+ }; then \
if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
rm -f $$tmpdir/$$lang.new.po; \
else \
update-gmo: Makefile $(GMOFILES)
@:
+# Recreate Makefile by invoking config.status. Explicitly invoke the shell,
+# because execution permission bits may not work on the current file system.
+# Use @SHELL@, which is the shell determined by autoconf for the use by its
+# scripts, not $(SHELL) which is hardwired to /bin/sh and may be deficient.
Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@
cd $(top_builddir) \
- && $(SHELL) ./config.status $(subdir)/$@.in po-directories
+ && @SHELL@ ./config.status $(subdir)/$@.in po-directories
force:
top_builddir = ..
# These options get passed to xgettext.
-XGETTEXT_OPTIONS = --keyword=_ --keyword=N_
+XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ --no-wrap
# This is the copyright holder that gets inserted into the header of the
# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
# their copyright.
COPYRIGHT_HOLDER = Kevin Atkinson
+# This tells whether or not to prepend "GNU " prefix to the package
+# name that gets inserted into the header of the $(DOMAIN).pot file.
+# Possible values are "yes", "no", or empty. If it is empty, try to
+# detect it automatically by scanning the files in $(top_srcdir) for
+# "GNU packagename" string.
+PACKAGE_GNU = no
+
# This is the email address or URL to which the translators shall report
# bugs in the untranslated strings:
# - Strings which are not entire sentences, see the maintainer guidelines
# This is the list of locale categories, beyond LC_MESSAGES, for which the
# message catalogs shall be used. It is usually empty.
EXTRA_LOCALE_CATEGORIES =
+
+# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt'
+# context. Possible values are "yes" and "no". Set this to yes if the
+# package uses functions taking also a message context, like pgettext(), or
+# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument.
+USE_MSGCTXT = no
+
+# These options get passed to msgmerge.
+# Useful options are in particular:
+# --previous to keep previous msgids of translated messages,
+# --quiet to reduce the verbosity.
+MSGMERGE_OPTIONS = --no-wrap --previous
+
+# These options get passed to msginit.
+# If you want to disable line wrapping when writing PO files, add
+# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and
+# MSGINIT_OPTIONS.
+MSGINIT_OPTIONS = --no-wrap
+
+# This tells whether or not to regenerate a PO file when $(DOMAIN).pot
+# has changed. Possible values are "yes" and "no". Set this to no if
+# the POT file is checked in the repository and the version control
+# program ignores timestamps.
+PO_DEPENDS_ON_POT = no
+
+# This tells whether or not to forcibly update $(DOMAIN).pot and
+# regenerate PO files on "make dist". Possible values are "yes" and
+# "no". Set this to no if the POT file and PO files are maintained
+# externally.
+DIST_DEPENDS_ON_UPDATE_PO = yes
+# This file, Rules-quot, can be copied and used freely without restrictions.
# Special Makefile rules for English message catalogs with quotation marks.
DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot
.insert-header.po-update-en:
@lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \
- if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \
+ if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \
tmpdir=`pwd`; \
echo "$$lang:"; \
ll=`echo $$lang | sed -e 's/@.*//'`; \
LC_ALL=C; export LC_ALL; \
cd $(srcdir); \
- if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \
+ if $(MSGINIT) $(MSGINIT_OPTIONS) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null \
+ | $(SED) -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | \
+ { case `$(MSGFILTER) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-8] | 0.1[0-8].*) \
+ $(MSGFILTER) $(SED) -f `echo $$lang | sed -e 's/.*@//'`.sed \
+ ;; \
+ *) \
+ $(MSGFILTER) `echo $$lang | sed -e 's/.*@//'` \
+ ;; \
+ esac } 2>/dev/null > $$tmpdir/$$lang.new.po \
+ ; then \
if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
rm -f $$tmpdir/$$lang.new.po; \
else \
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: aspell 0.60.7\n"
"Report-Msgid-Bugs-To: kevina@gnu.org\n"
-"POT-Creation-Date: 2011-07-04 03:25-0600\n"
+"POT-Creation-Date: 2019-07-29 02:38-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "ASPELL_CONF env var"
msgstr ""
-#. TRANSLATORS: The remaing strings in config.cpp should be kept
+#. TRANSLATORS: The remaining strings in config.cpp should be kept
#. under 50 characters, begin with a lower case character and not
#. include any trailing punctuation marks.
#: common/config.cpp:1360
msgid "time load time and suggest time in pipe mode"
msgstr ""
-#: common/convert.cpp:303 common/convert.cpp:429
+#: common/convert.cpp:303 common/convert.cpp:497
#, c-format
-msgid ""
-"This could also mean that the file \"%s\" could not be opened for reading or "
-"does not exist."
+msgid "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
msgstr ""
-#: common/convert.cpp:552 common/convert.cpp:659 common/convert.cpp:705
+#: common/convert.cpp:582 common/convert.cpp:689 common/convert.cpp:735
#, c-format
msgid "The Unicode code point U+%04X is unsupported."
msgstr ""
-#: common/convert.cpp:829
+#: common/convert.cpp:859
#, c-format
msgid "Invalid UTF-8 sequence at position %ld."
msgstr ""
msgstr ""
#: common/errors.cpp:147
-msgid ""
-"The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%"
-"key:1\"."
+msgid "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
msgstr ""
#: common/errors.cpp:163
msgstr ""
#: common/errors.cpp:195
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"reset-"
-"\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
msgstr ""
#: common/errors.cpp:203
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by an \"enable-"
-"\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by an \"enable-\"."
msgstr ""
#: common/errors.cpp:211
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" "
-"or \"disable-\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
msgstr ""
#: common/errors.cpp:219
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"clear-"
-"\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
msgstr ""
#: common/errors.cpp:235
#: common/errors.cpp:299
#, c-format
-msgid ""
-"The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be "
-"stripped."
+msgid "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
msgstr ""
#: common/errors.cpp:307
#, c-format
-msgid ""
-"The file \"%file:1\" is not in the proper format. Expected the file to be in "
-"\"%exp:2\" not \"%got:3\"."
+msgid "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
msgstr ""
#: common/errors.cpp:323
msgstr ""
#: common/errors.cpp:675
-msgid ""
-"\"%mode:1\": Magic \"%magic:2\": bad regular expression after location "
-"specifier; regexp reports: \"%regerr:3\"."
+msgid "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
msgstr ""
#: common/errors.cpp:691
msgid "Unhandled Error: "
msgstr ""
-#: prog/aspell.cpp:97
+#: prog/aspell.cpp:98
#, c-format
msgid "Error: %s\n"
msgstr ""
-#: prog/aspell.cpp:102
+#: prog/aspell.cpp:103
msgid "Error: "
msgstr ""
-#: prog/aspell.cpp:203
+#: prog/aspell.cpp:204
msgid "enter Email mode."
msgstr ""
-#: prog/aspell.cpp:204
+#: prog/aspell.cpp:205
msgid "enter HTML mode."
msgstr ""
-#: prog/aspell.cpp:205
+#: prog/aspell.cpp:206
msgid "enter TeX mode."
msgstr ""
-#: prog/aspell.cpp:206
+#: prog/aspell.cpp:207
msgid "enter Nroff mode."
msgstr ""
-#: prog/aspell.cpp:312
+#: prog/aspell.cpp:313
#, c-format
msgid "Invalid Option: %s"
msgstr ""
-#: prog/aspell.cpp:319
+#: prog/aspell.cpp:320
msgid " does not take any parameters."
msgstr ""
-#: prog/aspell.cpp:332 prog/aspell.cpp:392
+#: prog/aspell.cpp:333 prog/aspell.cpp:393
#, c-format
msgid "You must specify a parameter for \"%s\"."
msgstr ""
-#: prog/aspell.cpp:381
+#: prog/aspell.cpp:382
msgid "You must specify an action"
msgstr ""
-#: prog/aspell.cpp:389 prog/aspell.cpp:452 prog/aspell.cpp:474
+#: prog/aspell.cpp:390 prog/aspell.cpp:453 prog/aspell.cpp:475
#, c-format
msgid "Unknown Action: %s"
msgstr ""
-#: prog/aspell.cpp:395
+#: prog/aspell.cpp:396
#, c-format
msgid "Error: You must specify at least %d parameters for \"%s\".\n"
msgstr ""
-#: prog/aspell.cpp:637
+#: prog/aspell.cpp:638
msgid "Invalid Input"
msgstr ""
-#: prog/aspell.cpp:710
+#: prog/aspell.cpp:711
#, c-format
msgid "WARNING: Unable to enter Nroff mode: %s\n"
msgstr ""
-#: prog/aspell.cpp:731
+#: prog/aspell.cpp:732
msgid "Time to load word list: "
msgstr ""
-#: prog/aspell.cpp:929
+#: prog/aspell.cpp:930
#, c-format
msgid "Suggestion Time: %f\n"
msgstr ""
-#: prog/aspell.cpp:972
+#: prog/aspell.cpp:973
msgid "You must specify a file name."
msgstr ""
-#: prog/aspell.cpp:975
+#: prog/aspell.cpp:976
msgid "Only one file name may be specified."
msgstr ""
-#: prog/aspell.cpp:985
+#: prog/aspell.cpp:986
#, c-format
msgid "Could not open the file \"%s\" for reading"
msgstr ""
-#: prog/aspell.cpp:998
+#: prog/aspell.cpp:999
#, c-format
msgid "Invalid keymapping: %s"
msgstr ""
-#: prog/aspell.cpp:1020
+#: prog/aspell.cpp:1014
+#, c-format
+msgid "\"%s\" is not a regular file"
+msgstr ""
+
+#: prog/aspell.cpp:1025
#, c-format
msgid "Could not open the file \"%s\" for writing. File not saved."
msgstr ""
-#: prog/aspell.cpp:1033
+#: prog/aspell.cpp:1038
msgid "Ignore"
msgstr ""
-#: prog/aspell.cpp:1034
+#: prog/aspell.cpp:1039
msgid "Ignore all"
msgstr ""
-#: prog/aspell.cpp:1035
+#: prog/aspell.cpp:1040
msgid "Replace"
msgstr ""
-#: prog/aspell.cpp:1036
+#: prog/aspell.cpp:1041
msgid "Replace all"
msgstr ""
-#: prog/aspell.cpp:1037
+#: prog/aspell.cpp:1042
msgid "Add"
msgstr ""
-#: prog/aspell.cpp:1038
+#: prog/aspell.cpp:1043
msgid "Add Lower"
msgstr ""
-#: prog/aspell.cpp:1039
+#: prog/aspell.cpp:1044
msgid "Abort"
msgstr ""
-#: prog/aspell.cpp:1040
+#: prog/aspell.cpp:1045
msgid "Exit"
msgstr ""
-#: prog/aspell.cpp:1116
+#: prog/aspell.cpp:1121
msgid "Are you sure you want to abort (y/n)? "
msgstr ""
#. TRANSLATORS: The user may input any of these characters to say "yes".
#. MUST ONLY CONSIST OF ASCII CHARACTERS.
-#: prog/aspell.cpp:1120
+#: prog/aspell.cpp:1125
msgid "Yy"
msgstr ""
-#: prog/aspell.cpp:1148
+#: prog/aspell.cpp:1153
msgid "With: "
msgstr ""
-#: prog/aspell.cpp:1165
+#: prog/aspell.cpp:1170
msgid "Sorry that is an invalid choice!"
msgstr ""
-#: prog/aspell.cpp:1386
+#: prog/aspell.cpp:1391
msgid "Sorry \"filter\" is currently unimplemented.\n"
msgstr ""
-#: prog/aspell.cpp:1520
+#: prog/aspell.cpp:1525
msgid "Can't merge a master word list yet. Sorry."
msgstr ""
-#: prog/aspell.cpp:1544
+#: prog/aspell.cpp:1549
msgid "Sorry \"create/merge personal\" is currently unimplemented.\n"
msgstr ""
-#: prog/aspell.cpp:1553 prog/aspell.cpp:1609
+#: prog/aspell.cpp:1558 prog/aspell.cpp:1614
#, c-format
msgid "Sorry I won't overwrite \"%s\""
msgstr ""
-#: prog/aspell.cpp:1600
+#: prog/aspell.cpp:1605
msgid "Sorry \"create/merge repl\" is currently unimplemented.\n"
msgstr ""
-#: prog/aspell.cpp:1872
+#: prog/aspell.cpp:1877
#, c-format
msgid "\"%s\" is not a valid flag for the \"munch-list\" command."
msgstr ""
#. TRANSLATORS: These should all be formated to fit in 80 column or
#. less
-#: prog/aspell.cpp:2799
+#: prog/aspell.cpp:2804
msgid "Usage: aspell [options] <command>"
msgstr ""
-#: prog/aspell.cpp:2800
+#: prog/aspell.cpp:2805
msgid "<command> is one of:"
msgstr ""
-#: prog/aspell.cpp:2801
+#: prog/aspell.cpp:2806
msgid " -?|usage display a brief usage message"
msgstr ""
-#: prog/aspell.cpp:2802
+#: prog/aspell.cpp:2807
msgid " help display a detailed help message"
msgstr ""
-#: prog/aspell.cpp:2803
+#: prog/aspell.cpp:2808
msgid " -c|check <file> to check a file"
msgstr ""
-#: prog/aspell.cpp:2804
+#: prog/aspell.cpp:2809
msgid " -a|pipe \"ispell -a\" compatibility mode"
msgstr ""
-#: prog/aspell.cpp:2805
+#: prog/aspell.cpp:2810
msgid " [dump] config dumps the current configuration to stdout"
msgstr ""
-#: prog/aspell.cpp:2806
+#: prog/aspell.cpp:2811
msgid " config <key> prints the current value of an option"
msgstr ""
-#: prog/aspell.cpp:2807
+#: prog/aspell.cpp:2812
msgid " [dump] dicts | filters | modes"
msgstr ""
-#: prog/aspell.cpp:2808
+#: prog/aspell.cpp:2813
msgid " lists available dictionaries / filters / filter modes"
msgstr ""
-#: prog/aspell.cpp:2809
+#: prog/aspell.cpp:2814
msgid "[options] is any of the following:"
msgstr ""
-#: prog/aspell.cpp:2822
-msgid ""
-" list produce a list of misspelled words from standard input"
+#: prog/aspell.cpp:2827
+msgid " list produce a list of misspelled words from standard input"
msgstr ""
-#: prog/aspell.cpp:2825
-msgid ""
-" soundslike returns the sounds like equivalent for each word entered"
+#: prog/aspell.cpp:2830
+msgid " soundslike returns the sounds like equivalent for each word entered"
msgstr ""
-#: prog/aspell.cpp:2826
+#: prog/aspell.cpp:2831
msgid " munch generate possible root words and affixes"
msgstr ""
-#: prog/aspell.cpp:2827
+#: prog/aspell.cpp:2832
msgid " expand [1-4] expands affix flags"
msgstr ""
-#: prog/aspell.cpp:2828
-msgid ""
-" clean [strict] cleans a word list so that every line is a valid word"
+#: prog/aspell.cpp:2833
+msgid " clean [strict] cleans a word list so that every line is a valid word"
msgstr ""
-#: prog/aspell.cpp:2830
+#: prog/aspell.cpp:2835
msgid " -v|version prints a version line"
msgstr ""
-#: prog/aspell.cpp:2831
+#: prog/aspell.cpp:2836
msgid " munch-list [simple] [single|multi] [keep]"
msgstr ""
-#: prog/aspell.cpp:2832
+#: prog/aspell.cpp:2837
msgid " reduce the size of a word list via affix compression"
msgstr ""
-#: prog/aspell.cpp:2833
+#: prog/aspell.cpp:2838
msgid " conv <from> <to> [<norm-form>]"
msgstr ""
-#: prog/aspell.cpp:2834
+#: prog/aspell.cpp:2839
msgid " converts from one encoding to another"
msgstr ""
-#: prog/aspell.cpp:2835
+#: prog/aspell.cpp:2840
msgid " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
msgstr ""
-#: prog/aspell.cpp:2836
+#: prog/aspell.cpp:2841
msgid " perform Unicode normalization"
msgstr ""
-#: prog/aspell.cpp:2839
+#: prog/aspell.cpp:2844
msgid " dump|create|merge master|personal|repl [<name>]"
msgstr ""
-#: prog/aspell.cpp:2840
-msgid ""
-" dumps, creates or merges a master, personal, or replacement dictionary."
+#: prog/aspell.cpp:2845
+msgid " dumps, creates or merges a master, personal, or replacement dictionary."
msgstr ""
#. TRANSLATORS: "none", "internal" and "strict" are literal values
#. and should not be translated.
-#: prog/aspell.cpp:2844
-msgid ""
-" <norm-form> normalization form to use, either none, internal, or "
-"strict"
+#: prog/aspell.cpp:2849
+msgid " <norm-form> normalization form to use, either none, internal, or strict"
msgstr ""
-#: prog/aspell.cpp:2854
+#: prog/aspell.cpp:2859
#, c-format
msgid ""
"\n"
"\n"
msgstr ""
-#: prog/aspell.cpp:2888
+#: prog/aspell.cpp:2893
msgid ""
"Available Dictionaries:\n"
" Dictionaries can be selected directly via the \"-d\" or \"master\"\n"
" \"variety\", and \"size\" options.\n"
msgstr ""
-#: prog/aspell.cpp:2909
+#: prog/aspell.cpp:2914
msgid ""
"Available Filters (and associated options):\n"
" Filters can be added or removed via the \"filter\" option.\n"
msgstr ""
-#: prog/aspell.cpp:2916
+#: prog/aspell.cpp:2921
#, c-format
msgid ""
"\n"
msgstr ""
#. TRANSLATORS: This should be formated to fit in 80 column or less
-#: prog/aspell.cpp:2933
+#: prog/aspell.cpp:2938
msgid ""
"Available Filter Modes:\n"
" Filter Modes are reconfigured combinations of filters optimized for\n"
#: modules/speller/default/language.cpp:494
#: modules/speller/default/language.cpp:503
#, c-format
-msgid ""
-"The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgid "The character '%s' (U+%02X) must be followed by an alphabetic character."
msgstr ""
#: modules/speller/default/language.cpp:496
msgstr ""
#: modules/speller/default/language.cpp:508
-msgid ""
-"The character '\\r' (U+0D) may not appear at the end of a word. This "
-"probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgid "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
msgstr ""
#: modules/speller/default/language.cpp:511
msgid "Warning: Removing inapplicable affix '%s' from word %s.\n"
msgstr ""
-#: modules/speller/default/language.cpp:674
+#: modules/speller/default/language.cpp:675
#, c-format
msgid "Warning: %s Skipping string.\n"
msgstr ""
-#: modules/speller/default/language.cpp:732
+#: modules/speller/default/language.cpp:733
msgid "The total length is larger than 240 characters."
msgstr ""
-#: modules/speller/default/language.cpp:736
+#: modules/speller/default/language.cpp:737
#, c-format
msgid "Warning: %s Skipping word.\n"
msgstr ""
msgstr ""
#: modules/speller/default/readonly_ws.cpp:362
+msgid "Incompatible hash function."
+msgstr ""
+
+#: modules/speller/default/readonly_ws.cpp:440
msgid "Wrong endian order."
msgstr ""
-#: modules/speller/default/readonly_ws.cpp:385
+#: modules/speller/default/readonly_ws.cpp:463
msgid "Wrong soundslike."
msgstr ""
-#: modules/speller/default/readonly_ws.cpp:391
+#: modules/speller/default/readonly_ws.cpp:469
msgid "Wrong soundslike version."
msgstr ""
-#: modules/speller/default/readonly_ws.cpp:853
+#: modules/speller/default/readonly_ws.cpp:934
msgid "Affix flags found in word but no affix file given."
msgstr ""
-#: modules/speller/default/readonly_ws.cpp:891
-msgid ""
-"The total word length, with soundslike data, is larger than 240 characters."
+#: modules/speller/default/readonly_ws.cpp:972
+msgid "The total word length, with soundslike data, is larger than 240 characters."
msgstr ""
#: modules/speller/default/multi_ws.cpp:58
msgid "HTML tags to always skip the contents of"
msgstr ""
+#: modules/filter/markdown-filter.info:8
+msgid "filter for Markdown/CommonMark documents"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
+msgstr ""
+
#: modules/filter/nroff-filter.info:7
msgid "filter for dealing with Nroff documents"
msgstr ""
msgid "mode for checking HTML documents"
msgstr ""
+#: modules/filter/modes/markdown.amf:10
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr ""
+
#: modules/filter/modes/none.amf:5
msgid "mode to disable all filters"
msgstr ""
msgstr ""
"Project-Id-Version: aspell 0.60.6\n"
"Report-Msgid-Bugs-To: kevina@gnu.org\n"
-"POT-Creation-Date: 2011-07-04 03:25-0600\n"
+"POT-Creation-Date: 2019-07-29 02:38-0400\n"
"PO-Revision-Date: 2010-02-28 22:09+0200\n"
"Last-Translator: Marquinos <maacub@gmail.com>\n"
"Language-Team: Asturian <ubuntu-l10n-ast@lists.ubuntu.com>\n"
+"Language: ast\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: ast\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
"X-Generator: Virtaal 0.3.1\n"
#: common/info.cpp:232
msgid "ASPELL_CONF env var"
msgstr "variable d'entornu ASPELL_CONF"
-#. TRANSLATORS: The remaing strings in config.cpp should be kept
+#. TRANSLATORS: The remaining strings in config.cpp should be kept
#. under 50 characters, begin with a lower case character and not
#. include any trailing punctuation marks.
#: common/config.cpp:1360
#. translated.
#: common/config.cpp:1451
msgid "edit distance to use, override sug-mode default"
-msgstr ""
-"distancia d'edición a usar, nun se tien en cuenta el sug-mode por defeutu"
+msgstr "distancia d'edición a usar, nun se tien en cuenta el sug-mode por defeutu"
#: common/config.cpp:1453
msgid "use typo analysis, override sug-mode default"
-msgstr ""
-"usar l'análisis d'errores ortrográficos, nun se tien en cuenta el sug-mode "
-"por defeutu"
+msgstr "usar l'análisis d'errores ortrográficos, nun se tien en cuenta el sug-mode por defeutu"
#: common/config.cpp:1455
msgid "use replacement tables, override sug-mode default"
#: common/config.cpp:1500
msgid "use byte offsets instead of character offsets"
-msgstr ""
-"usar desplazamientos de byte en cuenta de desplazamientos de caráuteres"
+msgstr "usar desplazamientos de byte en cuenta de desplazamientos de caráuteres"
#: common/config.cpp:1502
msgid "create missing root/affix combinations"
msgid "time load time and suggest time in pipe mode"
msgstr "tiempu de carga y de suxerencia nel mou pipe"
-#: common/convert.cpp:303 common/convert.cpp:429
+#: common/convert.cpp:303 common/convert.cpp:497
#, c-format
-msgid ""
-"This could also mean that the file \"%s\" could not be opened for reading or "
-"does not exist."
-msgstr ""
-"Esto tamién podría significar que'l ficheru «%s» nun se pudo abrir pa lleelu "
-"o que nun esiste."
+msgid "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
+msgstr "Esto tamién podría significar que'l ficheru «%s» nun se pudo abrir pa lleelu o que nun esiste."
-#: common/convert.cpp:552 common/convert.cpp:659 common/convert.cpp:705
+#: common/convert.cpp:582 common/convert.cpp:689 common/convert.cpp:735
#, c-format
msgid "The Unicode code point U+%04X is unsupported."
msgstr "El códigu Unicode U+%04X nun ta soportáu."
-#: common/convert.cpp:829
-#, c-format
+#: common/convert.cpp:859
+#, fuzzy, c-format
+#| msgid "Invalid UTF-8 sequence at position %d."
msgid "Invalid UTF-8 sequence at position %ld."
-msgstr "Secuencia UTF-8 non válida nel allugamientu %ld."
+msgstr "Secuencia UTF-8 non válida nel allugamientu %d."
#: common/errors.cpp:27
msgid "Operation Not Supported: %what:1"
msgstr "La clave «%key:1» nun ye %accepted:2 y, poro, nun ye válida."
#: common/errors.cpp:147
-msgid ""
-"The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%"
-"key:1\"."
-msgstr ""
-"El valor «%value:2» nun ye %accepted:3 y, poro, nun ye válidu pa la clave «%"
-"key:1»."
+msgid "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
+msgstr "El valor «%value:2» nun ye %accepted:3 y, poro, nun ye válidu pa la clave «%key:1»."
#: common/errors.cpp:163
msgid "The key \"%key:1\" is not a string."
msgstr "La clave «%key:1» nun ye una llista."
#: common/errors.cpp:195
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"reset-"
-"\"."
-msgstr ""
-"La clave «%key:1» nun almite parámetros cuando lleva'l prefixu «reset-»."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
+msgstr "La clave «%key:1» nun almite parámetros cuando lleva'l prefixu «reset-»."
#: common/errors.cpp:203
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by an \"enable-"
-"\"."
-msgstr ""
-"La clave «%key:1» nun almite parámetros cuando lleva'l prefixu «enable-»."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by an \"enable-\"."
+msgstr "La clave «%key:1» nun almite parámetros cuando lleva'l prefixu «enable-»."
#: common/errors.cpp:211
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" "
-"or \"disable-\"."
-msgstr ""
-"La clave «%key:1» nun almite parámetros cuando lleva'l prefixu «dont-» nin "
-"«disable-»."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
+msgstr "La clave «%key:1» nun almite parámetros cuando lleva'l prefixu «dont-» nin «disable-»."
#: common/errors.cpp:219
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"clear-"
-"\"."
-msgstr ""
-"La clave «%key:1» nun almite parámetros cuando lleva'l prefixu «clear-»."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
+msgstr "La clave «%key:1» nun almite parámetros cuando lleva'l prefixu «clear-»."
#: common/errors.cpp:235
#, c-format
#: common/errors.cpp:299
#, c-format
-msgid ""
-"The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be "
-"stripped."
-msgstr ""
-"La condición «%cond:1» nun garantiza que se puea obtener siempre «%strip:2»."
+msgid "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
+msgstr "La condición «%cond:1» nun garantiza que se puea obtener siempre «%strip:2»."
#: common/errors.cpp:307
#, c-format
-msgid ""
-"The file \"%file:1\" is not in the proper format. Expected the file to be in "
-"\"%exp:2\" not \"%got:3\"."
-msgstr ""
-"El ficheru «%file:1» nun tien el formatu afechiscu. Esperábase que'l ficheru "
-"tuviera en «%exp:2» en cuenta d'en «%got:3»."
+msgid "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
+msgstr "El ficheru «%file:1» nun tien el formatu afechiscu. Esperábase que'l ficheru tuviera en «%exp:2» en cuenta d'en «%got:3»."
#: common/errors.cpp:323
#, c-format
#: common/errors.cpp:403
msgid "The affix flag '%aff:1' can not be applied to word \"%word:2\"."
-msgstr ""
-"La marca d'afixu «%aff:1» nun pue ser aplicada a la pallabra «%word:2»."
+msgstr "La marca d'afixu «%aff:1» nun pue ser aplicada a la pallabra «%word:2»."
#: common/errors.cpp:451
msgid "not a version number"
#: common/errors.cpp:651
#, c-format
msgid "\"%mode:1\": no start for magic search given for magic \"%magic:2\"."
-msgstr ""
-"«%mode:1»: nun s'afitó l'aniciu pa la busca máxica col «%magic:2» máxicu."
+msgstr "«%mode:1»: nun s'afitó l'aniciu pa la busca máxica col «%magic:2» máxicu."
#: common/errors.cpp:659
#, c-format
msgid "\"%mode:1\": no range for magic search given for magic \"%magic:2\"."
-msgstr ""
-"«%mode:1»: nun s'afitó'l rangu pa la busca máxica col «%magic:2» máxicu."
+msgstr "«%mode:1»: nun s'afitó'l rangu pa la busca máxica col «%magic:2» máxicu."
#: common/errors.cpp:667
#, c-format
msgid "\"%mode:1\": no magic expression available for magic \"%magic:2\"."
-msgstr ""
-"«%mode:1»: nun hai disponible espresión máxica dala pal «%magic:2» máxicu."
+msgstr "«%mode:1»: nun hai disponible espresión máxica dala pal «%magic:2» máxicu."
#: common/errors.cpp:675
-msgid ""
-"\"%mode:1\": Magic \"%magic:2\": bad regular expression after location "
-"specifier; regexp reports: \"%regerr:3\"."
-msgstr ""
-"«%mode:1»: «%magic:2» máxicu: espresión regular incorreuta depués del "
-"especificador d'allugamientu; regexp informa: «%regerr:3»."
+msgid "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
+msgstr "«%mode:1»: «%magic:2» máxicu: espresión regular incorreuta depués del especificador d'allugamientu; regexp informa: «%regerr:3»."
#: common/errors.cpp:691
#, c-format
msgid "Unhandled Error: "
msgstr "Fallu non esperáu:"
-#: prog/aspell.cpp:97
+#: prog/aspell.cpp:98
#, c-format
msgid "Error: %s\n"
msgstr "Fallu: %s\n"
-#: prog/aspell.cpp:102
+#: prog/aspell.cpp:103
msgid "Error: "
msgstr "Fallu:"
-#: prog/aspell.cpp:203
+#: prog/aspell.cpp:204
msgid "enter Email mode."
msgstr "entrar nel mou Email."
-#: prog/aspell.cpp:204
+#: prog/aspell.cpp:205
msgid "enter HTML mode."
msgstr "entrar nel mou HTML."
-#: prog/aspell.cpp:205
+#: prog/aspell.cpp:206
msgid "enter TeX mode."
msgstr "entrar nel mou TeX."
-#: prog/aspell.cpp:206
+#: prog/aspell.cpp:207
msgid "enter Nroff mode."
msgstr "entrar nel mou Nroff."
-#: prog/aspell.cpp:312
+#: prog/aspell.cpp:313
#, c-format
msgid "Invalid Option: %s"
msgstr "Opción non válida: %s"
-#: prog/aspell.cpp:319
+#: prog/aspell.cpp:320
msgid " does not take any parameters."
msgstr " nun almite parámetru dalu."
-#: prog/aspell.cpp:332 prog/aspell.cpp:392
+#: prog/aspell.cpp:333 prog/aspell.cpp:393
#, c-format
msgid "You must specify a parameter for \"%s\"."
msgstr "Has especificar un parámetru pa «%s»."
-#: prog/aspell.cpp:381
+#: prog/aspell.cpp:382
msgid "You must specify an action"
msgstr "Has especificar una aición"
-#: prog/aspell.cpp:389 prog/aspell.cpp:452 prog/aspell.cpp:474
+#: prog/aspell.cpp:390 prog/aspell.cpp:453 prog/aspell.cpp:475
#, c-format
msgid "Unknown Action: %s"
msgstr "Aición desconocida: %s"
-#: prog/aspell.cpp:395
+#: prog/aspell.cpp:396
#, c-format
msgid "Error: You must specify at least %d parameters for \"%s\".\n"
msgstr "Fallu: Has especificar a lo menos %d parámetros pa «%s».\n"
-#: prog/aspell.cpp:637
+#: prog/aspell.cpp:638
msgid "Invalid Input"
msgstr "Entrada non válida"
-#: prog/aspell.cpp:710
+#: prog/aspell.cpp:711
#, c-format
msgid "WARNING: Unable to enter Nroff mode: %s\n"
msgstr "AVISU: Nun se pue entrar nel mou Nroff: %s\n"
-#: prog/aspell.cpp:731
+#: prog/aspell.cpp:732
msgid "Time to load word list: "
msgstr "Tiempu pa cargar el pallabreru:"
-#: prog/aspell.cpp:929
+#: prog/aspell.cpp:930
#, c-format
msgid "Suggestion Time: %f\n"
msgstr "Tiempu de suxerencies: %f\n"
-#: prog/aspell.cpp:972
+#: prog/aspell.cpp:973
msgid "You must specify a file name."
msgstr "Has especificar un nome de ficheru."
-#: prog/aspell.cpp:975
+#: prog/aspell.cpp:976
msgid "Only one file name may be specified."
msgstr "Namái se pue especificar un nome de ficheru."
-#: prog/aspell.cpp:985
+#: prog/aspell.cpp:986
#, c-format
msgid "Could not open the file \"%s\" for reading"
msgstr "Nun se pudo abrir el ficheru «%s» pa lleelu"
-#: prog/aspell.cpp:998
+#: prog/aspell.cpp:999
#, c-format
msgid "Invalid keymapping: %s"
msgstr "Mapa de tecláu non válidu: %s"
-#: prog/aspell.cpp:1020
+#: prog/aspell.cpp:1014
+#, fuzzy, c-format
+#| msgid "\"%expression:1\" is not a valid regular expression."
+msgid "\"%s\" is not a regular file"
+msgstr "«%expression:1» nun ye una espresión regular válida."
+
+#: prog/aspell.cpp:1025
#, c-format
msgid "Could not open the file \"%s\" for writing. File not saved."
-msgstr ""
-"Nun se pudo abrir el ficheru «%s» pa escribilu. El ficheru nun quedó guardáu."
+msgstr "Nun se pudo abrir el ficheru «%s» pa escribilu. El ficheru nun quedó guardáu."
-#: prog/aspell.cpp:1033
+#: prog/aspell.cpp:1038
msgid "Ignore"
msgstr "Inorar"
-#: prog/aspell.cpp:1034
+#: prog/aspell.cpp:1039
msgid "Ignore all"
msgstr "Inorar too"
-#: prog/aspell.cpp:1035
+#: prog/aspell.cpp:1040
msgid "Replace"
msgstr "Trocar"
-#: prog/aspell.cpp:1036
+#: prog/aspell.cpp:1041
msgid "Replace all"
msgstr "Trocar too"
-#: prog/aspell.cpp:1037
+#: prog/aspell.cpp:1042
msgid "Add"
msgstr "Amestar"
-#: prog/aspell.cpp:1038
+#: prog/aspell.cpp:1043
msgid "Add Lower"
msgstr "Amestar en minúscules"
-#: prog/aspell.cpp:1039
+#: prog/aspell.cpp:1044
msgid "Abort"
msgstr "Encaboxar"
-#: prog/aspell.cpp:1040
+#: prog/aspell.cpp:1045
msgid "Exit"
msgstr "Colar"
-#: prog/aspell.cpp:1116
+#: prog/aspell.cpp:1121
msgid "Are you sure you want to abort (y/n)? "
msgstr "¿Tas seguru de que quies encaboxar (s/n)?"
#. TRANSLATORS: The user may input any of these characters to say "yes".
#. MUST ONLY CONSIST OF ASCII CHARACTERS.
-#: prog/aspell.cpp:1120
+#: prog/aspell.cpp:1125
msgid "Yy"
msgstr "SsYy"
-#: prog/aspell.cpp:1148
+#: prog/aspell.cpp:1153
msgid "With: "
msgstr "Con:"
-#: prog/aspell.cpp:1165
+#: prog/aspell.cpp:1170
msgid "Sorry that is an invalid choice!"
msgstr "¡Sentímoslo, esa ye una escoyeta non válida!"
-#: prog/aspell.cpp:1386
+#: prog/aspell.cpp:1391
msgid "Sorry \"filter\" is currently unimplemented.\n"
msgstr "Sentímoslo, anguaño «filter» nun ta implementáu.\n"
-#: prog/aspell.cpp:1520
+#: prog/aspell.cpp:1525
msgid "Can't merge a master word list yet. Sorry."
msgstr "Sentímoslo, tovía nun se pue entemecer un pallabreru principal."
-#: prog/aspell.cpp:1544
+#: prog/aspell.cpp:1549
msgid "Sorry \"create/merge personal\" is currently unimplemented.\n"
msgstr "Sentímoslo, anguaño «create/merge personal» nun ta implementáu.\n"
-#: prog/aspell.cpp:1553 prog/aspell.cpp:1609
+#: prog/aspell.cpp:1558 prog/aspell.cpp:1614
#, c-format
msgid "Sorry I won't overwrite \"%s\""
msgstr "Sentímoslo, nun se va sobreescribir «%s»"
-#: prog/aspell.cpp:1600
+#: prog/aspell.cpp:1605
msgid "Sorry \"create/merge repl\" is currently unimplemented.\n"
msgstr "Sentímoslo, anguaño «create/merge repl» nun ta implementáu.\n"
-#: prog/aspell.cpp:1872
+#: prog/aspell.cpp:1877
#, c-format
msgid "\"%s\" is not a valid flag for the \"munch-list\" command."
msgstr "«%s» nun ye una marca válida pal comandu «munch-list»."
#. TRANSLATORS: These should all be formated to fit in 80 column or
#. less
-#: prog/aspell.cpp:2799
+#: prog/aspell.cpp:2804
msgid "Usage: aspell [options] <command>"
msgstr "Usu: aspell [opciones] <comandu>"
-#: prog/aspell.cpp:2800
+#: prog/aspell.cpp:2805
msgid "<command> is one of:"
msgstr "<comandu> ye ún de los siguientes:"
-#: prog/aspell.cpp:2801
+#: prog/aspell.cpp:2806
msgid " -?|usage display a brief usage message"
msgstr " -?|usage amuesa un mensax d'usu breve"
-#: prog/aspell.cpp:2802
+#: prog/aspell.cpp:2807
msgid " help display a detailed help message"
msgstr " help amuesa un mensax d'aida detalláu"
-#: prog/aspell.cpp:2803
+#: prog/aspell.cpp:2808
msgid " -c|check <file> to check a file"
msgstr " -c|check <ficheru> pa comprobar un ficheru"
-#: prog/aspell.cpp:2804
+#: prog/aspell.cpp:2809
msgid " -a|pipe \"ispell -a\" compatibility mode"
msgstr " -a|pipe mou de compatibilidá con «ispell -a»"
-#: prog/aspell.cpp:2805
+#: prog/aspell.cpp:2810
msgid " [dump] config dumps the current configuration to stdout"
msgstr " [dump] config vuelca la configuración actual al stdout"
-#: prog/aspell.cpp:2806
+#: prog/aspell.cpp:2811
msgid " config <key> prints the current value of an option"
msgstr " config <clave> amuesa el valor actual d'una opción"
-#: prog/aspell.cpp:2807
+#: prog/aspell.cpp:2812
msgid " [dump] dicts | filters | modes"
msgstr " [dump] dicts | filters | modes"
-#: prog/aspell.cpp:2808
+#: prog/aspell.cpp:2813
msgid " lists available dictionaries / filters / filter modes"
msgstr " llista los diccionarios / filtros / moos disponibles"
-#: prog/aspell.cpp:2809
+#: prog/aspell.cpp:2814
msgid "[options] is any of the following:"
msgstr "[options] ye una de les siguientes:"
-#: prog/aspell.cpp:2822
-msgid ""
-" list produce a list of misspelled words from standard input"
-msgstr ""
-" list xenera una llista de pallabres mal escrites dende la "
-"entrada estándar"
+#: prog/aspell.cpp:2827
+msgid " list produce a list of misspelled words from standard input"
+msgstr " list xenera una llista de pallabres mal escrites dende la entrada estándar"
-#: prog/aspell.cpp:2825
-msgid ""
-" soundslike returns the sounds like equivalent for each word entered"
-msgstr ""
-" soundslike torna l'asemeyanza fonética de cada pallabra introducida"
+#: prog/aspell.cpp:2830
+msgid " soundslike returns the sounds like equivalent for each word entered"
+msgstr " soundslike torna l'asemeyanza fonética de cada pallabra introducida"
-#: prog/aspell.cpp:2826
+#: prog/aspell.cpp:2831
msgid " munch generate possible root words and affixes"
-msgstr ""
-" munch xenera les raíces y afixos posibles de les pallabres"
+msgstr " munch xenera les raíces y afixos posibles de les pallabres"
-#: prog/aspell.cpp:2827
+#: prog/aspell.cpp:2832
msgid " expand [1-4] expands affix flags"
msgstr " expand [1-4] espande les marques d'afixos"
-#: prog/aspell.cpp:2828
-msgid ""
-" clean [strict] cleans a word list so that every line is a valid word"
-msgstr ""
-" clean [strict] llimpia un pallabreru pa que cada llinia seya una "
-"pallabra válida"
+#: prog/aspell.cpp:2833
+msgid " clean [strict] cleans a word list so that every line is a valid word"
+msgstr " clean [strict] llimpia un pallabreru pa que cada llinia seya una pallabra válida"
-#: prog/aspell.cpp:2830
+#: prog/aspell.cpp:2835
msgid " -v|version prints a version line"
msgstr " -v|version amuesta una llinia cola versión"
-#: prog/aspell.cpp:2831
+#: prog/aspell.cpp:2836
msgid " munch-list [simple] [single|multi] [keep]"
msgstr " munch-list [simple] [single|multi] [keep]"
-#: prog/aspell.cpp:2832
+#: prog/aspell.cpp:2837
msgid " reduce the size of a word list via affix compression"
-msgstr ""
-" amenorga'l tamañu d'un pallabreru al traviés de la compresión d'afixos"
+msgstr " amenorga'l tamañu d'un pallabreru al traviés de la compresión d'afixos"
-#: prog/aspell.cpp:2833
+#: prog/aspell.cpp:2838
msgid " conv <from> <to> [<norm-form>]"
msgstr " conv <orixe> <destín> [<triba-norm>]"
-#: prog/aspell.cpp:2834
+#: prog/aspell.cpp:2839
msgid " converts from one encoding to another"
msgstr " convierte d'una codificación a otra"
-#: prog/aspell.cpp:2835
+#: prog/aspell.cpp:2840
msgid " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
msgstr " norm (<mapa-norm> | <orixe> <mapa-norm> <destín>) [<triba-norm>]"
-#: prog/aspell.cpp:2836
+#: prog/aspell.cpp:2841
msgid " perform Unicode normalization"
msgstr " fai la normalización Unicode"
-#: prog/aspell.cpp:2839
+#: prog/aspell.cpp:2844
msgid " dump|create|merge master|personal|repl [<name>]"
msgstr " dump|create|merge master|personal|repl [<nome>]"
-#: prog/aspell.cpp:2840
-msgid ""
-" dumps, creates or merges a master, personal, or replacement dictionary."
-msgstr ""
-" vuelca, crea o entemez un diccionariu principal, personal o de troqueos."
+#: prog/aspell.cpp:2845
+msgid " dumps, creates or merges a master, personal, or replacement dictionary."
+msgstr " vuelca, crea o entemez un diccionariu principal, personal o de troqueos."
#. TRANSLATORS: "none", "internal" and "strict" are literal values
#. and should not be translated.
-#: prog/aspell.cpp:2844
-msgid ""
-" <norm-form> normalization form to use, either none, internal, or "
-"strict"
-msgstr ""
-" <triba-norm> triba de normalización que se va usar: none, internal o "
-"strict"
-
-#: prog/aspell.cpp:2854
-#, c-format
+#: prog/aspell.cpp:2849
+msgid " <norm-form> normalization form to use, either none, internal, or strict"
+msgstr " <triba-norm> triba de normalización que se va usar: none, internal o strict"
+
+#: prog/aspell.cpp:2859
+#, fuzzy, c-format
+#| msgid ""
+#| "\n"
+#| "Aspell %s. Copyright 2000-2004 by Kevin Atkinson.\n"
+#| "\n"
msgid ""
"\n"
"Aspell %s. Copyright 2000-2011 by Kevin Atkinson.\n"
"\n"
msgstr ""
"\n"
-"Aspell %s. Copyright 2000-2011 by Kevin Atkinson.\n"
+"Aspell %s. Copyright 2000-2004 by Kevin Atkinson.\n"
"\n"
-#: prog/aspell.cpp:2888
+#: prog/aspell.cpp:2893
msgid ""
"Available Dictionaries:\n"
" Dictionaries can be selected directly via the \"-d\" or \"master\"\n"
" opción «-d» o «master». Tamién se puen escoyer indireutamente al\n"
" traviés de les opciones «lang», «variety» y «size».\n"
-#: prog/aspell.cpp:2909
+#: prog/aspell.cpp:2914
msgid ""
"Available Filters (and associated options):\n"
" Filters can be added or removed via the \"filter\" option.\n"
" Los filtros puen amestase o desaniciase al traviés de la opción\n"
" «filter».\n"
-#: prog/aspell.cpp:2916
+#: prog/aspell.cpp:2921
#, c-format
msgid ""
"\n"
" filtru %s: %s\n"
#. TRANSLATORS: This should be formated to fit in 80 column or less
-#: prog/aspell.cpp:2933
+#: prog/aspell.cpp:2938
msgid ""
"Available Filter Modes:\n"
" Filter Modes are reconfigured combinations of filters optimized for\n"
" type from the extension, and possibility the contents, of the file.\n"
msgstr ""
"Moos de filtru disponibles:\n"
-" Los moos de filtru son combinaciones reconfiguraes de filtros "
-"optimizaos\n"
+" Los moos de filtru son combinaciones reconfiguraes de filtros optimizaos\n"
" pa ficheros d'una triba específica. Un mou escuéyese al traviés de la\n"
-" opción \"mode\". Esto faise implícitamente si Aspell ye pa identificar "
-"la\n"
+" opción \"mode\". Esto faise implícitamente si Aspell ye pa identificar la\n"
" mena de ficheru per aciu de la estensión, y si ye dable, del conteníu\n"
" del ficheru.\n"
#: modules/speller/default/language.cpp:494
#: modules/speller/default/language.cpp:503
#, c-format
-msgid ""
-"The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgid "The character '%s' (U+%02X) must be followed by an alphabetic character."
msgstr "El caráuter «%s» (U+%02X) ha tar siguíu por un caráuter alfabéticu."
#: modules/speller/default/language.cpp:496
msgstr "El caráuter «%s» (U+%02X) nun pue apaecer en mediu d'una pallabra."
#: modules/speller/default/language.cpp:508
-msgid ""
-"The character '\\r' (U+0D) may not appear at the end of a word. This "
-"probably means means that the file is using MS-DOS EOL instead of Unix EOL."
-msgstr ""
-"El caráuter «\\\r» (U+0D) nun pue apaecer al final d'una pallabra. Esto "
-"probablemente seya porque'l ficheru tea usando'l fin de llinia MS-DOS en "
-"cuenta del d'Unix."
+msgid "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgstr "El caráuter «\\\r» (U+0D) nun pue apaecer al final d'una pallabra. Esto probablemente seya porque'l ficheru tea usando'l fin de llinia MS-DOS en cuenta del d'Unix."
#: modules/speller/default/language.cpp:511
#, c-format
msgid "Warning: Removing inapplicable affix '%s' from word %s.\n"
msgstr "Avisu: Desaniciando afixu «%s» non aplicable de la pallabra %s.\n"
-#: modules/speller/default/language.cpp:674
+#: modules/speller/default/language.cpp:675
#, c-format
msgid "Warning: %s Skipping string.\n"
msgstr "Avisu: Omitiendo cadena %s.\n"
-#: modules/speller/default/language.cpp:732
+#: modules/speller/default/language.cpp:733
msgid "The total length is larger than 240 characters."
msgstr "La llonxitú total ye mayor de 240 caráuteres."
-#: modules/speller/default/language.cpp:736
+#: modules/speller/default/language.cpp:737
#, c-format
msgid "Warning: %s Skipping word.\n"
msgstr "Avisu: Omitiendo pallabra %s.\n"
msgstr "Recuentu posiblemente incorreutu."
#: modules/speller/default/readonly_ws.cpp:362
+msgid "Incompatible hash function."
+msgstr ""
+
+#: modules/speller/default/readonly_ws.cpp:440
msgid "Wrong endian order."
msgstr "Ordenación endian incorreuta."
-#: modules/speller/default/readonly_ws.cpp:385
+#: modules/speller/default/readonly_ws.cpp:463
msgid "Wrong soundslike."
msgstr "Asemeyanza fonética incorreuta."
-#: modules/speller/default/readonly_ws.cpp:391
+#: modules/speller/default/readonly_ws.cpp:469
msgid "Wrong soundslike version."
msgstr "Versión d'asemeyanza fonética incorreuta."
-#: modules/speller/default/readonly_ws.cpp:853
+#: modules/speller/default/readonly_ws.cpp:934
msgid "Affix flags found in word but no affix file given."
-msgstr ""
-"Atopáronse marque d'afixos na pallabra pero nun s'afitó nengún ficheru "
-"d'afixos."
+msgstr "Atopáronse marque d'afixos na pallabra pero nun s'afitó nengún ficheru d'afixos."
-#: modules/speller/default/readonly_ws.cpp:891
-msgid ""
-"The total word length, with soundslike data, is larger than 240 characters."
-msgstr ""
-"La llonxitú total de la pallabra, contando los datos de l'asemeyanza "
-"fonética, ye mayor de 240 caráuteres."
+#: modules/speller/default/readonly_ws.cpp:972
+msgid "The total word length, with soundslike data, is larger than 240 characters."
+msgstr "La llonxitú total de la pallabra, contando los datos de l'asemeyanza fonética, ye mayor de 240 caráuteres."
#: modules/speller/default/multi_ws.cpp:58
msgid "There must be at least one \"add\" line."
msgid "HTML tags to always skip the contents of"
msgstr "etiquetes HTML de les qu'omitir siempre'l so conteníu"
+#: modules/filter/markdown-filter.info:8
+#, fuzzy
+#| msgid "filter for dealing with Texinfo documents"
+msgid "filter for Markdown/CommonMark documents"
+msgstr "filtru pa remanar documentos Texinfo"
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
+msgstr ""
+
#: modules/filter/nroff-filter.info:7
msgid "filter for dealing with Nroff documents"
msgstr "filtru pa remanar documentos Nroff"
msgid "mode for checking HTML documents"
msgstr "mou pa comprobar documentos HTML"
+#: modules/filter/modes/markdown.amf:10
+#, fuzzy
+#| msgid "mode for checking Nroff documents"
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr "mou pa comprobar documentos Nroff"
+
#: modules/filter/modes/none.amf:5
msgid "mode to disable all filters"
msgstr "mou pa desactivar tolos filtros"
# <>, 2004.
# , fuzzy
# <>, 2004.
-#
-#
+#
+#
msgid ""
msgstr ""
"Project-Id-Version: aspell 0.51\n"
"Report-Msgid-Bugs-To: kevina@gnu.org\n"
-"POT-Creation-Date: 2011-07-04 03:25-0600\n"
+"POT-Creation-Date: 2019-07-29 02:38-0400\n"
"PO-Revision-Date: 2004-01-06 16:34+0200\n"
"Last-Translator: Vital khilko <dojlid@mova.org>\n"
"Language-Team: Belarusian <i18n@mova.org>\n"
+"Language: be\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
#: common/info.cpp:232
msgid "a number between 0 and 1"
msgid "ASPELL_CONF env var"
msgstr ""
-#. TRANSLATORS: The remaing strings in config.cpp should be kept
+#. TRANSLATORS: The remaining strings in config.cpp should be kept
#. under 50 characters, begin with a lower case character and not
#. include any trailing punctuation marks.
#: common/config.cpp:1360
#: common/config.cpp:1367
#, fuzzy
+#| msgid "extra dictionaries to use"
msgid "create dictionary aliases"
msgstr "дадатковыя слоўнікі для выкарыстаньня"
#: common/config.cpp:1375
#, fuzzy
+#| msgid "path(es) aspell looks for filters (.so/.dll/.flt);"
msgid "path(s) aspell looks for filters"
msgstr "шлях(і) для прагляду фільтараў (.so/.dll/.flt);"
#: common/config.cpp:1379
#, fuzzy
+#| msgid "enter TeX mode."
msgid "filter mode"
msgstr "рэжым TeX."
#. TRANSLATORS: It is OK if this is longer than 50 chars
#: common/config.cpp:1388
#, fuzzy
+#| msgid "ignore accents when checking words"
msgid "ignore accents when checking words -- CURRENTLY IGNORED"
msgstr "ігнараваньне акцэнтаў у часе праверкі словаў"
#: common/config.cpp:1408
#, fuzzy
+#| msgid "Set module name"
msgid "set module name"
msgstr "Усталяваньне назвы модуля"
#: common/config.cpp:1410
#, fuzzy
+#| msgid "Search order for modules"
msgid "search order for modules"
msgstr "Накірунак пошуку для модуляў"
#: common/config.cpp:1425
#, fuzzy
+#| msgid "personal word list file name"
msgid "personal dictionary file name"
msgstr "назва асабістага файла сьпісу словаў"
#: common/config.cpp:1435
#, fuzzy
+#| msgid "maxium numbers that can be strung together"
msgid "maximum number that can be strung together"
msgstr "максымальная колькасьць якая мусіць зьвязана разам"
#: common/config.cpp:1455
#, fuzzy
+#| msgid "save replacement pairs on save all"
msgid "use replacement tables, override sug-mode default"
msgstr "захаваньне параў замены ў часе захаваньня"
#: common/config.cpp:1463
#, fuzzy
+#| msgid "Search path for word list information files"
msgid "search path for word list information files"
msgstr "Шлях пошуку для сьпісаў словаў"
#: common/config.cpp:1504
#, fuzzy
+#| msgid "keymapping for check mode, one of aspell ispell"
msgid "keymapping for check mode: \"aspell\" or \"ispell\""
msgstr "мапаваньне клявішаў для рэжыма праверкі, адно з aspell ispell"
msgid "time load time and suggest time in pipe mode"
msgstr "час загрузкі й час прапановы ў рэжыме канала"
-#: common/convert.cpp:303 common/convert.cpp:429
+#: common/convert.cpp:303 common/convert.cpp:497
#, c-format
-msgid ""
-"This could also mean that the file \"%s\" could not be opened for reading or "
-"does not exist."
+msgid "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
msgstr ""
-#: common/convert.cpp:552 common/convert.cpp:659 common/convert.cpp:705
+#: common/convert.cpp:582 common/convert.cpp:689 common/convert.cpp:735
#, fuzzy, c-format
+#| msgid "The encoding \"%encod:1\" is not supported."
msgid "The Unicode code point U+%04X is unsupported."
msgstr "Кадаваньне \"%encod:1\" не падтрымліваецца."
-#: common/convert.cpp:829
+#: common/convert.cpp:859
#, c-format
msgid "Invalid UTF-8 sequence at position %ld."
msgstr ""
msgstr "Ключ \"%key:1\" не %accepted:2 і таму нерэчаісны."
#: common/errors.cpp:147
-msgid ""
-"The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%"
-"key:1\"."
-msgstr ""
-"Значэньне \"%value:2\" не %accepted:3 і таму не рэчаісна для ключа \"%key:1"
-"\"."
+msgid "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
+msgstr "Значэньне \"%value:2\" не %accepted:3 і таму не рэчаісна для ключа \"%key:1\"."
#: common/errors.cpp:163
#, fuzzy
+#| msgid "The key \"%key:1\" is unknown."
msgid "The key \"%key:1\" is not a string."
msgstr "Ключ \"%key:1\" невядомы."
#: common/errors.cpp:171
#, fuzzy
+#| msgid "The key \"%key:1\" is unknown."
msgid "The key \"%key:1\" is not an integer."
msgstr "Ключ \"%key:1\" невядомы."
#: common/errors.cpp:179
#, fuzzy
+#| msgid "The key \"%key:1\" is unknown."
msgid "The key \"%key:1\" is not a boolean."
msgstr "Ключ \"%key:1\" невядомы."
#: common/errors.cpp:187
#, fuzzy
+#| msgid "The key \"%key:1\" is unknown."
msgid "The key \"%key:1\" is not a list."
msgstr "Ключ \"%key:1\" невядомы."
#: common/errors.cpp:195
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"reset-"
-"\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
msgstr ""
#: common/errors.cpp:203
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by an \"enable-"
-"\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by an \"enable-\"."
msgstr ""
#: common/errors.cpp:211
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" "
-"or \"disable-\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
msgstr ""
#: common/errors.cpp:219
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"clear-"
-"\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
msgstr ""
#: common/errors.cpp:235
#: common/errors.cpp:291
#, fuzzy, c-format
+#| msgid "The word \"%word:1\" is invalid."
msgid "The condition \"%cond:1\" is invalid."
msgstr "Слова \"%word:1\" нерэчаіснае."
#: common/errors.cpp:299
#, c-format
-msgid ""
-"The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be "
-"stripped."
+msgid "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
msgstr ""
#: common/errors.cpp:307
#, fuzzy, c-format
-msgid ""
-"The file \"%file:1\" is not in the proper format. Expected the file to be in "
-"\"%exp:2\" not \"%got:3\"."
+#| msgid "The file \"%file:1\" is not in the proper format."
+msgid "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
msgstr "Файл \"%file:1\" у памылковым фармаце."
#: common/errors.cpp:323
#: common/errors.cpp:379
#, fuzzy, c-format
+#| msgid "The word \"%word:1\" is invalid."
msgid "The string \"%str:1\" is invalid."
msgstr "Слова \"%word:1\" нерэчаіснае."
#: common/errors.cpp:403
#, fuzzy
+#| msgid "The file \"%file:1\" can not be opened for reading."
msgid "The affix flag '%aff:1' can not be applied to word \"%word:2\"."
msgstr "Файл \"%file:1\" не можа быць адкрыты для чытаньня."
#: common/errors.cpp:467
#, fuzzy
+#| msgid "%where:1: \"%filter:2\" dlopen returned \"%return:3\"."
msgid "dlopen returned \"%return:1\"."
msgstr "%where:1: \"%filter:2\" dlopen вярнула \"%return:3\"."
#: common/errors.cpp:475
#, fuzzy, c-format
+#| msgid "%where:1: The file \"%filter:2\" does not contain any filter."
msgid "The file \"%filter:1\" does not contain any filters."
msgstr "%where:1: Файл \"%filter:2\" не ўтрымлівае фільтараў."
#: common/errors.cpp:483
#, fuzzy, c-format
+#| msgid "The file \"%file:1\" can not be opened"
msgid "The filter \"%filter:1\" does not exist."
msgstr "Файл \"%file:1\" не можа быць адкрыты"
#: common/errors.cpp:499
#, fuzzy
+#| msgid "%where:1: \"%filter:2\": Line %line:3 Aspell version does not match filter's requirement."
msgid "Aspell version does not match filter's requirement."
-msgstr ""
-"%where:1: \"%filter:2\": Радок %line:3 Вэрсыя Aspell не мае падтрымкі "
-"фільтараў."
+msgstr "%where:1: \"%filter:2\": Радок %line:3 Вэрсыя Aspell не мае падтрымкі фільтараў."
#: common/errors.cpp:507
#, fuzzy
+#| msgid "%where:1: \"%filter:2\" Line %line:3 Filter option already exists."
msgid "Filter option already exists."
msgstr "%where:1: \"%filter:2\" Радок %line:3 Выбар фільтара ўжо існуе."
#: common/errors.cpp:515
#, fuzzy
+#| msgid "%where:1: \"%filter:2\" %line:3 Use option modifiers only within named Option."
msgid "Use option modifiers only within named option."
-msgstr ""
-"%where:1: \"%filter:2\" %line:3 Выкарыстоўвайце выбар мадыфікатараў толькі у "
-"названым выбары."
+msgstr "%where:1: \"%filter:2\" %line:3 Выкарыстоўвайце выбар мадыфікатараў толькі у названым выбары."
#: common/errors.cpp:523
#, fuzzy
+#| msgid "%where:1: \"%filter:2\" %line:3 Option modifier unknown."
msgid "Option modifier unknown."
msgstr "%where:1: \"%filter:2\" %line:3 Невядомы выбар мадыфікатара."
#: common/errors.cpp:531
#, fuzzy
+#| msgid "%where:1: \"%filter:2\" error setting filter description."
msgid "Error setting filter description."
msgstr "%where:1: \"%filter:2\" памылка усталяваньня апісаньня фільтра."
#: common/errors.cpp:595
#, fuzzy
+#| msgid "%where:1: \"%filter:2\": Line %line:3 Aspell version does not match filter's requirement."
msgid "Aspell version does not match mode's requirement."
-msgstr ""
-"%where:1: \"%filter:2\": Радок %line:3 Вэрсыя Aspell не мае падтрымкі "
-"фільтараў."
+msgstr "%where:1: \"%filter:2\": Радок %line:3 Вэрсыя Aspell не мае падтрымкі фільтараў."
#: common/errors.cpp:603
msgid "Missing magic mode expression."
#: common/errors.cpp:635
#, fuzzy, c-format
+#| msgid "%where:1: \"%filter:2\" error while extend Aspell options. (out of memory?)"
msgid "\"%mode:1\" error while extend Aspell modes. (out of memory?)"
-msgstr ""
-"%where:1: \"%filter:2\" памылка пашыраных выбараў Aspell. (недахоп памяці?)"
+msgstr "%where:1: \"%filter:2\" памылка пашыраных выбараў Aspell. (недахоп памяці?)"
#: common/errors.cpp:651
#, c-format
msgstr ""
#: common/errors.cpp:675
-msgid ""
-"\"%mode:1\": Magic \"%magic:2\": bad regular expression after location "
-"specifier; regexp reports: \"%regerr:3\"."
+msgid "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
msgstr ""
#: common/errors.cpp:691
#, fuzzy, c-format
+#| msgid "%action:1: `%expression:2' is not a valid regular expression."
msgid "\"%expression:1\" is not a valid regular expression."
msgstr "%action:1: `%expression:2' не зьяўляецца дапушчальным сталым выразам."
msgid "Unhandled Error: "
msgstr "Памылка без апрацоўкі: "
-#: prog/aspell.cpp:97
+#: prog/aspell.cpp:98
#, fuzzy, c-format
+#| msgid "Error: "
msgid "Error: %s\n"
msgstr "Памылка: "
-#: prog/aspell.cpp:102
+#: prog/aspell.cpp:103
msgid "Error: "
msgstr "Памылка: "
-#: prog/aspell.cpp:203
+#: prog/aspell.cpp:204
msgid "enter Email mode."
msgstr "рэжым э-пошты."
-#: prog/aspell.cpp:204
+#: prog/aspell.cpp:205
#, fuzzy
+#| msgid "enter TeX mode."
msgid "enter HTML mode."
msgstr "рэжым TeX."
-#: prog/aspell.cpp:205
+#: prog/aspell.cpp:206
msgid "enter TeX mode."
msgstr "рэжым TeX."
-#: prog/aspell.cpp:206
+#: prog/aspell.cpp:207
#, fuzzy
+#| msgid "enter TeX mode."
msgid "enter Nroff mode."
msgstr "рэжым TeX."
-#: prog/aspell.cpp:312
+#: prog/aspell.cpp:313
#, c-format
msgid "Invalid Option: %s"
msgstr "Недапушчальны выбар: %s"
-#: prog/aspell.cpp:319
+#: prog/aspell.cpp:320
msgid " does not take any parameters."
msgstr " не патрабуе ніякіх парамэтраў."
-#: prog/aspell.cpp:332 prog/aspell.cpp:392
+#: prog/aspell.cpp:333 prog/aspell.cpp:393
#, fuzzy, c-format
+#| msgid "You must specify a parameter for %s"
msgid "You must specify a parameter for \"%s\"."
msgstr "Вы мусіце пазначыць парамэтар для %s"
-#: prog/aspell.cpp:381
+#: prog/aspell.cpp:382
msgid "You must specify an action"
msgstr "Вы мусіце пазначыць дзеяньне"
-#: prog/aspell.cpp:389 prog/aspell.cpp:452 prog/aspell.cpp:474
+#: prog/aspell.cpp:390 prog/aspell.cpp:453 prog/aspell.cpp:475
#, c-format
msgid "Unknown Action: %s"
msgstr "Невядомае дзеяньне: %s"
-#: prog/aspell.cpp:395
+#: prog/aspell.cpp:396
#, fuzzy, c-format
+#| msgid "You must specify a parameter for %s"
msgid "Error: You must specify at least %d parameters for \"%s\".\n"
msgstr "Вы мусіце пазначыць парамэтар для %s"
-#: prog/aspell.cpp:637
+#: prog/aspell.cpp:638
msgid "Invalid Input"
msgstr "Недапушчальны ўвод"
-#: prog/aspell.cpp:710
+#: prog/aspell.cpp:711
#, c-format
msgid "WARNING: Unable to enter Nroff mode: %s\n"
msgstr ""
-#: prog/aspell.cpp:731
+#: prog/aspell.cpp:732
msgid "Time to load word list: "
msgstr "Час загрузкі сьпісу словаў: "
-#: prog/aspell.cpp:929
+#: prog/aspell.cpp:930
#, fuzzy, c-format
+#| msgid "Suggestion Time: "
msgid "Suggestion Time: %f\n"
msgstr "Час прапанаваньня: "
-#: prog/aspell.cpp:972
+#: prog/aspell.cpp:973
msgid "You must specify a file name."
msgstr "Вы мусіце пазначыць назву файла."
-#: prog/aspell.cpp:975
+#: prog/aspell.cpp:976
msgid "Only one file name may be specified."
msgstr ""
-#: prog/aspell.cpp:985
+#: prog/aspell.cpp:986
#, c-format
msgid "Could not open the file \"%s\" for reading"
msgstr "Немагчыма адкрыць файл \"%s\" для чытаньня"
-#: prog/aspell.cpp:998
+#: prog/aspell.cpp:999
#, c-format
msgid "Invalid keymapping: %s"
msgstr "Недапушчальнае мапаваньне клявішаў:·%s"
-#: prog/aspell.cpp:1020
+#: prog/aspell.cpp:1014
+#, fuzzy, c-format
+#| msgid "%action:1: `%expression:2' is not a valid regular expression."
+msgid "\"%s\" is not a regular file"
+msgstr "%action:1: `%expression:2' не зьяўляецца дапушчальным сталым выразам."
+
+#: prog/aspell.cpp:1025
#, fuzzy, c-format
+#| msgid "Could not open the file \"%s\" for writing. File not saved."
msgid "Could not open the file \"%s\" for writing. File not saved."
msgstr "Немагчыма адкрыць файл \"%s\" для запісу. Файл не захаваны."
-#: prog/aspell.cpp:1033
+#: prog/aspell.cpp:1038
msgid "Ignore"
msgstr "Ігнараваць"
-#: prog/aspell.cpp:1034
+#: prog/aspell.cpp:1039
msgid "Ignore all"
msgstr "Ігнараваць усё"
-#: prog/aspell.cpp:1035
+#: prog/aspell.cpp:1040
msgid "Replace"
msgstr "Замяніць"
-#: prog/aspell.cpp:1036
+#: prog/aspell.cpp:1041
msgid "Replace all"
msgstr "Замяніць усё"
-#: prog/aspell.cpp:1037
+#: prog/aspell.cpp:1042
msgid "Add"
msgstr "Дадаць"
-#: prog/aspell.cpp:1038
+#: prog/aspell.cpp:1043
msgid "Add Lower"
msgstr "Дадаць малымі літарамі"
-#: prog/aspell.cpp:1039
+#: prog/aspell.cpp:1044
msgid "Abort"
msgstr "Адкінуць"
-#: prog/aspell.cpp:1040
+#: prog/aspell.cpp:1045
msgid "Exit"
msgstr "ВЫйсьці"
-#: prog/aspell.cpp:1116
+#: prog/aspell.cpp:1121
#, fuzzy
+#| msgid "Are you sure you want to abort? "
msgid "Are you sure you want to abort (y/n)? "
msgstr "Вы сапраўды жадаеце адкінуць?"
#. TRANSLATORS: The user may input any of these characters to say "yes".
#. MUST ONLY CONSIST OF ASCII CHARACTERS.
-#: prog/aspell.cpp:1120
+#: prog/aspell.cpp:1125
msgid "Yy"
msgstr ""
-#: prog/aspell.cpp:1148
+#: prog/aspell.cpp:1153
msgid "With: "
msgstr "З: "
-#: prog/aspell.cpp:1165
+#: prog/aspell.cpp:1170
msgid "Sorry that is an invalid choice!"
msgstr "Выбачайце, але гэта памылковы выбар!"
-#: prog/aspell.cpp:1386
+#: prog/aspell.cpp:1391
msgid "Sorry \"filter\" is currently unimplemented.\n"
msgstr "Выбачайце \"фільтар\" зараз не працаздольны.\n"
-#: prog/aspell.cpp:1520
+#: prog/aspell.cpp:1525
msgid "Can't merge a master word list yet. Sorry."
msgstr "Немагчыма зараз аб'яднаць асноўны сьпіс словаў. Выбачайце."
-#: prog/aspell.cpp:1544
+#: prog/aspell.cpp:1549
msgid "Sorry \"create/merge personal\" is currently unimplemented.\n"
-msgstr ""
-"Выбачайце \"стварэньне/аб'яднаньне пэрсанальнага\" зараз непрацаздольнае.\n"
+msgstr "Выбачайце \"стварэньне/аб'яднаньне пэрсанальнага\" зараз непрацаздольнае.\n"
-#: prog/aspell.cpp:1553 prog/aspell.cpp:1609
+#: prog/aspell.cpp:1558 prog/aspell.cpp:1614
#, c-format
msgid "Sorry I won't overwrite \"%s\""
msgstr "Выбачайце, трэба перазапісаць \"%s\""
-#: prog/aspell.cpp:1600
+#: prog/aspell.cpp:1605
msgid "Sorry \"create/merge repl\" is currently unimplemented.\n"
msgstr "Выбачайце пакуль гэтая апэрацыя непрацаздольная.\n"
-#: prog/aspell.cpp:1872
+#: prog/aspell.cpp:1877
#, c-format
msgid "\"%s\" is not a valid flag for the \"munch-list\" command."
msgstr ""
#. TRANSLATORS: These should all be formated to fit in 80 column or
#. less
-#: prog/aspell.cpp:2799
+#: prog/aspell.cpp:2804
msgid "Usage: aspell [options] <command>"
msgstr ""
-#: prog/aspell.cpp:2800
+#: prog/aspell.cpp:2805
msgid "<command> is one of:"
msgstr ""
-#: prog/aspell.cpp:2801
+#: prog/aspell.cpp:2806
msgid " -?|usage display a brief usage message"
msgstr ""
-#: prog/aspell.cpp:2802
+#: prog/aspell.cpp:2807
msgid " help display a detailed help message"
msgstr ""
-#: prog/aspell.cpp:2803
+#: prog/aspell.cpp:2808
msgid " -c|check <file> to check a file"
msgstr ""
-#: prog/aspell.cpp:2804
+#: prog/aspell.cpp:2809
msgid " -a|pipe \"ispell -a\" compatibility mode"
msgstr ""
-#: prog/aspell.cpp:2805
+#: prog/aspell.cpp:2810
msgid " [dump] config dumps the current configuration to stdout"
msgstr ""
-#: prog/aspell.cpp:2806
+#: prog/aspell.cpp:2811
msgid " config <key> prints the current value of an option"
msgstr ""
-#: prog/aspell.cpp:2807
+#: prog/aspell.cpp:2812
msgid " [dump] dicts | filters | modes"
msgstr ""
-#: prog/aspell.cpp:2808
+#: prog/aspell.cpp:2813
msgid " lists available dictionaries / filters / filter modes"
msgstr ""
-#: prog/aspell.cpp:2809
+#: prog/aspell.cpp:2814
msgid "[options] is any of the following:"
msgstr ""
-#: prog/aspell.cpp:2822
-msgid ""
-" list produce a list of misspelled words from standard input"
+#: prog/aspell.cpp:2827
+msgid " list produce a list of misspelled words from standard input"
msgstr ""
-#: prog/aspell.cpp:2825
-msgid ""
-" soundslike returns the sounds like equivalent for each word entered"
+#: prog/aspell.cpp:2830
+msgid " soundslike returns the sounds like equivalent for each word entered"
msgstr ""
-#: prog/aspell.cpp:2826
+#: prog/aspell.cpp:2831
msgid " munch generate possible root words and affixes"
msgstr ""
-#: prog/aspell.cpp:2827
+#: prog/aspell.cpp:2832
msgid " expand [1-4] expands affix flags"
msgstr ""
-#: prog/aspell.cpp:2828
-msgid ""
-" clean [strict] cleans a word list so that every line is a valid word"
+#: prog/aspell.cpp:2833
+msgid " clean [strict] cleans a word list so that every line is a valid word"
msgstr ""
-#: prog/aspell.cpp:2830
+#: prog/aspell.cpp:2835
msgid " -v|version prints a version line"
msgstr ""
-#: prog/aspell.cpp:2831
+#: prog/aspell.cpp:2836
msgid " munch-list [simple] [single|multi] [keep]"
msgstr ""
-#: prog/aspell.cpp:2832
+#: prog/aspell.cpp:2837
msgid " reduce the size of a word list via affix compression"
msgstr ""
-#: prog/aspell.cpp:2833
+#: prog/aspell.cpp:2838
msgid " conv <from> <to> [<norm-form>]"
msgstr ""
-#: prog/aspell.cpp:2834
+#: prog/aspell.cpp:2839
msgid " converts from one encoding to another"
msgstr ""
-#: prog/aspell.cpp:2835
+#: prog/aspell.cpp:2840
msgid " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
msgstr ""
-#: prog/aspell.cpp:2836
+#: prog/aspell.cpp:2841
msgid " perform Unicode normalization"
msgstr ""
-#: prog/aspell.cpp:2839
+#: prog/aspell.cpp:2844
msgid " dump|create|merge master|personal|repl [<name>]"
msgstr ""
-#: prog/aspell.cpp:2840
-msgid ""
-" dumps, creates or merges a master, personal, or replacement dictionary."
+#: prog/aspell.cpp:2845
+msgid " dumps, creates or merges a master, personal, or replacement dictionary."
msgstr ""
#. TRANSLATORS: "none", "internal" and "strict" are literal values
#. and should not be translated.
-#: prog/aspell.cpp:2844
-msgid ""
-" <norm-form> normalization form to use, either none, internal, or "
-"strict"
+#: prog/aspell.cpp:2849
+msgid " <norm-form> normalization form to use, either none, internal, or strict"
msgstr ""
-#: prog/aspell.cpp:2854
+#: prog/aspell.cpp:2859
#, c-format
msgid ""
"\n"
"\n"
msgstr ""
-#: prog/aspell.cpp:2888
+#: prog/aspell.cpp:2893
msgid ""
"Available Dictionaries:\n"
" Dictionaries can be selected directly via the \"-d\" or \"master\"\n"
" \"variety\", and \"size\" options.\n"
msgstr ""
-#: prog/aspell.cpp:2909
+#: prog/aspell.cpp:2914
msgid ""
"Available Filters (and associated options):\n"
" Filters can be added or removed via the \"filter\" option.\n"
msgstr ""
-#: prog/aspell.cpp:2916
+#: prog/aspell.cpp:2921
#, c-format
msgid ""
"\n"
msgstr ""
#. TRANSLATORS: This should be formated to fit in 80 column or less
-#: prog/aspell.cpp:2933
+#: prog/aspell.cpp:2938
msgid ""
"Available Filter Modes:\n"
" Filter Modes are reconfigured combinations of filters optimized for\n"
#: prog/check_funs.cpp:812
#, fuzzy
+#| msgid "email quote characters"
msgid "Delete the next character"
msgstr "сымбалі дужак э.пошты"
#: modules/speller/default/language.cpp:494
#: modules/speller/default/language.cpp:503
#, c-format
-msgid ""
-"The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgid "The character '%s' (U+%02X) must be followed by an alphabetic character."
msgstr ""
#: modules/speller/default/language.cpp:496
#, fuzzy
+#| msgid " does not take any parameters."
msgid "Does not contain any alphabetic characters."
msgstr " не патрабуе ніякіх парамэтраў."
msgstr ""
#: modules/speller/default/language.cpp:508
-msgid ""
-"The character '\\r' (U+0D) may not appear at the end of a word. This "
-"probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgid "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
msgstr ""
#: modules/speller/default/language.cpp:511
msgid "Warning: Removing inapplicable affix '%s' from word %s.\n"
msgstr ""
-#: modules/speller/default/language.cpp:674
+#: modules/speller/default/language.cpp:675
#, c-format
msgid "Warning: %s Skipping string.\n"
msgstr ""
-#: modules/speller/default/language.cpp:732
+#: modules/speller/default/language.cpp:733
msgid "The total length is larger than 240 characters."
msgstr ""
-#: modules/speller/default/language.cpp:736
+#: modules/speller/default/language.cpp:737
#, c-format
msgid "Warning: %s Skipping word.\n"
msgstr ""
msgstr ""
#: modules/speller/default/readonly_ws.cpp:362
+msgid "Incompatible hash function."
+msgstr ""
+
+#: modules/speller/default/readonly_ws.cpp:440
msgid "Wrong endian order."
msgstr ""
-#: modules/speller/default/readonly_ws.cpp:385
+#: modules/speller/default/readonly_ws.cpp:463
msgid "Wrong soundslike."
msgstr ""
-#: modules/speller/default/readonly_ws.cpp:391
+#: modules/speller/default/readonly_ws.cpp:469
msgid "Wrong soundslike version."
msgstr ""
-#: modules/speller/default/readonly_ws.cpp:853
+#: modules/speller/default/readonly_ws.cpp:934
msgid "Affix flags found in word but no affix file given."
msgstr ""
-#: modules/speller/default/readonly_ws.cpp:891
-msgid ""
-"The total word length, with soundslike data, is larger than 240 characters."
+#: modules/speller/default/readonly_ws.cpp:972
+msgid "The total word length, with soundslike data, is larger than 240 characters."
msgstr ""
#: modules/speller/default/multi_ws.cpp:58
#: modules/speller/default/speller_impl.cpp:241
#, fuzzy
+#| msgid "personal word list file name"
msgid "The personal word list is unavailable."
msgstr "назва асабістага файла сьпісу словаў"
#: modules/speller/default/speller_impl.cpp:248
#, fuzzy
+#| msgid "personal word list file name"
msgid "The session word list is unavailable."
msgstr "назва асабістага файла сьпісу словаў"
#. not include any trailing punctuation marks.
#: modules/filter/context-filter.info:7
#, fuzzy
+#| msgid "Filter for hiding delimited contexts from Aspell"
msgid "experimental filter for hiding delimited contexts"
msgstr "Фільтар для хаваньня ад Aspell абмежаванага кантэксту"
#: modules/filter/context-filter.info:21
#, fuzzy
+#| msgid "swaps visible and invisible text;(starts invisible)"
msgid "swaps visible and invisible text"
msgstr "абмен бачнага і нябачнага тэксту;( пачатак з бачнага)"
#: modules/filter/html-filter.info:15
#, fuzzy
+#| msgid "sgml attributes to always check."
msgid "HTML attributes to always check"
msgstr "атрыбуты sgml для сталае праверкі."
msgid "HTML tags to always skip the contents of"
msgstr ""
+#: modules/filter/markdown-filter.info:8
+#, fuzzy
+#| msgid "Filter for recognizing TeX/LaTeX commands"
+msgid "filter for Markdown/CommonMark documents"
+msgstr "Фільтар для вызначэньня камандаў TeX/LaTeX"
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
+msgstr ""
+
#: modules/filter/nroff-filter.info:7
msgid "filter for dealing with Nroff documents"
msgstr ""
#: modules/filter/sgml-filter.info:15
#, fuzzy
+#| msgid "sgml attributes to always check."
msgid "SGML attributes to always check"
msgstr "атрыбуты sgml для сталае праверкі."
#: modules/filter/tex-filter.info:7
#, fuzzy
+#| msgid "Filter for recognizing TeX/LaTeX commands"
msgid "filter for dealing with TeX/LaTeX documents"
msgstr "Фільтар для вызначэньня камандаў TeX/LaTeX"
#: modules/filter/texinfo-filter.info:13
#, fuzzy
+#| msgid "ignore commands to store replacement pairs"
msgid "Texinfo commands to ignore the parameters of"
msgstr "ігнараваньне камандаў у захаваньні параў замены"
msgid "mode for checking HTML documents"
msgstr ""
+#: modules/filter/modes/markdown.amf:10
+#, fuzzy
+#| msgid "Filter for recognizing TeX/LaTeX commands"
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr "Фільтар для вызначэньня камандаў TeX/LaTeX"
+
#: modules/filter/modes/none.amf:5
msgid "mode to disable all filters"
msgstr ""
#: modules/filter/modes/tex.amf:7
#, fuzzy
+#| msgid "Filter for recognizing TeX/LaTeX commands"
msgid "mode for checking TeX/LaTeX documents"
msgstr "Фільтар для вызначэньня камандаў TeX/LaTeX"
#~ msgstr "%where:1: %filter:2: не мае выбару апісаньня."
#~ msgid "%where:1: \"%filter:2\" Line %line:3 confused by version control"
-#~ msgstr ""
-#~ "%where:1: \"%filter:2\" Радок %line:3 зьбянтэжаны кіраваньнем вэрсыі"
+#~ msgstr "%where:1: \"%filter:2\" Радок %line:3 зьбянтэжаны кіраваньнем вэрсыі"
#~ msgid "%action:1: invalid regular expression."
#~ msgstr "%action:1: недапушчальны сталы выраз."
#~ " and help for filters matching <expr> if installed\n"
#~ " -c|check <file> to check a file\n"
#~ " -a|pipe \"ispell -a\" compatibility mode\n"
-#~ " -l|list produce a list of misspelled words from standard "
-#~ "input\n"
+#~ " -l|list produce a list of misspelled words from standard input\n"
#~ " [dump] config [-e <expr>] dumps the current configuration to stdout\n"
#~ " config [+e <expr>] <key> prints the current value of an option\n"
-#~ " soundslike returns the sounds like equivalent for each word "
-#~ "entered\n"
+#~ " soundslike returns the sounds like equivalent for each word entered\n"
#~ " filter passes standard input through filters\n"
#~ " -v|version prints a version line\n"
#~ " dump|create|merge master|personal|repl [word list]\n"
-#~ " dumps, creates or merges a master, personal, or replacement word "
-#~ "list.\n"
+#~ " dumps, creates or merges a master, personal, or replacement word list.\n"
#~ "\n"
#~ " <expr> regular expression matching filtername(s) or `all'\n"
#~ "\n"
#~ " -c|check <файл> правярае файл\n"
#~ " -a|pipe рэжым эмуляваньня \"ispell -a\"\n"
#~ " -l|list стварае сьпіс прапановаў са стандартнага ўваходу\n"
-#~ " [dump] config [-e <expr>] адбітак бягучае канфігурацыі ў стандартны "
-#~ "вывад\n"
+#~ " [dump] config [-e <expr>] адбітак бягучае канфігурацыі ў стандартны вывад\n"
#~ " config [+e <выраз>] <ключ> друкуе бягучае значэньне выбару\n"
#~ " soundslike вяртае гукі падобныя да ўведзенага слова\n"
#~ " filter прапускае стандартны ўвод праз фільтары\n"
#~ " -v|version друкуе радок вэрсыі\n"
#~ " dump|create|merge master|personal|repl [сьпіс словаў]\n"
-#~ " стварае адбітак, ці аб'ядноўвае асноўны і асабісты "
-#~ "сьпісы, ці\n"
+#~ " стварае адбітак, ці аб'ядноўвае асноўны і асабісты сьпісы, ці\n"
#~ " замяняе сьпіс словаў.\n"
#~ "\n"
#~ " <выбар> сталы выбар супадзеньня з назвай файла(ў) ці 'ўсё'\n"
msgstr ""
"Project-Id-Version: aspell 0.60.3\n"
"Report-Msgid-Bugs-To: kevina@gnu.org\n"
-"POT-Creation-Date: 2011-07-04 03:25-0600\n"
+"POT-Creation-Date: 2019-07-29 02:38-0400\n"
"PO-Revision-Date: 2006-07-03 19:40+0100\n"
"Last-Translator: Joan Sala Soler <joansala@gmail.com>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
+"Language: ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
#: common/info.cpp:232
msgid "a number between 0 and 1"
msgid "ASPELL_CONF env var"
msgstr "ASPELL_CONF env var"
-#. TRANSLATORS: The remaing strings in config.cpp should be kept
+#. TRANSLATORS: The remaining strings in config.cpp should be kept
#. under 50 characters, begin with a lower case character and not
#. include any trailing punctuation marks.
#: common/config.cpp:1360
#. TRANSLATORS: It is OK if this is longer than 50 chars
#: common/config.cpp:1388
msgid "ignore accents when checking words -- CURRENTLY IGNORED"
-msgstr ""
-"revisa els mots sense tenir en compte els accents -- ACTUALMENT S’IGNORA"
+msgstr "revisa els mots sense tenir en compte els accents -- ACTUALMENT S’IGNORA"
#: common/config.cpp:1390
msgid "ignore case when checking words"
#. TRANSLATORS: It is OK if this is longer than 50 chars
#: common/config.cpp:1475
msgid "indicator for affix flags in word lists -- CURRENTLY IGNORED"
-msgstr ""
-"indicador per a les marques d’afixos en el vocabulari -- ACTUALMENT S’IGNORA"
+msgstr "indicador per a les marques d’afixos en el vocabulari -- ACTUALMENT S’IGNORA"
#: common/config.cpp:1477
msgid "use affix compression when creating dictionaries"
msgid "time load time and suggest time in pipe mode"
msgstr "temps de càrrega i de suggestió al mode pipe"
-#: common/convert.cpp:303 common/convert.cpp:429
+#: common/convert.cpp:303 common/convert.cpp:497
#, c-format
-msgid ""
-"This could also mean that the file \"%s\" could not be opened for reading or "
-"does not exist."
-msgstr ""
-"Això pot voler dir que el fitxer «%s» no es pot obrir per a llegir-lo o bé "
-"que no existeix."
+msgid "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
+msgstr "Això pot voler dir que el fitxer «%s» no es pot obrir per a llegir-lo o bé que no existeix."
-#: common/convert.cpp:552 common/convert.cpp:659 common/convert.cpp:705
+#: common/convert.cpp:582 common/convert.cpp:689 common/convert.cpp:735
#, c-format
msgid "The Unicode code point U+%04X is unsupported."
msgstr "El codi U+%04X d’Unicode no està implementat."
-#: common/convert.cpp:829
-#, c-format
+#: common/convert.cpp:859
+#, fuzzy, c-format
+#| msgid "Invalid UTF-8 sequence at position %d."
msgid "Invalid UTF-8 sequence at position %ld."
-msgstr "La seqüència UTF-8 que es troba a la posició %ld no és vàlida."
+msgstr "La seqüència UTF-8 que es troba a la posició %d no és vàlida."
#: common/errors.cpp:27
msgid "Operation Not Supported: %what:1"
msgstr "La clau «%key:1» no és %accepted:2 i per tant no es vàlida."
#: common/errors.cpp:147
-msgid ""
-"The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%"
-"key:1\"."
-msgstr ""
-"El valor «%value:2» no és %accepted:3 i per tant no és vàlid per a la clau «%"
-"key:1»."
+msgid "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
+msgstr "El valor «%value:2» no és %accepted:3 i per tant no és vàlid per a la clau «%key:1»."
#: common/errors.cpp:163
msgid "The key \"%key:1\" is not a string."
msgstr "La clau «%key:1» no és una llista."
#: common/errors.cpp:195
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"reset-"
-"\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
msgstr "La clau «%key:1» no admet cap paràmetre quan es prefixa amb «reset-»."
#: common/errors.cpp:203
#, fuzzy
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by an \"enable-"
-"\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by an \"enable-\"."
msgstr "La clau «%key:1» no admet cap paràmetre quan es prefixa amb «enable-»."
#: common/errors.cpp:211
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" "
-"or \"disable-\"."
-msgstr ""
-"La clau «%key:1» no admet cap paràmetre quan es prefixa amb «dont-» o "
-"«disable-»."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
+msgstr "La clau «%key:1» no admet cap paràmetre quan es prefixa amb «dont-» o «disable-»."
#: common/errors.cpp:219
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"clear-"
-"\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
msgstr "La clau «%key:1» no admet cap paràmetre quan es prefixa amb «clear-»."
#: common/errors.cpp:235
#: common/errors.cpp:299
#, c-format
-msgid ""
-"The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be "
-"stripped."
-msgstr ""
-"La condició «%cond:1» no garanteix que sempre es pugui treure «%strip:2»."
+msgid "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
+msgstr "La condició «%cond:1» no garanteix que sempre es pugui treure «%strip:2»."
#: common/errors.cpp:307
#, c-format
-msgid ""
-"The file \"%file:1\" is not in the proper format. Expected the file to be in "
-"\"%exp:2\" not \"%got:3\"."
-msgstr ""
-"El fitxer «%file:1» no té el format adequat. S’esperava que el fitxer fos en "
-"«%exp:2» en comptes de «%got:3»."
+msgid "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
+msgstr "El fitxer «%file:1» no té el format adequat. S’esperava que el fitxer fos en «%exp:2» en comptes de «%got:3»."
#: common/errors.cpp:323
#, c-format
#: common/errors.cpp:635
#, c-format
msgid "\"%mode:1\" error while extend Aspell modes. (out of memory?)"
-msgstr ""
-"s’ha produït un error del mode «%mode:1» mentre s’ampliaven els modes de "
-"l’Aspell (s’ha quedat sense memòria?)."
+msgstr "s’ha produït un error del mode «%mode:1» mentre s’ampliaven els modes de l’Aspell (s’ha quedat sense memòria?)."
#: common/errors.cpp:651
#, c-format
msgid "\"%mode:1\": no start for magic search given for magic \"%magic:2\"."
-msgstr ""
-"«%mode:1»: no s’ha establert cap inici per a la cerca màgica al màgic «%"
-"magic:2»."
+msgstr "«%mode:1»: no s’ha establert cap inici per a la cerca màgica al màgic «%magic:2»."
#: common/errors.cpp:659
#, c-format
msgid "\"%mode:1\": no range for magic search given for magic \"%magic:2\"."
-msgstr ""
-"«%mode:1»: no s’ha establert l’abast de la cerca màgica al màgic «%magic:2»."
+msgstr "«%mode:1»: no s’ha establert l’abast de la cerca màgica al màgic «%magic:2»."
#: common/errors.cpp:667
#, c-format
msgid "\"%mode:1\": no magic expression available for magic \"%magic:2\"."
-msgstr ""
-"«%mode:1»: no hi ha cap expressió màgica disponible per al màgic «%magic:2»."
+msgstr "«%mode:1»: no hi ha cap expressió màgica disponible per al màgic «%magic:2»."
#: common/errors.cpp:675
-msgid ""
-"\"%mode:1\": Magic \"%magic:2\": bad regular expression after location "
-"specifier; regexp reports: \"%regerr:3\"."
-msgstr ""
-"«%mode:1»: Màgic «%magic:2»: l’expressió regular de després de "
-"l’especificador d’ubicació no és correcte; regexp informa: «%regerr:3»."
+msgid "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
+msgstr "«%mode:1»: Màgic «%magic:2»: l’expressió regular de després de l’especificador d’ubicació no és correcte; regexp informa: «%regerr:3»."
#: common/errors.cpp:691
#, c-format
msgid "Unhandled Error: "
msgstr "Error inesperat: "
-#: prog/aspell.cpp:97
+#: prog/aspell.cpp:98
#, c-format
msgid "Error: %s\n"
msgstr "Error: %s\n"
-#: prog/aspell.cpp:102
+#: prog/aspell.cpp:103
msgid "Error: "
msgstr "Error: "
-#: prog/aspell.cpp:203
+#: prog/aspell.cpp:204
msgid "enter Email mode."
msgstr "entra al mode Email"
-#: prog/aspell.cpp:204
+#: prog/aspell.cpp:205
msgid "enter HTML mode."
msgstr "entra al mode HTML"
-#: prog/aspell.cpp:205
+#: prog/aspell.cpp:206
msgid "enter TeX mode."
msgstr "entra al mode TeX"
-#: prog/aspell.cpp:206
+#: prog/aspell.cpp:207
msgid "enter Nroff mode."
msgstr "entra al mode Nroff"
-#: prog/aspell.cpp:312
+#: prog/aspell.cpp:313
#, c-format
msgid "Invalid Option: %s"
msgstr "L’opció no és vàlida: %s"
-#: prog/aspell.cpp:319
+#: prog/aspell.cpp:320
msgid " does not take any parameters."
msgstr " no admet cap paràmetre."
-#: prog/aspell.cpp:332 prog/aspell.cpp:392
+#: prog/aspell.cpp:333 prog/aspell.cpp:393
#, c-format
msgid "You must specify a parameter for \"%s\"."
msgstr "Heu d’especificar un paràmetre per a «%s»."
-#: prog/aspell.cpp:381
+#: prog/aspell.cpp:382
msgid "You must specify an action"
msgstr "Heu d’especificar una acció"
-#: prog/aspell.cpp:389 prog/aspell.cpp:452 prog/aspell.cpp:474
+#: prog/aspell.cpp:390 prog/aspell.cpp:453 prog/aspell.cpp:475
#, c-format
msgid "Unknown Action: %s"
msgstr "Acció desconeguda: %s"
-#: prog/aspell.cpp:395
+#: prog/aspell.cpp:396
#, c-format
msgid "Error: You must specify at least %d parameters for \"%s\".\n"
msgstr "Error: Heu d’especificar com a mínim %d paràmetres per a «%s».\n"
-#: prog/aspell.cpp:637
+#: prog/aspell.cpp:638
msgid "Invalid Input"
msgstr "L’entrada no és vàlida"
-#: prog/aspell.cpp:710
+#: prog/aspell.cpp:711
#, c-format
msgid "WARNING: Unable to enter Nroff mode: %s\n"
msgstr "ADVERTÈNCIA: No s’ha pogut entrar al mode Nroff: %s\n"
-#: prog/aspell.cpp:731
+#: prog/aspell.cpp:732
msgid "Time to load word list: "
msgstr "Temps per carregar del vocabulari: "
-#: prog/aspell.cpp:929
+#: prog/aspell.cpp:930
#, c-format
msgid "Suggestion Time: %f\n"
msgstr "Temps de suggestió: %f\n"
-#: prog/aspell.cpp:972
+#: prog/aspell.cpp:973
msgid "You must specify a file name."
msgstr "Heu d’especificar un nom de fitxer."
-#: prog/aspell.cpp:975
+#: prog/aspell.cpp:976
msgid "Only one file name may be specified."
msgstr ""
-#: prog/aspell.cpp:985
+#: prog/aspell.cpp:986
#, c-format
msgid "Could not open the file \"%s\" for reading"
msgstr "No s’ha pogut obrir el fitxer \"%s\" per a llegir-lo"
-#: prog/aspell.cpp:998
+#: prog/aspell.cpp:999
#, c-format
msgid "Invalid keymapping: %s"
msgstr "El mapa de teclat no és vàlid: %s"
-#: prog/aspell.cpp:1020
+#: prog/aspell.cpp:1014
+#, fuzzy, c-format
+#| msgid "\"%expression:1\" is not a valid regular expression."
+msgid "\"%s\" is not a regular file"
+msgstr "«%expression:1» no és una expressió regular vàlida."
+
+#: prog/aspell.cpp:1025
#, c-format
msgid "Could not open the file \"%s\" for writing. File not saved."
-msgstr ""
-"No s’ha pogut obrir el fitxer \"%s\" per a escriure-hi. El fitxer no s’ha "
-"desat."
+msgstr "No s’ha pogut obrir el fitxer \"%s\" per a escriure-hi. El fitxer no s’ha desat."
-#: prog/aspell.cpp:1033
+#: prog/aspell.cpp:1038
msgid "Ignore"
msgstr "Ignora-la"
-#: prog/aspell.cpp:1034
+#: prog/aspell.cpp:1039
msgid "Ignore all"
msgstr "Ignora-les totes"
-#: prog/aspell.cpp:1035
+#: prog/aspell.cpp:1040
msgid "Replace"
msgstr "Reemplaça-la"
-#: prog/aspell.cpp:1036
+#: prog/aspell.cpp:1041
msgid "Replace all"
msgstr "Reemplaça-les totes"
-#: prog/aspell.cpp:1037
+#: prog/aspell.cpp:1042
msgid "Add"
msgstr "Afegeix-la"
-#: prog/aspell.cpp:1038
+#: prog/aspell.cpp:1043
msgid "Add Lower"
msgstr "Afegeix-la en minúscules"
-#: prog/aspell.cpp:1039
+#: prog/aspell.cpp:1044
msgid "Abort"
msgstr "Avorta"
-#: prog/aspell.cpp:1040
+#: prog/aspell.cpp:1045
msgid "Exit"
msgstr "Surt"
-#: prog/aspell.cpp:1116
+#: prog/aspell.cpp:1121
msgid "Are you sure you want to abort (y/n)? "
msgstr "Segur que voleu avortar (s/n)? "
#. TRANSLATORS: The user may input any of these characters to say "yes".
#. MUST ONLY CONSIST OF ASCII CHARACTERS.
-#: prog/aspell.cpp:1120
+#: prog/aspell.cpp:1125
msgid "Yy"
msgstr "SsYy"
-#: prog/aspell.cpp:1148
+#: prog/aspell.cpp:1153
msgid "With: "
msgstr "Amb: "
-#: prog/aspell.cpp:1165
+#: prog/aspell.cpp:1170
msgid "Sorry that is an invalid choice!"
msgstr "No és una opció vàlida! Disculpeu les molèsties."
-#: prog/aspell.cpp:1386
+#: prog/aspell.cpp:1391
msgid "Sorry \"filter\" is currently unimplemented.\n"
msgstr "Actualment «filter» no està implementat. Disculpeu les molèsties.\n"
-#: prog/aspell.cpp:1520
+#: prog/aspell.cpp:1525
msgid "Can't merge a master word list yet. Sorry."
-msgstr ""
-"Ara per ara el vocabulari principal no es pot unir. Disculpeu les molèsties."
+msgstr "Ara per ara el vocabulari principal no es pot unir. Disculpeu les molèsties."
-#: prog/aspell.cpp:1544
+#: prog/aspell.cpp:1549
msgid "Sorry \"create/merge personal\" is currently unimplemented.\n"
-msgstr ""
-"Actualment «create/merge personal» no està implementat. Disculpeu les "
-"molèsties.\n"
+msgstr "Actualment «create/merge personal» no està implementat. Disculpeu les molèsties.\n"
-#: prog/aspell.cpp:1553 prog/aspell.cpp:1609
+#: prog/aspell.cpp:1558 prog/aspell.cpp:1614
#, c-format
msgid "Sorry I won't overwrite \"%s\""
msgstr "No sobreescriuré «%s». Disculpeu les molèsties."
-#: prog/aspell.cpp:1600
+#: prog/aspell.cpp:1605
msgid "Sorry \"create/merge repl\" is currently unimplemented.\n"
-msgstr ""
-"Actualment «create/merge repl» no està implementat. Disculpeu les "
-"molèsties.\n"
+msgstr "Actualment «create/merge repl» no està implementat. Disculpeu les molèsties.\n"
-#: prog/aspell.cpp:1872
+#: prog/aspell.cpp:1877
#, c-format
msgid "\"%s\" is not a valid flag for the \"munch-list\" command."
msgstr "«%s» no és una marca vàlida per a l’ordre «munch-list»."
#. TRANSLATORS: These should all be formated to fit in 80 column or
#. less
-#: prog/aspell.cpp:2799
+#: prog/aspell.cpp:2804
msgid "Usage: aspell [options] <command>"
msgstr "Sintaxi: aspell [opcions] <ordre>"
-#: prog/aspell.cpp:2800
+#: prog/aspell.cpp:2805
msgid "<command> is one of:"
msgstr "<ordre> és una de les següents:"
-#: prog/aspell.cpp:2801
+#: prog/aspell.cpp:2806
msgid " -?|usage display a brief usage message"
msgstr " -?|usage mostra un missatge resumit d’utilització"
-#: prog/aspell.cpp:2802
+#: prog/aspell.cpp:2807
msgid " help display a detailed help message"
msgstr " help mostra un missatge detallat d’ajuda"
-#: prog/aspell.cpp:2803
+#: prog/aspell.cpp:2808
msgid " -c|check <file> to check a file"
msgstr " -c|check <fitxer> per tal de revisar un fitxer"
-#: prog/aspell.cpp:2804
+#: prog/aspell.cpp:2809
msgid " -a|pipe \"ispell -a\" compatibility mode"
msgstr " -a|pipe mode de compatibilitat amb «ispell -a»"
-#: prog/aspell.cpp:2805
+#: prog/aspell.cpp:2810
msgid " [dump] config dumps the current configuration to stdout"
msgstr " [dump] config aboca la configuració actual a l’stdout"
-#: prog/aspell.cpp:2806
+#: prog/aspell.cpp:2811
msgid " config <key> prints the current value of an option"
msgstr " config <clau> mostra el valor actual d’una opció"
-#: prog/aspell.cpp:2807
+#: prog/aspell.cpp:2812
msgid " [dump] dicts | filters | modes"
msgstr " [dump] dicts | filters | modes"
-#: prog/aspell.cpp:2808
+#: prog/aspell.cpp:2813
msgid " lists available dictionaries / filters / filter modes"
msgstr " llista els diccionaris / filtres / modes de filtratge disponibles"
-#: prog/aspell.cpp:2809
+#: prog/aspell.cpp:2814
msgid "[options] is any of the following:"
msgstr "[opcions] és qualsevol de les següents:"
-#: prog/aspell.cpp:2822
-msgid ""
-" list produce a list of misspelled words from standard input"
-msgstr ""
-" list torna una llista de faltes a partir de l’entrada "
-"estàndard"
+#: prog/aspell.cpp:2827
+msgid " list produce a list of misspelled words from standard input"
+msgstr " list torna una llista de faltes a partir de l’entrada estàndard"
-#: prog/aspell.cpp:2825
-msgid ""
-" soundslike returns the sounds like equivalent for each word entered"
-msgstr ""
-" soundslike torna la semblança fònica de cada paraula introduïda"
+#: prog/aspell.cpp:2830
+msgid " soundslike returns the sounds like equivalent for each word entered"
+msgstr " soundslike torna la semblança fònica de cada paraula introduïda"
-#: prog/aspell.cpp:2826
+#: prog/aspell.cpp:2831
msgid " munch generate possible root words and affixes"
msgstr " munch genera les possibles arrels i afixos"
-#: prog/aspell.cpp:2827
+#: prog/aspell.cpp:2832
msgid " expand [1-4] expands affix flags"
msgstr " expand [1-4] expandeix les marques d’afixos"
-#: prog/aspell.cpp:2828
-msgid ""
-" clean [strict] cleans a word list so that every line is a valid word"
-msgstr ""
-" clean [strict] neteja un vocabulari perquè cada línia sigui un mot "
-"vàlid"
+#: prog/aspell.cpp:2833
+msgid " clean [strict] cleans a word list so that every line is a valid word"
+msgstr " clean [strict] neteja un vocabulari perquè cada línia sigui un mot vàlid"
-#: prog/aspell.cpp:2830
+#: prog/aspell.cpp:2835
msgid " -v|version prints a version line"
msgstr " -v|version mostra una línia amb la versió"
-#: prog/aspell.cpp:2831
+#: prog/aspell.cpp:2836
#, fuzzy
+#| msgid " munch-list [simple] [single|multi] [keep]\n"
msgid " munch-list [simple] [single|multi] [keep]"
msgstr " munch-list [simple] [single|multi] [keep]\n"
-#: prog/aspell.cpp:2832
+#: prog/aspell.cpp:2837
msgid " reduce the size of a word list via affix compression"
-msgstr ""
-" redueix la mida d’un vocabulari per mitjà de la compressió d’afixos"
+msgstr " redueix la mida d’un vocabulari per mitjà de la compressió d’afixos"
-#: prog/aspell.cpp:2833
+#: prog/aspell.cpp:2838
msgid " conv <from> <to> [<norm-form>]"
msgstr " conv <from> <to> [<norm-form>]"
-#: prog/aspell.cpp:2834
+#: prog/aspell.cpp:2839
msgid " converts from one encoding to another"
msgstr " converteix des d’una codificació cap a una altra"
-#: prog/aspell.cpp:2835
+#: prog/aspell.cpp:2840
msgid " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
msgstr " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
-#: prog/aspell.cpp:2836
+#: prog/aspell.cpp:2841
msgid " perform Unicode normalization"
msgstr " realitza la normalització d’Unicode"
-#: prog/aspell.cpp:2839
+#: prog/aspell.cpp:2844
msgid " dump|create|merge master|personal|repl [<name>]"
msgstr " dump|create|merge master|personal|repl [<nom>]"
-#: prog/aspell.cpp:2840
-msgid ""
-" dumps, creates or merges a master, personal, or replacement dictionary."
-msgstr ""
-" aboca, crea o uneix un diccionari principal, personal o de substitucions."
+#: prog/aspell.cpp:2845
+msgid " dumps, creates or merges a master, personal, or replacement dictionary."
+msgstr " aboca, crea o uneix un diccionari principal, personal o de substitucions."
#. TRANSLATORS: "none", "internal" and "strict" are literal values
#. and should not be translated.
-#: prog/aspell.cpp:2844
-msgid ""
-" <norm-form> normalization form to use, either none, internal, or "
-"strict"
+#: prog/aspell.cpp:2849
+msgid " <norm-form> normalization form to use, either none, internal, or strict"
msgstr " <norm-form> tipus de normalització: none, internal, o strict"
-#: prog/aspell.cpp:2854
-#, c-format
+#: prog/aspell.cpp:2859
+#, fuzzy, c-format
+#| msgid ""
+#| "\n"
+#| "Aspell %s. Copyright 2000-2004 by Kevin Atkinson.\n"
+#| "\n"
msgid ""
"\n"
"Aspell %s. Copyright 2000-2011 by Kevin Atkinson.\n"
"\n"
msgstr ""
"\n"
-"Aspell %s. Copyright 2000-2011 per Kevin Atkinson.\n"
+"Aspell %s. Copyright 2000-2004 per Kevin Atkinson.\n"
"\n"
-#: prog/aspell.cpp:2888
+#: prog/aspell.cpp:2893
msgid ""
"Available Dictionaries:\n"
" Dictionaries can be selected directly via the \"-d\" or \"master\"\n"
" «-d» o «master». També es poden seleccionar indirectament amb les\n"
" opcions «lang», «variety» i «size».\n"
-#: prog/aspell.cpp:2909
+#: prog/aspell.cpp:2914
msgid ""
"Available Filters (and associated options):\n"
" Filters can be added or removed via the \"filter\" option.\n"
"Filtres disponibles (i opcions relacionades):\n"
" Els filtres es poden afegir o eliminar per mitjà de l’opció «filter».\n"
-#: prog/aspell.cpp:2916
+#: prog/aspell.cpp:2921
#, c-format
msgid ""
"\n"
" filtre %s: %s\n"
#. TRANSLATORS: This should be formated to fit in 80 column or less
-#: prog/aspell.cpp:2933
+#: prog/aspell.cpp:2938
msgid ""
"Available Filter Modes:\n"
" Filter Modes are reconfigured combinations of filters optimized for\n"
#: modules/speller/default/language.cpp:492
#, c-format
msgid "The character '%s' (U+%02X) may not appear at the beginning of a word."
-msgstr ""
-"El caràcter '%s' (U+%02X) no pot aparèixer al començament d’una paraula."
+msgstr "El caràcter '%s' (U+%02X) no pot aparèixer al començament d’una paraula."
#: modules/speller/default/language.cpp:494
#: modules/speller/default/language.cpp:503
#, c-format
-msgid ""
-"The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgid "The character '%s' (U+%02X) must be followed by an alphabetic character."
msgstr "El caràcter '%s' (U+%02X) ha d’anar seguit d’un caràcter alfabètic."
#: modules/speller/default/language.cpp:496
msgstr "El caràcter '%s' (U+%02X) no pot aparèixer al mig d’una paraula."
#: modules/speller/default/language.cpp:508
-msgid ""
-"The character '\\r' (U+0D) may not appear at the end of a word. This "
-"probably means means that the file is using MS-DOS EOL instead of Unix EOL."
-msgstr ""
-"El caràcter '\\r' (U+0D) no pot aparèixer al final d’una paraula. Això "
-"probablement significa que el fitxer utilitza els EOL d’MS-DOS en comptes "
-"dels EOL d’Unix."
+msgid "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgstr "El caràcter '\\r' (U+0D) no pot aparèixer al final d’una paraula. Això probablement significa que el fitxer utilitza els EOL d’MS-DOS en comptes dels EOL d’Unix."
#: modules/speller/default/language.cpp:511
#, c-format
#: modules/speller/default/language.cpp:543
#, c-format
msgid "Warning: Removing invalid affix '%s' from word %s.\n"
-msgstr ""
-"Advertència: S’està eliminant l’afix incorrecte '%s' de la paraula «%s».\n"
+msgstr "Advertència: S’està eliminant l’afix incorrecte '%s' de la paraula «%s».\n"
#: modules/speller/default/language.cpp:544
#, c-format
msgid "Warning: Removing inapplicable affix '%s' from word %s.\n"
-msgstr ""
-"Advertència: S’està eliminant l’afix inaplicable '%s' de la paraula «%s».\n"
+msgstr "Advertència: S’està eliminant l’afix inaplicable '%s' de la paraula «%s».\n"
-#: modules/speller/default/language.cpp:674
+#: modules/speller/default/language.cpp:675
#, c-format
msgid "Warning: %s Skipping string.\n"
msgstr "Advertència: %s S’està ometent la cadena.\n"
-#: modules/speller/default/language.cpp:732
+#: modules/speller/default/language.cpp:733
msgid "The total length is larger than 240 characters."
msgstr "La llargària total és superior a 240 caràcters."
-#: modules/speller/default/language.cpp:736
+#: modules/speller/default/language.cpp:737
#, c-format
msgid "Warning: %s Skipping word.\n"
msgstr "Advertència: %s S’està ometent la paraula.\n"
msgstr "El recompte possiblement és incorrecte."
#: modules/speller/default/readonly_ws.cpp:362
+msgid "Incompatible hash function."
+msgstr ""
+
+#: modules/speller/default/readonly_ws.cpp:440
msgid "Wrong endian order."
msgstr "L’ordenació endian no és correcte."
-#: modules/speller/default/readonly_ws.cpp:385
+#: modules/speller/default/readonly_ws.cpp:463
msgid "Wrong soundslike."
msgstr "La semblança fònica no és correcte."
-#: modules/speller/default/readonly_ws.cpp:391
+#: modules/speller/default/readonly_ws.cpp:469
msgid "Wrong soundslike version."
msgstr "La versió de la semblança fònica no és correcte."
-#: modules/speller/default/readonly_ws.cpp:853
+#: modules/speller/default/readonly_ws.cpp:934
msgid "Affix flags found in word but no affix file given."
-msgstr ""
-"S’han trobat marques d’afixos a la paraula però no s’ha especificat cap "
-"fitxer d’afixos."
+msgstr "S’han trobat marques d’afixos a la paraula però no s’ha especificat cap fitxer d’afixos."
-#: modules/speller/default/readonly_ws.cpp:891
-msgid ""
-"The total word length, with soundslike data, is larger than 240 characters."
-msgstr ""
-"La llargària total de la paraula, incloent les dades de la semblança fònica, "
-"és superior a 240 caràcters."
+#: modules/speller/default/readonly_ws.cpp:972
+msgid "The total word length, with soundslike data, is larger than 240 characters."
+msgstr "La llargària total de la paraula, incloent les dades de la semblança fònica, és superior a 240 caràcters."
#: modules/speller/default/multi_ws.cpp:58
msgid "There must be at least one \"add\" line."
msgid "HTML tags to always skip the contents of"
msgstr "etiquetes HTML per a ignorar-ne el contingut"
+#: modules/filter/markdown-filter.info:8
+#, fuzzy
+#| msgid "filter for dealing with Texinfo documents"
+msgid "filter for Markdown/CommonMark documents"
+msgstr "filtre per a ocupar-se dels documents Texinfo"
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
+msgstr ""
+
#: modules/filter/nroff-filter.info:7
msgid "filter for dealing with Nroff documents"
msgstr "filtre per a ocupar-se dels documents Nroff"
msgid "mode for checking HTML documents"
msgstr "mode de revisió de documents HTML"
+#: modules/filter/modes/markdown.amf:10
+#, fuzzy
+#| msgid "mode for checking Nroff documents"
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr "mode de revisió de documents Nroff"
+
#: modules/filter/modes/none.amf:5
msgid "mode to disable all filters"
msgstr "mode per a inhabilitar tots els filtres"
# Copyright (C) 2004, 2007 Kevin Atkinson
# Copyright (C) 2004, 2007 Miloslav Trmac <mitr@volny.cz>
# This file is distributed under the same license as the aspell package.
+#
# Miloslav Trmac <mitr@volny.cz>, 2004, 2007.
+# Marek Černocký <marek@manet.cz>, 2013.
#
msgid ""
msgstr ""
-"Project-Id-Version: aspell 0.60.5\n"
+"Project-Id-Version: aspell 0.60.7\n"
"Report-Msgid-Bugs-To: kevina@gnu.org\n"
-"POT-Creation-Date: 2011-07-04 03:25-0600\n"
-"PO-Revision-Date: 2007-09-06 21:28+0200\n"
-"Last-Translator: Miloslav Trmac <mitr@volny.cz>\n"
+"POT-Creation-Date: 2019-07-29 02:38-0400\n"
+"PO-Revision-Date: 2013-06-07 10:21+0200\n"
+"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
+"Language: cs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
#: common/info.cpp:232
msgid "a number between 0 and 1"
#: common/info.cpp:569
msgid "in the form \"<name> <value>\""
-msgstr "ve tvaru \"<název> <hodnota>\""
+msgstr "ve tvaru „<název> <hodnota>“"
#: common/config.cpp:74
msgid "string"
#: common/config.cpp:74
msgid "boolean"
-msgstr "booleovská hodnota"
+msgstr "pravdivostní hodnota"
#: common/config.cpp:74
msgid "list"
#. * values and should not be translated.
#: common/config.cpp:978
msgid "either \"true\" or \"false\""
-msgstr "buď \"true\" nebo \"false\""
+msgstr "buď „true“ nebo „false“"
#: common/config.cpp:997
msgid "a positive integer"
#: common/config.cpp:1125
msgid "# default: "
-msgstr "# implicitní: "
+msgstr "# výchozí: "
#: common/config.cpp:1188
#, c-format
msgid "ASPELL_CONF env var"
msgstr "proměnná prostředí ASPELL_CONF"
-#. TRANSLATORS: The remaing strings in config.cpp should be kept
+#. TRANSLATORS: The remaining strings in config.cpp should be kept
#. under 50 characters, begin with a lower case character and not
#. include any trailing punctuation marks.
#: common/config.cpp:1360
#: common/config.cpp:1371
msgid "encoding to expect data to be in"
-msgstr "kódování, ve kterém očekávat data"
+msgstr "kódování, ve kterém se mají očekávat data"
#: common/config.cpp:1373
msgid "add or removes a filter"
#: common/config.cpp:1375
msgid "path(s) aspell looks for filters"
-msgstr "cesty, kde aspell hledá filtry"
+msgstr "cesty, kde má aspell hledát filtry"
#: common/config.cpp:1379
msgid "filter mode"
#: common/config.cpp:1381
msgid "extra dictionaries to use"
-msgstr "další slovníky, které používat"
+msgstr "další slovníky, které se mají používat"
#: common/config.cpp:1383
msgid "location for personal files"
#. TRANSLATORS: It is OK if this is longer than 50 chars
#: common/config.cpp:1388
msgid "ignore accents when checking words -- CURRENTLY IGNORED"
-msgstr "při kontrole slov ignorovat diakritiku -- MOMENTÁLNĚ IGNOROVÁNO"
+msgstr "při kontrole slov ignorovat diakritiku -- V SOUČASNOSTI IGNOROVÁNO"
#: common/config.cpp:1390
msgid "ignore case when checking words"
#: common/config.cpp:1394 common/config.cpp:1461
msgid "extra information for the word list"
-msgstr "informace navíc pro seznam slov"
+msgstr "dodatečné informace pro seznam slov"
#: common/config.cpp:1396
msgid "keyboard definition to use for typo analysis"
#: common/config.cpp:1404
msgid "base name of the main dictionary to use"
-msgstr "základní jméno hlavního slovníku, který používat"
+msgstr "základní název hlavního slovníku, který se má používat"
#: common/config.cpp:1408
msgid "set module name"
#: common/config.cpp:1420
msgid "avoid lossy conversions when normalization"
-msgstr "nepoužívat při normalizaci ztrátové konverze"
+msgstr "nepoužívat při normalizaci ztrátové převody"
#: common/config.cpp:1422
msgid "personal configuration file"
#: common/config.cpp:1428
msgid "prefix directory"
-msgstr "adresář prefixu"
+msgstr "složka prefixu"
#: common/config.cpp:1430
msgid "replacements list file name"
#. translated.
#: common/config.cpp:1451
msgid "edit distance to use, override sug-mode default"
-msgstr "nahradit vzdálenost implicitní ze sug-mode"
+msgstr "nahradit vzdálenost výchozí ze sug-mode"
#: common/config.cpp:1453
msgid "use typo analysis, override sug-mode default"
#: common/config.cpp:1457
msgid "characters to insert when a word is split"
-msgstr "znaky, které vložit při rozdělení slova"
+msgstr "znaky, které se mají vložit při rozdělení slova"
#: common/config.cpp:1459
msgid "use personal, replacement & session dictionaries"
#. TRANSLATORS: It is OK if this is longer than 50 chars
#: common/config.cpp:1475
msgid "indicator for affix flags in word lists -- CURRENTLY IGNORED"
-msgstr "indikátor příznaků přípon v seznamech slov -- MOMENTÁLNĚ IGNOROVÁNO"
+msgstr "indikátor příznaků přípon v seznamech slov -- V SOUČASNOSTI IGNOROVÁNO"
#: common/config.cpp:1477
msgid "use affix compression when creating dictionaries"
-msgstr "při tvorbě slovníků používat kompresi přípon"
+msgstr "při tvorbě slovníků používat komprimaci přípon"
#: common/config.cpp:1479
msgid "remove invalid affix flags"
#: common/config.cpp:1498
msgid "create a backup file by appending \".bak\""
-msgstr "vytvořit záložní soubor připojením \".bak\""
+msgstr "vytvořit záložní soubor připojením „.bak“"
#: common/config.cpp:1500
msgid "use byte offsets instead of character offsets"
#: common/config.cpp:1504
msgid "keymapping for check mode: \"aspell\" or \"ispell\""
-msgstr "mapování kláves pro režim kontroly: \"aspell\" nebo \"ispell\""
+msgstr "mapování kláves pro režim kontroly: „aspell“ nebo „ispell“"
#: common/config.cpp:1506
msgid "reverse the order of the suggest list"
#: common/config.cpp:1510
msgid "time load time and suggest time in pipe mode"
-msgstr "měřit čas načítání a návrhů v režimu pipe"
+msgstr "měřit čas načítání a návrhů v režimu roury (pipe)"
-#: common/convert.cpp:303 common/convert.cpp:429
+#: common/convert.cpp:303 common/convert.cpp:497
#, c-format
-msgid ""
-"This could also mean that the file \"%s\" could not be opened for reading or "
-"does not exist."
-msgstr ""
-"To by také mohlo znamenat, že soubor \"%s\" nelze otevřít pro čtení nebo "
-"soubor neexistuje."
+msgid "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
+msgstr "Také by to mohlo znamenat, že soubor „%s“ nelze otevřít pro čtení, nebo že soubor neexistuje."
-#: common/convert.cpp:552 common/convert.cpp:659 common/convert.cpp:705
+#: common/convert.cpp:582 common/convert.cpp:689 common/convert.cpp:735
#, c-format
msgid "The Unicode code point U+%04X is unsupported."
msgstr "Kód Unicode U+%04X není podporován."
-#: common/convert.cpp:829
+#: common/convert.cpp:859
#, c-format
msgid "Invalid UTF-8 sequence at position %ld."
msgstr "Neplatná sekvence UTF-8 na pozici %ld."
#: common/errors.cpp:43
msgid "The method \"%what:1\" is unimplemented in \"%where:2\"."
-msgstr "Metoda \"%what:1\" není v \"%where:2\" implementována."
+msgstr "Metoda „%what:1“ není v „%where:2“ implementována."
#: common/errors.cpp:51
#, c-format
#: common/errors.cpp:59
#, c-format
msgid "The file \"%file:1\" can not be opened"
-msgstr "Soubor \"%file:1\" nelze otevřít"
+msgstr "Soubor „%file:1“ nelze otevřít"
#: common/errors.cpp:67
#, c-format
msgid "The file \"%file:1\" can not be opened for reading."
-msgstr "Soubor \"%file:1\" nelze otevřít pro čtení."
+msgstr "Soubor „%file:1“ nelze otevřít pro čtení."
#: common/errors.cpp:75
#, c-format
msgid "The file \"%file:1\" can not be opened for writing."
-msgstr "Soubor \"%file:1\" nelze otevřít pro zápis."
+msgstr "Soubor „%file:1“ nelze otevřít pro zápis."
#: common/errors.cpp:83
#, c-format
msgid "The file name \"%file:1\" is invalid."
-msgstr "Název souboru \"%file:1\" není platný."
+msgstr "Název souboru „%file:1“ není platný."
#: common/errors.cpp:91
#, c-format
msgid "The file \"%file:1\" is not in the proper format."
-msgstr "Soubor \"%file:1\" není ve správném formátu."
+msgstr "Soubor „%file:1“ není ve správném formátu."
#: common/errors.cpp:107
#, c-format
msgid "The directory \"%dir:1\" can not be opened for reading."
-msgstr "Adresář \"%dir:1\" nelze otevřít pro čtení."
+msgstr "Složku „%dir:1“ nelze otevřít pro čtení."
#: common/errors.cpp:123
msgid "The key \"%key:1\" is unknown."
-msgstr "Klíč \"%key:1\" není znám."
+msgstr "Klíč „%key:1“ není znám."
#: common/errors.cpp:131
msgid "The value for option \"%key:1\" can not be changed."
-msgstr "Hodnota přepínače \"%key:1\" nemůže být změněna."
+msgstr "Hodnotu přepínače „%key:1“ nelze změnit."
#: common/errors.cpp:139
msgid "The key \"%key:1\" is not %accepted:2 and is thus invalid."
-msgstr "Klíč \"%key:1\" není %accepted:2 a je tedy neplatný."
+msgstr "Klíč „%key:1“ není %accepted:2 a je tedy neplatný."
#: common/errors.cpp:147
-msgid ""
-"The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%"
-"key:1\"."
-msgstr ""
-"Hodnota \"%value:2\" není %accepted:3 a je tedy neplatná pro klíč \"%key:1\"."
+msgid "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
+msgstr "Hodnota „%value:2“ není %accepted:3 a je tedy neplatná pro klíč „%key:1“."
#: common/errors.cpp:163
msgid "The key \"%key:1\" is not a string."
-msgstr "Klíč \"%key:1\" není řetězec."
+msgstr "Klíč „%key:1“ není řetězec."
#: common/errors.cpp:171
msgid "The key \"%key:1\" is not an integer."
-msgstr "Klíč \"%key:1\" není celé číslo."
+msgstr "Klíč „%key:1“ není celé číslo."
#: common/errors.cpp:179
msgid "The key \"%key:1\" is not a boolean."
-msgstr "Klíč \"%key:1\" není booleovská hodnota."
+msgstr "Klíč „%key:1“ není pravdivostní hodnota."
#: common/errors.cpp:187
msgid "The key \"%key:1\" is not a list."
-msgstr "Klíč \"%key:1\" není seznam."
+msgstr "Klíč „%key:1“ není seznam."
#: common/errors.cpp:195
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"reset-"
-"\"."
-msgstr "Klíč \"%key:1\" nemá žádné parametry, když má předponu \"reset-\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
+msgstr "Klíč „%key:1“ nemá žádné parametry, když má předponu „reset-“."
#: common/errors.cpp:203
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by an \"enable-"
-"\"."
-msgstr "Klíč \"%key:1\" nemá žádné parametry, když má předponu \"enable-\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by an \"enable-\"."
+msgstr "Klíč „%key:1“ nemá žádné parametry, když má předponu „enable-“."
#: common/errors.cpp:211
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" "
-"or \"disable-\"."
-msgstr "Klíč \"%key:1\" nemá žádné parametry, když má předponu \"dont-\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
+msgstr "Klíč „%key:1“ nemá žádné parametry, když má předponu „dont-“."
#: common/errors.cpp:219
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"clear-"
-"\"."
-msgstr "Klíč \"%key:1\" nemá žádné parametry, když má předponu \"clear-\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
+msgstr "Klíč „%key:1“ nemá žádné parametry, když má předponu „clear-“."
#: common/errors.cpp:235
#, c-format
msgid "The language \"%lang:1\" is not known."
-msgstr "Jazyk \"%lang:1\" není znám."
+msgstr "Jazyk „%lang:1“ není znám."
#: common/errors.cpp:243
#, c-format
msgid "The soundslike \"%sl:2\" is not known."
-msgstr "Podobnost zvuku \"%sl:2\" není známa"
+msgstr "Podobnost zvuku „%sl:2“ není známa"
#: common/errors.cpp:251
#, c-format
msgid "The language \"%lang:1\" is not supported."
-msgstr "Jazyk \"%lang:1\" není znám."
+msgstr "Jazyk „%lang:1“ není podporován."
#: common/errors.cpp:259
#, c-format
msgid "No word lists can be found for the language \"%lang:1\"."
-msgstr "Pro jazyk \"%lang:1\" nelze najít seznam slov."
+msgstr "Pro jazyk „%lang:1“ nelze najít seznam slov."
#: common/errors.cpp:267
#, c-format
msgid "Expected language \"%lang:1\" but got \"%prev:2\"."
-msgstr "Očekával jsem jazyk \"%lang:1\", ale dostal jsem \"%prev:2\"."
+msgstr "Byl očekáván jazyk „%lang:1“, ale obdržen „%prev:2“."
#: common/errors.cpp:283
#, c-format
msgid "Affix '%aff:1' is corrupt."
-msgstr "Přípona '%aff:1' je poškozena."
+msgstr "Přípona „%aff:1“ je poškozena."
#: common/errors.cpp:291
#, c-format
msgid "The condition \"%cond:1\" is invalid."
-msgstr "Podmínka \"%cond:1\" není platná."
+msgstr "Podmínka „%cond:1“ není platná."
#: common/errors.cpp:299
#, c-format
-msgid ""
-"The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be "
-"stripped."
-msgstr "Podmínka \"%cond:1\" nezaručuje, že \"%strip:2\" lze vždy odstranit."
+msgid "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
+msgstr "Podmínka „%cond:1“ nezaručuje, že „%strip:2“ lze vždy odstranit."
#: common/errors.cpp:307
#, c-format
-msgid ""
-"The file \"%file:1\" is not in the proper format. Expected the file to be in "
-"\"%exp:2\" not \"%got:3\"."
-msgstr ""
-"Soubor \"%file:1\" není ve správném formátu. Očekávaný formát souboru je \"%"
-"exp:2\", ne \"%got:3\"."
+msgid "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
+msgstr "Soubor „%file:1“ není ve správném formátu. Očekávaný formát souboru je „%exp:2“, ne „%got:3“."
#: common/errors.cpp:323
#, c-format
msgid "The encoding \"%encod:1\" is not known."
-msgstr "Kódování \"%encod:1\" není známo."
+msgstr "Kódování „%encod:1“ není známo."
#: common/errors.cpp:331
#, c-format
msgid "The encoding \"%encod:1\" is not supported."
-msgstr "Kódování \"%encod:1\" není podporováno."
+msgstr "Kódování „%encod:1“ není podporováno."
#: common/errors.cpp:339
#, c-format
msgid "The conversion from \"%encod:1\" to \"%encod2:2\" is not supported."
-msgstr "Převod z \"%encod:1\" do \"%encod2:2\" není podporován."
+msgstr "Převod z „%encod:1“ do „%encod2:2“ není podporován."
#: common/errors.cpp:379
#, c-format
msgid "The string \"%str:1\" is invalid."
-msgstr "Řetězec \"%str:1\" není platný."
+msgstr "Řetězec „%str:1“ není platný."
#: common/errors.cpp:387
msgid "The word \"%word:1\" is invalid."
-msgstr "Slovo \"%word:1\" není platné."
+msgstr "Slovo „%word:1“ není platné."
#: common/errors.cpp:395
msgid "The affix flag '%aff:1' is invalid for word \"%word:2\"."
-msgstr "Příznak přípony '%aff:1' není pro slovo \"%word:2\" platný."
+msgstr "Příznak přípony „%aff:1“ není pro slovo „%word:2“ platný."
#: common/errors.cpp:403
msgid "The affix flag '%aff:1' can not be applied to word \"%word:2\"."
-msgstr "Příznak přípony '%aff:1' nelze použít na slovo \"%word:2\"."
+msgstr "Příznak přípony „%aff:1“ nelze použít na slovo „%word:2“."
#: common/errors.cpp:451
msgid "not a version number"
#: common/errors.cpp:467
msgid "dlopen returned \"%return:1\"."
-msgstr "dlopen vrátilo \"%return:1\"."
+msgstr "Funkce dlopen vrátila „%return:1“."
#: common/errors.cpp:475
#, c-format
msgid "The file \"%filter:1\" does not contain any filters."
-msgstr "Soubor \"%filter:1\" neobsahuje žádné filtry."
+msgstr "Soubor „%filter:1“ neobsahuje žádné filtry."
#: common/errors.cpp:483
#, c-format
msgid "The filter \"%filter:1\" does not exist."
-msgstr "Filtr \"%filter:1\" neexistuje."
+msgstr "Filtr „%filter:1“ neexistuje."
#: common/errors.cpp:491 common/errors.cpp:587
msgid "Confused by version control."
#: common/errors.cpp:555
#, c-format
msgid "Option \"%option:1\" possibly specified prior to filter."
-msgstr "Přepínač \"%option:1\" bylo možná zadán před filtrem."
+msgstr "Přepínač „%option:1“ byl možná zadán před filtrem."
#: common/errors.cpp:563
msgid "Unknown mode description key \"%key:1\"."
-msgstr "Neznámý klíč popisu režimu \"%key:1\"."
+msgstr "Neznámý klíč popisu režimu „%key:1“."
#: common/errors.cpp:571
#, c-format
msgid "Expecting \"%modekey:1\" key."
-msgstr "Očekávám klíč \"%modekey:1\"."
+msgstr "Očekávám klíč „%modekey:1“."
#: common/errors.cpp:579
msgid "Version specifier missing key: \"aspell\"."
-msgstr "Ve specifikátoru verze chybí klíč: \"aspell\"."
+msgstr "Ve specifikátoru verze chybí klíč: „aspell“."
#: common/errors.cpp:595
msgid "Aspell version does not match mode's requirement."
#: common/errors.cpp:619
#, c-format
msgid "\"%mode:1\" error"
-msgstr "chyba \"%mode:1\""
+msgstr "chyba „%mode:1“"
#: common/errors.cpp:627
#, c-format
msgid "Unknown mode: \"%mode:1\"."
-msgstr "Neznámý mód: \"%mode:1\"."
+msgstr "Neznámý režim: „%mode:1“."
#: common/errors.cpp:635
#, c-format
msgid "\"%mode:1\" error while extend Aspell modes. (out of memory?)"
-msgstr "Chyba \"%mode:1\" při rozšiřování režimů Aspellu. (nedostatek paměti?)"
+msgstr "Chyba „%mode:1“ při rozšiřování režimů Aspellu. (nedostatek paměti?)"
#: common/errors.cpp:651
#, c-format
msgid "\"%mode:1\": no start for magic search given for magic \"%magic:2\"."
-msgstr "\"%mode:1\": pro magic \"%magic:2\" nebyl zadán začátek hledání."
+msgstr "„%mode:1“: pro magic „%magic:2“ nebyl zadán začátek hledání."
#: common/errors.cpp:659
#, c-format
msgid "\"%mode:1\": no range for magic search given for magic \"%magic:2\"."
-msgstr "\"%mode:1\": pro magic \"%magic:2\" nebyl zadán rozsah hledání."
+msgstr "„%mode:1“: pro magic „%magic:2“ nebyl zadán rozsah hledání."
#: common/errors.cpp:667
#, c-format
msgid "\"%mode:1\": no magic expression available for magic \"%magic:2\"."
-msgstr "\"%mode:1\": pro magic \"%magic:2\" není k dispozici výraz magic."
+msgstr "„%mode:1“: pro magic „%magic:2“ není k dispozici výraz magic."
#: common/errors.cpp:675
-msgid ""
-"\"%mode:1\": Magic \"%magic:2\": bad regular expression after location "
-"specifier; regexp reports: \"%regerr:3\"."
-msgstr ""
-"\"%mode:1\": Magic \"%magic:2\": špatný regulární výraz po určení umístění; "
-"regexp hlásí: \"%regerr:3\"."
+msgid "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
+msgstr "„%mode:1“: Magic „%magic:2“: špatný regulární výraz po určení umístění; regexp hlásí: „%regerr:3“."
#: common/errors.cpp:691
#, c-format
msgid "\"%expression:1\" is not a valid regular expression."
-msgstr "\"%expression:1\" není platný regulární výraz."
+msgstr "„%expression:1“ není platný regulární výraz."
#: common/posib_err.cpp:100
msgid "Unhandled Error: "
msgstr "Neobsloužená chyba: "
-#: prog/aspell.cpp:97
+#: prog/aspell.cpp:98
#, c-format
msgid "Error: %s\n"
msgstr "Chyba: %s\n"
-#: prog/aspell.cpp:102
+#: prog/aspell.cpp:103
msgid "Error: "
msgstr "Chyba: "
-#: prog/aspell.cpp:203
+#: prog/aspell.cpp:204
msgid "enter Email mode."
msgstr "přejít do režimu E-mail."
-#: prog/aspell.cpp:204
+#: prog/aspell.cpp:205
msgid "enter HTML mode."
msgstr "přejít do režimu HTML."
-#: prog/aspell.cpp:205
+#: prog/aspell.cpp:206
msgid "enter TeX mode."
msgstr "přejít do režimu TeX."
-#: prog/aspell.cpp:206
+#: prog/aspell.cpp:207
msgid "enter Nroff mode."
msgstr "přejít do režimu Nroff."
-#: prog/aspell.cpp:312
+#: prog/aspell.cpp:313
#, c-format
msgid "Invalid Option: %s"
msgstr "Neplatný přepínač: %s"
-#: prog/aspell.cpp:319
+#: prog/aspell.cpp:320
msgid " does not take any parameters."
msgstr " nemá žádné parametry."
-#: prog/aspell.cpp:332 prog/aspell.cpp:392
+#: prog/aspell.cpp:333 prog/aspell.cpp:393
#, c-format
msgid "You must specify a parameter for \"%s\"."
-msgstr "Musíte zadat parametr pro \"%s\"."
+msgstr "Musíte zadat parametr pro „%s“."
-#: prog/aspell.cpp:381
+#: prog/aspell.cpp:382
msgid "You must specify an action"
msgstr "Musíte určit akci"
-#: prog/aspell.cpp:389 prog/aspell.cpp:452 prog/aspell.cpp:474
+#: prog/aspell.cpp:390 prog/aspell.cpp:453 prog/aspell.cpp:475
#, c-format
msgid "Unknown Action: %s"
msgstr "Neznámá akce: %s"
-#: prog/aspell.cpp:395
+#: prog/aspell.cpp:396
#, c-format
msgid "Error: You must specify at least %d parameters for \"%s\".\n"
-msgstr "Chyba: Musíte zadat alespoň %d parametrů pro \"%s\".\n"
+msgstr "Chyba: Musíte zadat alespoň %d parametrů pro „%s“.\n"
-#: prog/aspell.cpp:637
+#: prog/aspell.cpp:638
msgid "Invalid Input"
msgstr "Neplatný vstup"
-#: prog/aspell.cpp:710
+#: prog/aspell.cpp:711
#, c-format
msgid "WARNING: Unable to enter Nroff mode: %s\n"
-msgstr "VAROVÁNÍ: Nemohu přejít do režimu Nroff: %s\n"
+msgstr "VAROVÁNÍ: Nelze přejít do režimu Nroff: %s\n"
-#: prog/aspell.cpp:731
+#: prog/aspell.cpp:732
msgid "Time to load word list: "
msgstr "Čas načítání seznamu slov: "
-#: prog/aspell.cpp:929
+#: prog/aspell.cpp:930
#, c-format
msgid "Suggestion Time: %f\n"
msgstr "Čas návrhu: %f\n"
-#: prog/aspell.cpp:972
+#: prog/aspell.cpp:973
msgid "You must specify a file name."
msgstr "Musíte určit název souboru."
-#: prog/aspell.cpp:975
+#: prog/aspell.cpp:976
msgid "Only one file name may be specified."
msgstr "Může být zadán jen jeden název souboru."
-#: prog/aspell.cpp:985
+#: prog/aspell.cpp:986
#, c-format
msgid "Could not open the file \"%s\" for reading"
-msgstr "Nemohu otevřít soubor \"%s\" pro čtení"
+msgstr "Nelze otevřít soubor „%s“ pro čtení"
-#: prog/aspell.cpp:998
+#: prog/aspell.cpp:999
#, c-format
msgid "Invalid keymapping: %s"
msgstr "Neplatné mapování kláves: %s"
-#: prog/aspell.cpp:1020
+#: prog/aspell.cpp:1014
+#, fuzzy, c-format
+#| msgid "\"%expression:1\" is not a valid regular expression."
+msgid "\"%s\" is not a regular file"
+msgstr "„%expression:1“ není platný regulární výraz."
+
+#: prog/aspell.cpp:1025
#, c-format
msgid "Could not open the file \"%s\" for writing. File not saved."
-msgstr "Nemohu otevřít soubor \"%s\" pro zápis. Soubor nebyl uložen."
+msgstr "Nelze otevřít soubor „%s“ pro zápis. Soubor nebyl uložen."
-#: prog/aspell.cpp:1033
+#: prog/aspell.cpp:1038
msgid "Ignore"
msgstr "Ignorovat"
-#: prog/aspell.cpp:1034
+#: prog/aspell.cpp:1039
msgid "Ignore all"
msgstr "Ignorovat vše"
-#: prog/aspell.cpp:1035
+#: prog/aspell.cpp:1040
msgid "Replace"
msgstr "Nahradit"
-#: prog/aspell.cpp:1036
+#: prog/aspell.cpp:1041
msgid "Replace all"
msgstr "Nahradit vše"
-#: prog/aspell.cpp:1037
+#: prog/aspell.cpp:1042
msgid "Add"
msgstr "Přidat"
-#: prog/aspell.cpp:1038
+#: prog/aspell.cpp:1043
msgid "Add Lower"
msgstr "Přidat malá"
-#: prog/aspell.cpp:1039
+#: prog/aspell.cpp:1044
msgid "Abort"
msgstr "Přerušit"
-#: prog/aspell.cpp:1040
+#: prog/aspell.cpp:1045
msgid "Exit"
msgstr "Ukončit"
# FIXME: "to abort"
-#: prog/aspell.cpp:1116
+#: prog/aspell.cpp:1121
msgid "Are you sure you want to abort (y/n)? "
msgstr "Jste si jisti, že chcete přerušit (a/n)? "
#. TRANSLATORS: The user may input any of these characters to say "yes".
#. MUST ONLY CONSIST OF ASCII CHARACTERS.
-#: prog/aspell.cpp:1120
+#: prog/aspell.cpp:1125
msgid "Yy"
msgstr "Aa"
-#: prog/aspell.cpp:1148
+#: prog/aspell.cpp:1153
msgid "With: "
msgstr "S: "
-#: prog/aspell.cpp:1165
+#: prog/aspell.cpp:1170
msgid "Sorry that is an invalid choice!"
-msgstr "Lituji, to je neplatná volba!"
+msgstr "Bohužel, ale toto je neplatná volba!"
-#: prog/aspell.cpp:1386
+#: prog/aspell.cpp:1391
msgid "Sorry \"filter\" is currently unimplemented.\n"
-msgstr "Lituji, \"filter\" momentálně není implementováno.\n"
+msgstr "Bohužel, ale „filter“ momentálně není implementováno.\n"
-#: prog/aspell.cpp:1520
+#: prog/aspell.cpp:1525
msgid "Can't merge a master word list yet. Sorry."
-msgstr "Zatím neumím sloučit hlavní seznam slov. Lituji."
+msgstr "Bohužel, zatím není možnost sloučit hlavní seznam slov."
-#: prog/aspell.cpp:1544
+#: prog/aspell.cpp:1549
msgid "Sorry \"create/merge personal\" is currently unimplemented.\n"
-msgstr "Lituji, \"vytvořit/sloučit osobní\" momentálně není implementováno.\n"
+msgstr "Bohužel, ale „create/merge personal“ není v současnosti implementováno.\n"
-#: prog/aspell.cpp:1553 prog/aspell.cpp:1609
+#: prog/aspell.cpp:1558 prog/aspell.cpp:1614
#, c-format
msgid "Sorry I won't overwrite \"%s\""
-msgstr "Lituji, nepřepíšu \"%s\""
+msgstr "Bohužel, ale „%s“ nebude přepsáno."
-#: prog/aspell.cpp:1600
+#: prog/aspell.cpp:1605
msgid "Sorry \"create/merge repl\" is currently unimplemented.\n"
-msgstr "Lituji, \"vytvořit/sloučit náhr\" momentálně není implementováno.\n"
+msgstr "Bohužel, ale „create/merge repl“ není v současnosti implementováno.\n"
-#: prog/aspell.cpp:1872
+#: prog/aspell.cpp:1877
#, c-format
msgid "\"%s\" is not a valid flag for the \"munch-list\" command."
-msgstr "\"%s\" není platný přepínač pro příkaz \"munch-list\"."
+msgstr "„%s“ není platný přepínač pro příkaz „munch-list“."
#. TRANSLATORS: These should all be formated to fit in 80 column or
#. less
-#: prog/aspell.cpp:2799
+#: prog/aspell.cpp:2804
msgid "Usage: aspell [options] <command>"
msgstr "Použití: aspell [přepínače] <příkaz>"
-#: prog/aspell.cpp:2800
+#: prog/aspell.cpp:2805
msgid "<command> is one of:"
-msgstr "<příkaz> je jedno z:"
+msgstr "<příkaz> je jeden z:"
-#: prog/aspell.cpp:2801
+#: prog/aspell.cpp:2806
msgid " -?|usage display a brief usage message"
msgstr " -?|usage zobrazit krátkou zprávu o použití"
-#: prog/aspell.cpp:2802
+#: prog/aspell.cpp:2807
msgid " help display a detailed help message"
msgstr " help zobrazit podrobnou zprávu s nápovědou"
-#: prog/aspell.cpp:2803
+#: prog/aspell.cpp:2808
msgid " -c|check <file> to check a file"
msgstr " -c|check <soubor> zkontrolovat soubor"
-#: prog/aspell.cpp:2804
+#: prog/aspell.cpp:2809
msgid " -a|pipe \"ispell -a\" compatibility mode"
-msgstr " -a|pipe režim pro kompatibilitu s \"ispell -a\""
+msgstr " -a|pipe režim pro kompatibilitu s „ispell -a“"
-#: prog/aspell.cpp:2805
+#: prog/aspell.cpp:2810
msgid " [dump] config dumps the current configuration to stdout"
msgstr " [dump] config vypíše aktuální nastavení na stdout"
-#: prog/aspell.cpp:2806
+#: prog/aspell.cpp:2811
msgid " config <key> prints the current value of an option"
msgstr " config <klíč> vypíše aktuální hodnotu přepínače"
-#: prog/aspell.cpp:2807
+#: prog/aspell.cpp:2812
msgid " [dump] dicts | filters | modes"
msgstr " [dump] dicts | filters | modes"
-#: prog/aspell.cpp:2808
+#: prog/aspell.cpp:2813
msgid " lists available dictionaries / filters / filter modes"
msgstr " vypíše dostupné slovníky / filtry / režimy filtrů"
-#: prog/aspell.cpp:2809
+#: prog/aspell.cpp:2814
msgid "[options] is any of the following:"
msgstr "[přepínač] je libovolný z následujících:"
-#: prog/aspell.cpp:2822
-msgid ""
-" list produce a list of misspelled words from standard input"
-msgstr ""
-" list vypsat seznam slov s překlepy ze standardního vstupu"
+#: prog/aspell.cpp:2827
+msgid " list produce a list of misspelled words from standard input"
+msgstr " list vypsat seznam slov s překlepy ze standardního vstupu"
-#: prog/aspell.cpp:2825
-msgid ""
-" soundslike returns the sounds like equivalent for each word entered"
-msgstr ""
-" soundslike vrátí ekvivalent pro podobnost zvuku každého zadaného "
-"slova"
+#: prog/aspell.cpp:2830
+msgid " soundslike returns the sounds like equivalent for each word entered"
+msgstr " soundslike vrátit ekvivalent pro podobnost zvuku každého zadaného slova"
-#: prog/aspell.cpp:2826
+#: prog/aspell.cpp:2831
msgid " munch generate possible root words and affixes"
msgstr " munch vygenerovat možné kořeny slov a přípony"
-#: prog/aspell.cpp:2827
+#: prog/aspell.cpp:2832
msgid " expand [1-4] expands affix flags"
-msgstr " expand [1-4] rozbaluje příznaky přípon"
+msgstr " expand [1-4] rozbalit příznaky přípon"
-#: prog/aspell.cpp:2828
-msgid ""
-" clean [strict] cleans a word list so that every line is a valid word"
-msgstr ""
-" clean [strict] vyčistí seznam slov, aby každý řádek bylo platné slovo"
+#: prog/aspell.cpp:2833
+msgid " clean [strict] cleans a word list so that every line is a valid word"
+msgstr " clean [strict] vyčistit seznam slov, aby každý řádek bylo platné slovo"
-#: prog/aspell.cpp:2830
+#: prog/aspell.cpp:2835
msgid " -v|version prints a version line"
-msgstr " -v|version vypíše řádek o verzi"
+msgstr " -v|version vypsat řádek o verzi"
-#: prog/aspell.cpp:2831
+#: prog/aspell.cpp:2836
msgid " munch-list [simple] [single|multi] [keep]"
msgstr " munch-list [simple] [single|multi] [keep]"
-#: prog/aspell.cpp:2832
+#: prog/aspell.cpp:2837
msgid " reduce the size of a word list via affix compression"
-msgstr " zmenšit seznam slov kompresí přípon"
+msgstr " zmenšit seznam slov komprimací přípon"
-#: prog/aspell.cpp:2833
+#: prog/aspell.cpp:2838
msgid " conv <from> <to> [<norm-form>]"
msgstr " conv <z> <do> [<norm-forma>]"
-#: prog/aspell.cpp:2834
+#: prog/aspell.cpp:2839
msgid " converts from one encoding to another"
-msgstr " převede z jednoho kódování do jiného"
+msgstr " převést z jednoho kódování do jiného"
-#: prog/aspell.cpp:2835
+#: prog/aspell.cpp:2840
msgid " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
msgstr " norm (<norm-map> | <z> <norm-map> <do>) [<norm-forma>]"
-#: prog/aspell.cpp:2836
+#: prog/aspell.cpp:2841
msgid " perform Unicode normalization"
msgstr " provést normalizaci Unicode"
-#: prog/aspell.cpp:2839
+#: prog/aspell.cpp:2844
msgid " dump|create|merge master|personal|repl [<name>]"
msgstr " dump|create|merge master|personal|repl [<název>]"
-#: prog/aspell.cpp:2840
-msgid ""
-" dumps, creates or merges a master, personal, or replacement dictionary."
-msgstr ""
-" vypíše, vytvoří nebo sloučí hlavní, osobní seznam slov nebo seznam "
-"náhrad."
+#: prog/aspell.cpp:2845
+msgid " dumps, creates or merges a master, personal, or replacement dictionary."
+msgstr " vypsat, vytvořit nebo sloučit hlavní, osobní seznam slov nebo seznam náhrad."
#. TRANSLATORS: "none", "internal" and "strict" are literal values
#. and should not be translated.
-#: prog/aspell.cpp:2844
-msgid ""
-" <norm-form> normalization form to use, either none, internal, or "
-"strict"
+#: prog/aspell.cpp:2849
+msgid " <norm-form> normalization form to use, either none, internal, or strict"
msgstr " <norm-forma> normalizační forma, buď none, internal nebo strict"
-#: prog/aspell.cpp:2854
+#: prog/aspell.cpp:2859
#, c-format
msgid ""
"\n"
"Aspell %s. Copyright 2000-2011 Kevin Atkinson.\n"
"\n"
-#: prog/aspell.cpp:2888
+#: prog/aspell.cpp:2893
msgid ""
"Available Dictionaries:\n"
" Dictionaries can be selected directly via the \"-d\" or \"master\"\n"
" \"variety\", and \"size\" options.\n"
msgstr ""
"Dostupné slovníky:\n"
-" Slovníky lze vybrat přímo pomocí přepínače \"-d\" nebo \"master\".\n"
-" Mohou také být vybrány nepřímo pomocí přepínače \"lang\", \"variety\"\n"
-" a \"size\".\n"
+" Slovníky lze vybrat přímo pomocí přepínače „-d“ nebo „master“.\n"
+" Mohou také být vybrány nepřímo pomocí přepínače „lang“, „variety“\n"
+" a „size“.\n"
-#: prog/aspell.cpp:2909
+#: prog/aspell.cpp:2914
msgid ""
"Available Filters (and associated options):\n"
" Filters can be added or removed via the \"filter\" option.\n"
msgstr ""
-"Dostupné filtry (a asociované přepínače):\n"
-" Filtry mohou být přidány nebo odebrány pomocí přepínače \"filter\".\n"
+"Dostupné filtry (a přidružené přepínače):\n"
+" Filtry mohou být přidány nebo odebrány pomocí přepínače „filter“.\n"
-#: prog/aspell.cpp:2916
+#: prog/aspell.cpp:2921
#, c-format
msgid ""
"\n"
# FIXME: s/reconfigured/preconfigured/
#. TRANSLATORS: This should be formated to fit in 80 column or less
-#: prog/aspell.cpp:2933
+#: prog/aspell.cpp:2938
msgid ""
"Available Filter Modes:\n"
" Filter Modes are reconfigured combinations of filters optimized for\n"
msgstr ""
"Dostupné režimy filtrů:\n"
" Režimy filtrů jsou přednastavené kombinace filtrů optimalizované pro\n"
-" soubory určitého typu. Režim se volí přepínačem \"mode\". Režim je\n"
-" zvolen implciitně, pokud Aspell může identifikovat typ souboru\n"
+" soubory určitého typu. Režim se volí přepínačem „mode“. Režim je\n"
+" zvolen standardně, pokud Aspell může identifikovat typ souboru\n"
" z přípony a popřípadě obsahu souboru.\n"
#: prog/check_funs.cpp:287
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:781
msgid "Control-H"
-msgstr "Ctrl-H"
+msgstr "Ctrl+H"
#: prog/check_funs.cpp:782
msgid "Delete the previous character"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:787
msgid "Control-B"
-msgstr "Ctrl-B"
+msgstr "Ctrl+B"
#: prog/check_funs.cpp:788
msgid "Move Back one space"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:793
msgid "Control-F"
-msgstr "Ctrl-F"
+msgstr "Ctrl+F"
#: prog/check_funs.cpp:794
msgid "Move Forward one space"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:799
msgid "Control-A"
-msgstr "Ctrl-A"
+msgstr "Ctrl+A"
#: prog/check_funs.cpp:800
msgid "Move to the beginning of the line"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:805
msgid "Control-E"
-msgstr "Ctrl-E"
+msgstr "Ctrl+E"
#: prog/check_funs.cpp:806
msgid "Move to the end of the line"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:811
msgid "Control-D"
-msgstr "Ctrl-D"
+msgstr "Ctrl+D"
#: prog/check_funs.cpp:812
msgid "Delete the next character"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:816
msgid "Control-K"
-msgstr "Ctrl-K"
+msgstr "Ctrl+K"
#: prog/check_funs.cpp:817
msgid "Kill all characters to the EOL"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:821
msgid "Control-C"
-msgstr "Ctrl-C"
+msgstr "Ctrl+C"
#: prog/check_funs.cpp:822
msgid "Abort This Operation"
#: modules/speller/default/language.cpp:110
msgid "The required field \"name\" is missing."
-msgstr "Vyžadované pole \"name\" chybí."
+msgstr "Vyžadované pole „name“ chybí."
#: modules/speller/default/language.cpp:488
msgid "Empty string."
#: modules/speller/default/language.cpp:492
#, c-format
msgid "The character '%s' (U+%02X) may not appear at the beginning of a word."
-msgstr "Znak '%s' (U+%02X) nesmí být na začátku slova."
+msgstr "Znak „%s“ (U+%02X) nesmí být na začátku slova."
#: modules/speller/default/language.cpp:494
#: modules/speller/default/language.cpp:503
#, c-format
-msgid ""
-"The character '%s' (U+%02X) must be followed by an alphabetic character."
-msgstr "Znak '%s' (U+%02X) musí být následován písmenem."
+msgid "The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgstr "Znak „%s“ (U+%02X) musí být následován písmenem."
#: modules/speller/default/language.cpp:496
msgid "Does not contain any alphabetic characters."
#: modules/speller/default/language.cpp:501
#, c-format
msgid "The character '%s' (U+%02X) may not appear in the middle of a word."
-msgstr "Znak '%s' (U+%02X) nesmí být uprostřed slova."
+msgstr "Znak „%s“ (U+%02X) nesmí být uprostřed slova."
#: modules/speller/default/language.cpp:508
-msgid ""
-"The character '\\r' (U+0D) may not appear at the end of a word. This "
-"probably means means that the file is using MS-DOS EOL instead of Unix EOL."
-msgstr ""
-"Znak '\\r' (U+0D) nesmí být na konci slova. Toto pravděpodobně znamená, že "
-"soubor používá konce řádků MS-DOS místo unixových."
+msgid "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgstr "Znak „\\r“ (U+0D) nesmí být na konci slova. Toto pravděpodobně znamená, že soubor používá konce řádků MS-DOS místo unixových."
#: modules/speller/default/language.cpp:511
#, c-format
msgid "The character '%s' (U+%02X) may not appear at the end of a word."
-msgstr "Znak '%s' (U+%02X) nesmí být na konci slova."
+msgstr "Znak „%s“ (U+%02X) nesmí být na konci slova."
#: modules/speller/default/language.cpp:543
#, c-format
msgid "Warning: Removing invalid affix '%s' from word %s.\n"
-msgstr "Varování: Odstraňuji neplatnou příponu '%s' ze slova %s.\n"
+msgstr "Varování: Odstraňuje se neplatná přípona „%s“ ze slova „%s“.\n"
#: modules/speller/default/language.cpp:544
#, c-format
msgid "Warning: Removing inapplicable affix '%s' from word %s.\n"
-msgstr "Varování: Odstraňuji nepoužitelnou příponu '%s' ze slova %s.\n"
+msgstr "Varování: Odstraňuje se nepoužitelná přípona „%s“ ze slova „%s“.\n"
-#: modules/speller/default/language.cpp:674
+#: modules/speller/default/language.cpp:675
#, c-format
msgid "Warning: %s Skipping string.\n"
-msgstr "Varování: %s Přeskakuji řetězec.\n"
+msgstr "Varování: %s Přeskakuje se řetězec.\n"
-#: modules/speller/default/language.cpp:732
+#: modules/speller/default/language.cpp:733
msgid "The total length is larger than 240 characters."
msgstr "Celková délka je větší než 240 znaků."
-#: modules/speller/default/language.cpp:736
+#: modules/speller/default/language.cpp:737
#, c-format
msgid "Warning: %s Skipping word.\n"
-msgstr "Varování: %s Přeskakuji slovo.\n"
+msgstr "Varování: %s Přeskakuje se slovo.\n"
#: modules/speller/default/affix.cpp:426
msgid "Possibly incorrect count."
msgstr "Možná nesprávný počet."
#: modules/speller/default/readonly_ws.cpp:362
+msgid "Incompatible hash function."
+msgstr "Nekompatibilní hašovací funkce"
+
+#: modules/speller/default/readonly_ws.cpp:440
msgid "Wrong endian order."
msgstr "Špatné pořadí bajtů."
-#: modules/speller/default/readonly_ws.cpp:385
+#: modules/speller/default/readonly_ws.cpp:463
msgid "Wrong soundslike."
msgstr "Špatná podobnost zvuku."
-#: modules/speller/default/readonly_ws.cpp:391
+#: modules/speller/default/readonly_ws.cpp:469
msgid "Wrong soundslike version."
msgstr "Špatná verze podobnosti zvuku."
-#: modules/speller/default/readonly_ws.cpp:853
+#: modules/speller/default/readonly_ws.cpp:934
msgid "Affix flags found in word but no affix file given."
msgstr "Příznaky přípon nalezeny ve slově, ale nezadán soubor přípon."
-#: modules/speller/default/readonly_ws.cpp:891
-msgid ""
-"The total word length, with soundslike data, is larger than 240 characters."
+#: modules/speller/default/readonly_ws.cpp:972
+msgid "The total word length, with soundslike data, is larger than 240 characters."
msgstr "Celková délka slova s daty o podobnosti zvuku je větší než 240 znaků."
#: modules/speller/default/multi_ws.cpp:58
msgid "There must be at least one \"add\" line."
-msgstr "Musí existovat aspoň jeden řádek \"add\"."
+msgstr "Musí existovat aspoň jeden řádek „add“."
#: modules/speller/default/suggest.cpp:1403
msgid "one of ultra, fast, normal, slow, or bad-spellers"
#: modules/filter/tex.cpp:255 modules/filter/tex.cpp:262
msgid "a string of 'o','O','p',or 'P'"
-msgstr "řetězec 'o','O','p' nebo 'P'"
+msgstr "řetězec „o“, „O“, „p“ nebo „P“"
#. TRANSLATORS: Like the strings in config.cpp, all strings in *-filter.opt
#. should be under 50 characters, begin with a lower case character and
msgid "HTML tags to always skip the contents of"
msgstr "tagy HTML, jejichž obsah vždy přeskakovat"
+#: modules/filter/markdown-filter.info:8
+#, fuzzy
+#| msgid "filter for dealing with Texinfo documents"
+msgid "filter for Markdown/CommonMark documents"
+msgstr "filtr pro práci s dokumenty Texinfo"
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
+msgstr ""
+
#: modules/filter/nroff-filter.info:7
msgid "filter for dealing with Nroff documents"
msgstr "filtr pro práci s dokumenty Nroff"
#: modules/filter/sgml-filter.info:15
msgid "SGML attributes to always check"
-msgstr "atributy SGML, které vždy kontrolovat"
+msgstr "atributy SGML, které se mají vždy kontrolovat"
#: modules/filter/sgml-filter.info:20
msgid "SGML tags to always skip the contents of"
-msgstr "tagy SGML, jejichž obsah vždy přeskakovat"
+msgstr "značky SGML, jejichž obsah se má vždy přeskakovat"
#: modules/filter/tex-filter.info:7
msgid "filter for dealing with TeX/LaTeX documents"
#: modules/filter/texinfo-filter.info:13
msgid "Texinfo commands to ignore the parameters of"
-msgstr "Příkazy Texhinfo, jejichž parametry ignorovat"
+msgstr "Příkazy Texhinfo, jejichž parametry se mají ignorovat"
#: modules/filter/texinfo-filter.info:41
msgid "Texinfo environments to ignore"
-msgstr "Prostředí texinfo, která ignorovat"
+msgstr "Prostředí texinfo, která se má ignorovat"
#: modules/filter/url-filter.info:7
msgid "filter to skip URL like constructs"
msgid "mode for checking HTML documents"
msgstr "režim pro kontrolu dokumentů HTML"
+#: modules/filter/modes/markdown.amf:10
+#, fuzzy
+#| msgid "mode for checking Nroff documents"
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr "režim pro kontrolu dokumentů Nroff"
+
#: modules/filter/modes/none.amf:5
msgid "mode to disable all filters"
msgstr "režim pro zakázání všech filtrů"
#: modules/filter/modes/url.amf:5
msgid "mode to skip URL like constructs (default mode)"
-msgstr "režim pro přeskakování konstrukcí podobných URL (implicitní režim)"
-
-#~ msgid "Empty value; only bool type option and \"rem-all\" list prefix."
-#~ msgstr ""
-#~ "Prázdná hodnota; jen přepínač typu bool a předpona seznamu \"rem-all\"."
-
-#~ msgid "Filter \"%filter:1\" could not be found in filter paths."
-#~ msgstr "Filtr \"%filter:1\" nelze najít v cestě filtrů."
-
-#~ msgid "Can't find the option file \"%option:2\"."
-#~ msgstr "Nemohu najít soubor přepínačů \"%option:2\"."
-
-#~ msgid "Filter for eliminating email quote characters"
-#~ msgstr "Filtr pro eliminaci znaků citací z e-mailu"
-
-#~ msgid "Filters for encoding, filtering and decoding sgml characters"
-#~ msgstr "Filtry pro kódování, filtrování a dekódování znaků sgml"
-
-#~ msgid "multi character coded letters (<char>:<rep>[:<rep>[...]])"
-#~ msgstr "písmena kódovaná více znaky (<znak>:<náhr>[:<náhr>[...]])"
-
-#~ msgid "characters used to encode hyphenation locations"
-#~ msgstr "znaky používané pro kódování umístění dělení slov"
-
-#~ msgid "Filter for hiding urls/paths and similar from Aspell"
-#~ msgstr "Filtr pro skrývání url/cest a podobně před Aspellem"
-
-#~ msgid "indicator for additional flags in word lists"
-#~ msgstr "indikátor dalších příznaků v seznamech slov"
-
-#~ msgid "strip accents from word lists"
-#~ msgstr "odstranit ze seznamu slov diakritiku"
-
-#~ msgid "use jump tables when creating dictionaries"
-#~ msgstr "při tvorbě slovníků používat tabulky skoků"
-
-#~ msgid "Affix compression is currently incompatible with soundslike lookup."
-#~ msgstr ""
-#~ "Komprese přípon momentálně není kompatibilní s vyhledáváním podle "
-#~ "podobnosti zvuku."
+msgstr "režim pro přeskakování konstrukcí podobných URL (výchozí režim)"
# Danish translation of Aspell.
-# Copyright © 2010, Kevin Atkinson, Jacob Sparre Andersen, Joe Hansen.
+# Copyright © 2011, Kevin Atkinson, Jacob Sparre Andersen, Joe Hansen.
# This file is distributed under the same license as the Aspell package.
# Jacob Sparre Andersen <sparre@nbi.dk>, 2004.
-# Joe Hansen <joedalton2@yahoo.dk>, 2010.
+# Joe Hansen <joedalton2@yahoo.dk>, 2010, 2011.
# Korrekturlæst Lars Christian Jensen <larschrjensen@gmail.com>, 2010.
#
# affix -> affiks (fællesbetegnelse for præfikser, infikser og suffikser)
# check -> tjek (alternativ kontrollere)
# exists -> findes
+# hash -> hash
# lists -> viser
# mode -> tilstand (var tidligere modus)
# modifier -> modifikator
# /" -> »«
msgid ""
msgstr ""
-"Project-Id-Version: aspell 0.60.6\n"
+"Project-Id-Version: aspell 0.60.7\n"
"Report-Msgid-Bugs-To: kevina@gnu.org\n"
-"POT-Creation-Date: 2011-07-04 03:25-0600\n"
-"PO-Revision-Date: 2010-05-08 12:51+0200\n"
+"POT-Creation-Date: 2019-07-29 02:38-0400\n"
+"PO-Revision-Date: 2011-07-08 12:51+0200\n"
"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
+"Language: da\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
#: common/info.cpp:232
msgid "a number between 0 and 1"
msgid "ASPELL_CONF env var"
msgstr "ASPELL_CONF miljøvariabel"
-#. TRANSLATORS: The remaing strings in config.cpp should be kept
+#. TRANSLATORS: The remaining strings in config.cpp should be kept
#. under 50 characters, begin with a lower case character and not
#. include any trailing punctuation marks.
#: common/config.cpp:1360
msgid "time load time and suggest time in pipe mode"
msgstr "tag tid på indlæsning og foreslag i kanaltilstand"
-#: common/convert.cpp:303 common/convert.cpp:429
+#: common/convert.cpp:303 common/convert.cpp:497
#, c-format
-msgid ""
-"This could also mean that the file \"%s\" could not be opened for reading or "
-"does not exist."
-msgstr ""
-"Det kunne også betyde at filen »%s« ikke findes eller at du ikke har lov til "
-"at læse i den."
+msgid "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
+msgstr "Det kunne også betyde at filen »%s« ikke findes eller at du ikke har lov til at læse i den."
-#: common/convert.cpp:552 common/convert.cpp:659 common/convert.cpp:705
+#: common/convert.cpp:582 common/convert.cpp:689 common/convert.cpp:735
#, c-format
msgid "The Unicode code point U+%04X is unsupported."
msgstr "Unicode-positionen U+%04X er ikke understøttet."
-#: common/convert.cpp:829
+#: common/convert.cpp:859
#, c-format
msgid "Invalid UTF-8 sequence at position %ld."
msgstr "Ugyldig UTF-8-sekvens på position %ld."
msgstr "Nøglen »%key:1« er ikke %accepted:2 og derfor ugyldig."
#: common/errors.cpp:147
-msgid ""
-"The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%"
-"key:1\"."
-msgstr ""
-"Værdien »%value:2« er ikke %accepted:3 og derfor ugyldig for nøglen »%key:1«."
+msgid "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
+msgstr "Værdien »%value:2« er ikke %accepted:3 og derfor ugyldig for nøglen »%key:1«."
#: common/errors.cpp:163
msgid "The key \"%key:1\" is not a string."
msgstr "Nøglen \"%key:1\" er ikke en liste."
#: common/errors.cpp:195
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"reset-"
-"\"."
-msgstr ""
-"Nøglen »%key:1« tager ikke nogle parametre, når den er foranstillet med "
-"»reset-«."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
+msgstr "Nøglen »%key:1« tager ikke nogle parametre, når den er foranstillet med »reset-«."
#: common/errors.cpp:203
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by an \"enable-"
-"\"."
-msgstr ""
-"Nøglen »%key:1« tager ikke nogle parametre, når den er foranstillet med "
-"»enable-«."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by an \"enable-\"."
+msgstr "Nøglen »%key:1« tager ikke nogle parametre, når den er foranstillet med »enable-«."
#: common/errors.cpp:211
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" "
-"or \"disable-\"."
-msgstr ""
-"Nøglen »%key:1« tager ikke nogle parametre, når den er foranstillet med "
-"»dont-« eller »disable-«."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
+msgstr "Nøglen »%key:1« tager ikke nogle parametre, når den er foranstillet med »dont-« eller »disable-«."
#: common/errors.cpp:219
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"clear-"
-"\"."
-msgstr ""
-"Nøglen »%key:1« tager ikke nogle parametre, når den er foranstillet med "
-"»clear-«."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
+msgstr "Nøglen »%key:1« tager ikke nogle parametre, når den er foranstillet med »clear-«."
#: common/errors.cpp:235
#, c-format
#: common/errors.cpp:299
#, c-format
-msgid ""
-"The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be "
-"stripped."
+msgid "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
msgstr "Betingelsen »%cond:1« garanterer ikke at »%strip:2« altid kan fjernes."
#: common/errors.cpp:307
#, c-format
-msgid ""
-"The file \"%file:1\" is not in the proper format. Expected the file to be in "
-"\"%exp:2\" not \"%got:3\"."
-msgstr ""
-"Filen »%file:1« har ikke det rette format. Forventede at filen ville være "
-"formatteret som »%exp:2« og ikke som »%got:3«."
+msgid "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
+msgstr "Filen »%file:1« har ikke det rette format. Forventede at filen ville være formatteret som »%exp:2« og ikke som »%got:3«."
#: common/errors.cpp:323
#, c-format
#: common/errors.cpp:635
#, c-format
msgid "\"%mode:1\" error while extend Aspell modes. (out of memory?)"
-msgstr ""
-"»%mode:1« fejl under udvidelse af Aspell-tilstande (ikke nok hukommelse?)"
+msgstr "»%mode:1« fejl under udvidelse af Aspell-tilstande (ikke nok hukommelse?)"
#: common/errors.cpp:651
#, c-format
#: common/errors.cpp:659
#, c-format
msgid "\"%mode:1\": no range for magic search given for magic \"%magic:2\"."
-msgstr ""
-"»%mode:1«: Intet interval for magisk søgning angivet for magi »%magic:2«."
+msgstr "»%mode:1«: Intet interval for magisk søgning angivet for magi »%magic:2«."
#: common/errors.cpp:667
#, c-format
msgstr "»%mode:1«: Intet magisk udtryk tilgængelig for magi »%magic:2«."
#: common/errors.cpp:675
-msgid ""
-"\"%mode:1\": Magic \"%magic:2\": bad regular expression after location "
-"specifier; regexp reports: \"%regerr:3\"."
-msgstr ""
-"»%mode:1«: Magi »%magic:2«: Dårligt regulært udtryk efter at stedangiver; "
-"regexp rapporterer: »%regerr:3«."
+msgid "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
+msgstr "»%mode:1«: Magi »%magic:2«: Dårligt regulært udtryk efter at stedangiver; regexp rapporterer: »%regerr:3«."
#: common/errors.cpp:691
#, c-format
msgid "Unhandled Error: "
msgstr "Uhåndteret fejl: "
-#: prog/aspell.cpp:97
+#: prog/aspell.cpp:98
#, c-format
msgid "Error: %s\n"
msgstr "Fejl: %s\n"
-#: prog/aspell.cpp:102
+#: prog/aspell.cpp:103
msgid "Error: "
msgstr "Fejl: "
-#: prog/aspell.cpp:203
+#: prog/aspell.cpp:204
msgid "enter Email mode."
msgstr "skift til e-post-tilstand."
-#: prog/aspell.cpp:204
+#: prog/aspell.cpp:205
msgid "enter HTML mode."
msgstr "skift til HTML-tilstand."
-#: prog/aspell.cpp:205
+#: prog/aspell.cpp:206
msgid "enter TeX mode."
msgstr "skift til TeX-tilstand."
-#: prog/aspell.cpp:206
+#: prog/aspell.cpp:207
msgid "enter Nroff mode."
msgstr "skift til Nroff-tilstand."
-#: prog/aspell.cpp:312
+#: prog/aspell.cpp:313
#, c-format
msgid "Invalid Option: %s"
msgstr "Ugyldigt tilvalg: %s"
-#: prog/aspell.cpp:319
+#: prog/aspell.cpp:320
msgid " does not take any parameters."
msgstr " tager ikke nogle argumenter."
-#: prog/aspell.cpp:332 prog/aspell.cpp:392
+#: prog/aspell.cpp:333 prog/aspell.cpp:393
#, c-format
msgid "You must specify a parameter for \"%s\"."
msgstr "Du skal angive et argument til »%s«."
-#: prog/aspell.cpp:381
+#: prog/aspell.cpp:382
msgid "You must specify an action"
msgstr "Du er nødt til at angive en handling"
-#: prog/aspell.cpp:389 prog/aspell.cpp:452 prog/aspell.cpp:474
+#: prog/aspell.cpp:390 prog/aspell.cpp:453 prog/aspell.cpp:475
#, c-format
msgid "Unknown Action: %s"
msgstr "Ukendt handling: %s"
-#: prog/aspell.cpp:395
+#: prog/aspell.cpp:396
#, c-format
msgid "Error: You must specify at least %d parameters for \"%s\".\n"
msgstr "Fejl: Du skal angive mindst %d parametre til »%s«.\n"
-#: prog/aspell.cpp:637
+#: prog/aspell.cpp:638
msgid "Invalid Input"
msgstr "Ugyldige inddata"
-#: prog/aspell.cpp:710
+#: prog/aspell.cpp:711
#, c-format
msgid "WARNING: Unable to enter Nroff mode: %s\n"
msgstr "ADVARSEL: Kan ikke skifte til Nroff-tilstand: %s\n"
-#: prog/aspell.cpp:731
+#: prog/aspell.cpp:732
msgid "Time to load word list: "
msgstr "Tid brugt på at indlæse ordliste: "
-#: prog/aspell.cpp:929
+#: prog/aspell.cpp:930
#, c-format
msgid "Suggestion Time: %f\n"
msgstr "Forslagstid: %f\n"
-#: prog/aspell.cpp:972
+#: prog/aspell.cpp:973
msgid "You must specify a file name."
msgstr "Du bliver nødt til at angive et filnavn."
-#: prog/aspell.cpp:975
+#: prog/aspell.cpp:976
msgid "Only one file name may be specified."
msgstr "Kun et filnavn må angives."
-#: prog/aspell.cpp:985
+#: prog/aspell.cpp:986
#, c-format
msgid "Could not open the file \"%s\" for reading"
msgstr "Kunne ikke læse fra filen »%s«"
-#: prog/aspell.cpp:998
+#: prog/aspell.cpp:999
#, c-format
msgid "Invalid keymapping: %s"
msgstr "Ugyldig tastaturafbildning: %s"
-#: prog/aspell.cpp:1020
+#: prog/aspell.cpp:1014
+#, fuzzy, c-format
+#| msgid "\"%expression:1\" is not a valid regular expression."
+msgid "\"%s\" is not a regular file"
+msgstr "»%expression:1« er ikke et gyldigt regulært udtryk."
+
+#: prog/aspell.cpp:1025
#, c-format
msgid "Could not open the file \"%s\" for writing. File not saved."
msgstr "Kunne ikke skrive til filen »%s«. Filen er ikke gemt."
-#: prog/aspell.cpp:1033
+#: prog/aspell.cpp:1038
msgid "Ignore"
msgstr "Ignorer"
-#: prog/aspell.cpp:1034
+#: prog/aspell.cpp:1039
msgid "Ignore all"
msgstr "Ignorer alt"
-#: prog/aspell.cpp:1035
+#: prog/aspell.cpp:1040
msgid "Replace"
msgstr "Erstat"
-#: prog/aspell.cpp:1036
+#: prog/aspell.cpp:1041
msgid "Replace all"
msgstr "Erstat alt"
-#: prog/aspell.cpp:1037
+#: prog/aspell.cpp:1042
msgid "Add"
msgstr "Tilføj"
-#: prog/aspell.cpp:1038
+#: prog/aspell.cpp:1043
msgid "Add Lower"
msgstr "Tilføj skrevet med småt"
-#: prog/aspell.cpp:1039
+#: prog/aspell.cpp:1044
msgid "Abort"
msgstr "Afbryd"
-#: prog/aspell.cpp:1040
+#: prog/aspell.cpp:1045
msgid "Exit"
msgstr "Afslut"
-#: prog/aspell.cpp:1116
+#: prog/aspell.cpp:1121
msgid "Are you sure you want to abort (y/n)? "
msgstr "Er du sikker på at du vil afbryde? "
#. TRANSLATORS: The user may input any of these characters to say "yes".
#. MUST ONLY CONSIST OF ASCII CHARACTERS.
-#: prog/aspell.cpp:1120
+#: prog/aspell.cpp:1125
msgid "Yy"
msgstr "Jj"
-#: prog/aspell.cpp:1148
+#: prog/aspell.cpp:1153
msgid "With: "
msgstr "Med: "
-#: prog/aspell.cpp:1165
+#: prog/aspell.cpp:1170
msgid "Sorry that is an invalid choice!"
msgstr "Beklager. Det er ikke et gyldigt valg."
-#: prog/aspell.cpp:1386
+#: prog/aspell.cpp:1391
msgid "Sorry \"filter\" is currently unimplemented.\n"
msgstr "Beklager. »Filter« er endnu ikke implementeret.\n"
-#: prog/aspell.cpp:1520
+#: prog/aspell.cpp:1525
msgid "Can't merge a master word list yet. Sorry."
msgstr "Kan endnu ikke sammenflette en hovedordliste. Beklager."
-#: prog/aspell.cpp:1544
+#: prog/aspell.cpp:1549
msgid "Sorry \"create/merge personal\" is currently unimplemented.\n"
msgstr "Beklager »opret/sammenføj personlig« er aktuelt ikke implementeret.\n"
-#: prog/aspell.cpp:1553 prog/aspell.cpp:1609
+#: prog/aspell.cpp:1558 prog/aspell.cpp:1614
#, c-format
msgid "Sorry I won't overwrite \"%s\""
msgstr "Beklager. Vil ikke overskrive »%s«"
-#: prog/aspell.cpp:1600
+#: prog/aspell.cpp:1605
msgid "Sorry \"create/merge repl\" is currently unimplemented.\n"
msgstr "Beklager »opret/sammenføj repl« er aktuelt ikke implementeret.\n"
-#: prog/aspell.cpp:1872
+#: prog/aspell.cpp:1877
#, c-format
msgid "\"%s\" is not a valid flag for the \"munch-list\" command."
msgstr "»%s« er ikke et gyldigt flag for kommandoen munch-list."
#. TRANSLATORS: These should all be formated to fit in 80 column or
#. less
-#: prog/aspell.cpp:2799
+#: prog/aspell.cpp:2804
msgid "Usage: aspell [options] <command>"
msgstr "Brug: aspell [tilvalg] <kommando>"
-#: prog/aspell.cpp:2800
+#: prog/aspell.cpp:2805
msgid "<command> is one of:"
msgstr "<kommando> er en af:"
-#: prog/aspell.cpp:2801
+#: prog/aspell.cpp:2806
msgid " -?|usage display a brief usage message"
msgstr " -?|usage viser en kort besked om brugen"
-#: prog/aspell.cpp:2802
+#: prog/aspell.cpp:2807
msgid " help display a detailed help message"
msgstr " help viser en detaljeret hjælpebesked"
-#: prog/aspell.cpp:2803
+#: prog/aspell.cpp:2808
msgid " -c|check <file> to check a file"
msgstr " -c|check <fil> for at kontrollere en fil"
-#: prog/aspell.cpp:2804
+#: prog/aspell.cpp:2809
msgid " -a|pipe \"ispell -a\" compatibility mode"
msgstr " -a|pipe Kompatibilitetstilstand »ispell -a«"
-#: prog/aspell.cpp:2805
+#: prog/aspell.cpp:2810
msgid " [dump] config dumps the current configuration to stdout"
-msgstr ""
-" [dump] config sender (dumps) den aktuelle konfiguration til stdout"
+msgstr " [dump] config sender (dumps) den aktuelle konfiguration til stdout"
-#: prog/aspell.cpp:2806
+#: prog/aspell.cpp:2811
msgid " config <key> prints the current value of an option"
msgstr " config <tast> udskriver den aktuelle værdi på et tilvalg"
-#: prog/aspell.cpp:2807
+#: prog/aspell.cpp:2812
msgid " [dump] dicts | filters | modes"
msgstr " [dump] dicts | filters | modes"
-#: prog/aspell.cpp:2808
+#: prog/aspell.cpp:2813
msgid " lists available dictionaries / filters / filter modes"
msgstr " viser tilgængelige ordbøger / filtre / filtertilstande"
-#: prog/aspell.cpp:2809
+#: prog/aspell.cpp:2814
msgid "[options] is any of the following:"
msgstr "[tilvalg] er en af de følgende:"
-#: prog/aspell.cpp:2822
-msgid ""
-" list produce a list of misspelled words from standard input"
-msgstr ""
-" list producerer en liste over stavefejl fra standardinddata"
+#: prog/aspell.cpp:2827
+msgid " list produce a list of misspelled words from standard input"
+msgstr " list producerer en liste over stavefejl fra standardinddata"
-#: prog/aspell.cpp:2825
-msgid ""
-" soundslike returns the sounds like equivalent for each word entered"
-msgstr ""
-" soundslike returnerer de lyde som svarer til hvert ord indtastet"
+#: prog/aspell.cpp:2830
+msgid " soundslike returns the sounds like equivalent for each word entered"
+msgstr " soundslike returnerer de lyde som svarer til hvert ord indtastet"
-#: prog/aspell.cpp:2826
+#: prog/aspell.cpp:2831
msgid " munch generate possible root words and affixes"
msgstr " munch generer mulige rødder og affikser"
-#: prog/aspell.cpp:2827
+#: prog/aspell.cpp:2832
msgid " expand [1-4] expands affix flags"
msgstr " expand [1-4] udfolder affiksflag"
-#: prog/aspell.cpp:2828
-msgid ""
-" clean [strict] cleans a word list so that every line is a valid word"
+#: prog/aspell.cpp:2833
+msgid " clean [strict] cleans a word list so that every line is a valid word"
msgstr " clean [strict] rydder en ordliste så hver linje er et gyldigt ord"
-#: prog/aspell.cpp:2830
+#: prog/aspell.cpp:2835
msgid " -v|version prints a version line"
msgstr " -v|version viser en versionslinje"
-#: prog/aspell.cpp:2831
+#: prog/aspell.cpp:2836
msgid " munch-list [simple] [single|multi] [keep]"
msgstr " munch-list [simple] [single|multi] [keep]"
-#: prog/aspell.cpp:2832
+#: prog/aspell.cpp:2837
msgid " reduce the size of a word list via affix compression"
msgstr " reducer størrelsen på en ordliste via affikspakning"
-#: prog/aspell.cpp:2833
+#: prog/aspell.cpp:2838
msgid " conv <from> <to> [<norm-form>]"
msgstr " conv <fra> <til> [<norm-form>]"
-#: prog/aspell.cpp:2834
+#: prog/aspell.cpp:2839
msgid " converts from one encoding to another"
msgstr " konverterer fra en kodning til en anden"
-#: prog/aspell.cpp:2835
+#: prog/aspell.cpp:2840
msgid " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
msgstr " norm (<norm-map> | <fra> <norm-map> <til>) [<norm-form>]"
-#: prog/aspell.cpp:2836
+#: prog/aspell.cpp:2841
msgid " perform Unicode normalization"
msgstr " gennemfør unicode-normalisering"
-#: prog/aspell.cpp:2839
+#: prog/aspell.cpp:2844
msgid " dump|create|merge master|personal|repl [<name>]"
msgstr " dump|create|merge master|personal|repl [<navn>]"
-#: prog/aspell.cpp:2840
-msgid ""
-" dumps, creates or merges a master, personal, or replacement dictionary."
-msgstr ""
-" sletter, opretter eller sammenføjer en master, personlig eller "
-"erstatningsordbog."
+#: prog/aspell.cpp:2845
+msgid " dumps, creates or merges a master, personal, or replacement dictionary."
+msgstr " sletter, opretter eller sammenføjer en master, personlig eller erstatningsordbog."
#. TRANSLATORS: "none", "internal" and "strict" are literal values
#. and should not be translated.
-#: prog/aspell.cpp:2844
-msgid ""
-" <norm-form> normalization form to use, either none, internal, or "
-"strict"
-msgstr ""
-" <norm-form> normaliseringsform der skal bruges, enten none, internal "
-"eller strict"
+#: prog/aspell.cpp:2849
+msgid " <norm-form> normalization form to use, either none, internal, or strict"
+msgstr " <norm-form> normaliseringsform der skal bruges, enten none, internal eller strict"
-#: prog/aspell.cpp:2854
+#: prog/aspell.cpp:2859
#, c-format
msgid ""
"\n"
"\n"
msgstr ""
"\n"
-"Aspell %s. Copyright 2000-2011, Kevin Atkinson.\n"
+"Aspell %s. Ophavsret 2000-2011, Kevin Atkinson.\n"
"\n"
-#: prog/aspell.cpp:2888
+#: prog/aspell.cpp:2893
msgid ""
"Available Dictionaries:\n"
" Dictionaries can be selected directly via the \"-d\" or \"master\"\n"
" tilvalgene. De kan også vælges indirekte med »lang«-,\n"
" »variety«- og »size«-tilvalgene.\n"
-#: prog/aspell.cpp:2909
+#: prog/aspell.cpp:2914
msgid ""
"Available Filters (and associated options):\n"
" Filters can be added or removed via the \"filter\" option.\n"
"Tilgængelige filtre (og tilknyttede tilvalg):\n"
" Filtre kan tilføjes eller fjernes via tilvalget »filter«.\n"
-#: prog/aspell.cpp:2916
+#: prog/aspell.cpp:2921
#, c-format
msgid ""
"\n"
" %s filter: %s\n"
#. TRANSLATORS: This should be formated to fit in 80 column or less
-#: prog/aspell.cpp:2933
+#: prog/aspell.cpp:2938
msgid ""
"Available Filter Modes:\n"
" Filter Modes are reconfigured combinations of filters optimized for\n"
#: modules/speller/default/language.cpp:494
#: modules/speller/default/language.cpp:503
#, c-format
-msgid ""
-"The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgid "The character '%s' (U+%02X) must be followed by an alphabetic character."
msgstr "Tegnet '%s' (U+%02X) skal følges af et bogstav."
#: modules/speller/default/language.cpp:496
msgstr "Tegnet '%s' (U+%02X) må ikke forekomme indeni et ord."
#: modules/speller/default/language.cpp:508
-msgid ""
-"The character '\\r' (U+0D) may not appear at the end of a word. This "
-"probably means means that the file is using MS-DOS EOL instead of Unix EOL."
-msgstr ""
-"Tegnet '\\r' (U+0D) må ikke fremgå af slutningen af ordet. Det betyder "
-"sikkert at filen bruger MS-DOS EOL fremfor Unix EOL."
+msgid "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgstr "Tegnet '\\r' (U+0D) må ikke fremgå af slutningen af ordet. Det betyder sikkert at filen bruger MS-DOS EOL fremfor Unix EOL."
#: modules/speller/default/language.cpp:511
#, c-format
msgid "Warning: Removing inapplicable affix '%s' from word %s.\n"
msgstr "Advarsel: Fjerner ubrugbar affiks '%s' fra ordet %s.\n"
-#: modules/speller/default/language.cpp:674
+#: modules/speller/default/language.cpp:675
#, c-format
msgid "Warning: %s Skipping string.\n"
msgstr "Advarsel: %s Springer streng over.\n"
-#: modules/speller/default/language.cpp:732
+#: modules/speller/default/language.cpp:733
msgid "The total length is larger than 240 characters."
msgstr "Den samlede længde er større end 240 tegn."
-#: modules/speller/default/language.cpp:736
+#: modules/speller/default/language.cpp:737
#, c-format
msgid "Warning: %s Skipping word.\n"
msgstr "Advarsel: %s Springer ord over.\n"
msgid "Possibly incorrect count."
msgstr "Muligvis en forkert optælling."
-# endian er, så vidt jeg ved, byte rækkefølge
#: modules/speller/default/readonly_ws.cpp:362
+msgid "Incompatible hash function."
+msgstr "Inkompatibel hashfunktion."
+
+# endian er, så vidt jeg ved, byte rækkefølge
+#: modules/speller/default/readonly_ws.cpp:440
msgid "Wrong endian order."
msgstr "Forkert endian (byte) rækkefølge."
-#: modules/speller/default/readonly_ws.cpp:385
+#: modules/speller/default/readonly_ws.cpp:463
msgid "Wrong soundslike."
msgstr "Forkert soundslike (udtale)."
-#: modules/speller/default/readonly_ws.cpp:391
+#: modules/speller/default/readonly_ws.cpp:469
msgid "Wrong soundslike version."
msgstr "Forkert version af soundslike (udtale)."
-#: modules/speller/default/readonly_ws.cpp:853
+#: modules/speller/default/readonly_ws.cpp:934
msgid "Affix flags found in word but no affix file given."
msgstr "Affiksflag fundet i ord men ingen affiksfil angivet."
-#: modules/speller/default/readonly_ws.cpp:891
-msgid ""
-"The total word length, with soundslike data, is larger than 240 characters."
-msgstr ""
-"Den totale ordlængde, med soundslike (udtale) data, er længere end 240 tegn."
+#: modules/speller/default/readonly_ws.cpp:972
+msgid "The total word length, with soundslike data, is larger than 240 characters."
+msgstr "Den totale ordlængde, med soundslike (udtale) data, er længere end 240 tegn."
#: modules/speller/default/multi_ws.cpp:58
msgid "There must be at least one \"add\" line."
msgid "HTML tags to always skip the contents of"
msgstr "HTMl-mærker for altid at springe indholdet over"
+#: modules/filter/markdown-filter.info:8
+#, fuzzy
+#| msgid "filter for dealing with Texinfo documents"
+msgid "filter for Markdown/CommonMark documents"
+msgstr "Filter til at håndtere Texinfo-dokumenter"
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
+msgstr ""
+
#: modules/filter/nroff-filter.info:7
msgid "filter for dealing with Nroff documents"
msgstr "filter til at håndtere Nroff-dokumenter"
msgid "mode for checking HTML documents"
msgstr "tilstand for tjek af HTML-dokumenter"
+#: modules/filter/modes/markdown.amf:10
+#, fuzzy
+#| msgid "mode for checking Nroff documents"
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr "tilstand for tjek af Nroff-dokumenter"
+
#: modules/filter/modes/none.amf:5
msgid "mode to disable all filters"
msgstr "tilstand for deaktivering af alle filtre"
#: modules/filter/modes/url.amf:5
msgid "mode to skip URL like constructs (default mode)"
-msgstr ""
-"tilstand for at springe URL-lignende konstruktioner over med "
-"(standardtilstand)"
+msgstr "tilstand for at springe URL-lignende konstruktioner over med (standardtilstand)"
# This file is distributed under the same license as the aspell package.
# Roland Illig <roland.illig@gmx.de>, 2004.
# Roland Illig <roland.illig@gmx.de>, 2008.
+# Roland Illig <roland.illig@gmx.de>, 2011.
#
msgid ""
msgstr ""
-"Project-Id-Version: aspell 0.60.6\n"
+"Project-Id-Version: aspell 0.60.7\n"
"Report-Msgid-Bugs-To: kevina@gnu.org\n"
-"POT-Creation-Date: 2011-07-04 03:25-0600\n"
-"PO-Revision-Date: 2008-11-24 13:19+0100\n"
+"POT-Creation-Date: 2019-07-29 02:38-0400\n"
+"PO-Revision-Date: 2011-07-09 12:34+0100\n"
"Last-Translator: Roland Illig <roland.illig@gmx.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
+"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
#: common/info.cpp:232
msgid "a number between 0 and 1"
msgid "ASPELL_CONF env var"
msgstr "ASPELL_CONF Umgebungsvariable"
-#. TRANSLATORS: The remaing strings in config.cpp should be kept
+#. TRANSLATORS: The remaining strings in config.cpp should be kept
#. under 50 characters, begin with a lower case character and not
#. include any trailing punctuation marks.
#: common/config.cpp:1360
msgid "time load time and suggest time in pipe mode"
msgstr "Zeit für das Laden und Vorschlagen im Pipe-Modus messen"
-#: common/convert.cpp:303 common/convert.cpp:429
+#: common/convert.cpp:303 common/convert.cpp:497
#, c-format
-msgid ""
-"This could also mean that the file \"%s\" could not be opened for reading or "
-"does not exist."
-msgstr ""
-"Das könnte auch heißen, dass die Datei »%s« nicht zum Lesen geöffnet werden "
-"konnte oder nicht existiert."
+msgid "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
+msgstr "Das könnte auch heißen, dass die Datei »%s« nicht zum Lesen geöffnet werden konnte oder nicht existiert."
-#: common/convert.cpp:552 common/convert.cpp:659 common/convert.cpp:705
+#: common/convert.cpp:582 common/convert.cpp:689 common/convert.cpp:735
#, c-format
msgid "The Unicode code point U+%04X is unsupported."
msgstr "Das Unicodezeichen an der Stelle U+%04X wird nicht unterstützt."
-#: common/convert.cpp:829
+#: common/convert.cpp:859
#, c-format
msgid "Invalid UTF-8 sequence at position %ld."
-msgstr "Falsche UTF-8-Folge an Position %ld."
+msgstr "Ungültige UTF-8-Folge an Position %ld."
#: common/errors.cpp:27
msgid "Operation Not Supported: %what:1"
msgstr "Der Schlüssel »%key:1« wird nicht %accepted:2 und ist daher ungültig."
#: common/errors.cpp:147
-msgid ""
-"The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%"
-"key:1\"."
-msgstr ""
-"Der Wert »%value:2« wird nicht %accepted:3 und ist daher für den Schlüssel »%"
-"key:1« ungültig."
+msgid "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
+msgstr "Der Wert »%value:2« wird nicht %accepted:3 und ist daher für den Schlüssel »%key:1« ungültig."
#: common/errors.cpp:163
msgid "The key \"%key:1\" is not a string."
msgstr "Der Schlüssel »%key:1« ist keine Liste."
#: common/errors.cpp:195
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"reset-"
-"\"."
-msgstr ""
-"Der Schlüssel »%key:1« kann keine Parameter haben, wenn ein »reset-« "
-"vorangestellt ist."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
+msgstr "Der Schlüssel »%key:1« kann keine Parameter haben, wenn ein »reset-« vorangestellt ist."
#: common/errors.cpp:203
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by an \"enable-"
-"\"."
-msgstr ""
-"Der Schlüssel »%key:1« kann keine Parameter haben, wenn ein »enable-« "
-"vorangestellt ist."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by an \"enable-\"."
+msgstr "Der Schlüssel »%key:1« kann keine Parameter haben, wenn ein »enable-« vorangestellt ist."
#: common/errors.cpp:211
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" "
-"or \"disable-\"."
-msgstr ""
-"Der Schlüssel »%key:1« kann keine Parameter haben, wenn ein »dont-« oder "
-"»disable-« vorangestellt ist."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
+msgstr "Der Schlüssel »%key:1« kann keine Parameter haben, wenn ein »dont-« oder »disable-« vorangestellt ist."
#: common/errors.cpp:219
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"clear-"
-"\"."
-msgstr ""
-"Der Schlüssel »%key:1« kann keine Parameter haben, wenn ein »clear-« "
-"vorangestellt ist."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
+msgstr "Der Schlüssel »%key:1« kann keine Parameter haben, wenn ein »clear-« vorangestellt ist."
#: common/errors.cpp:235
#, c-format
#: common/errors.cpp:299
#, c-format
-msgid ""
-"The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be "
-"stripped."
-msgstr ""
-"Die Bedingung »%cond:1« garantiert nicht, dass »%strip:2« immer abgetrennt "
-"werden kann."
+msgid "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
+msgstr "Die Bedingung »%cond:1« garantiert nicht, dass »%strip:2« immer abgetrennt werden kann."
#: common/errors.cpp:307
#, c-format
-msgid ""
-"The file \"%file:1\" is not in the proper format. Expected the file to be in "
-"\"%exp:2\" not \"%got:3\"."
-msgstr ""
-"Die Datei »%file:1« hat nicht das richtige Format. Sie wurde in »%exp:2«, "
-"nicht in »%got:3« erwartet."
+msgid "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
+msgstr "Die Datei »%file:1« hat nicht das richtige Format. Sie wurde in »%exp:2«, nicht in »%got:3« erwartet."
#: common/errors.cpp:323
#, c-format
#: common/errors.cpp:403
msgid "The affix flag '%aff:1' can not be applied to word \"%word:2\"."
-msgstr ""
-"Das Endungsflag »%aff:1« kann nicht auf das Wort »%word:2« angewendet werden."
+msgstr "Das Endungsflag »%aff:1« kann nicht auf das Wort »%word:2« angewendet werden."
#: common/errors.cpp:451
msgid "not a version number"
#: common/errors.cpp:635
#, c-format
msgid "\"%mode:1\" error while extend Aspell modes. (out of memory?)"
-msgstr ""
-"»%mode:1« Fehler beim Erweitern der Aspell-Optionen. (Zu wenig Speicher?)"
+msgstr "»%mode:1« Fehler beim Erweitern der Aspell-Optionen. (Zu wenig Speicher?)"
#: common/errors.cpp:651
#, c-format
msgstr "»%mode:1«: Kein magischer Ausdruck für »%magic:2« verfügbar."
#: common/errors.cpp:675
-msgid ""
-"\"%mode:1\": Magic \"%magic:2\": bad regular expression after location "
-"specifier; regexp reports: \"%regerr:3\"."
-msgstr ""
-"»%mode:1«: Magic »%magic:2«: Ungültiger regulärer Ausdruck nach Ortsangabe; "
-"regexp sagt dazu: »%regerr:3«."
+msgid "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
+msgstr "»%mode:1«: Magic »%magic:2«: Ungültiger regulärer Ausdruck nach Ortsangabe; regexp sagt dazu: »%regerr:3«."
#: common/errors.cpp:691
#, c-format
msgid "Unhandled Error: "
msgstr "Unbahandelter Fehler: "
-#: prog/aspell.cpp:97
+#: prog/aspell.cpp:98
#, c-format
msgid "Error: %s\n"
msgstr "Fehler: %s\n"
-#: prog/aspell.cpp:102
+#: prog/aspell.cpp:103
msgid "Error: "
msgstr "Fehler: "
-#: prog/aspell.cpp:203
+#: prog/aspell.cpp:204
msgid "enter Email mode."
msgstr "In E-Mail-Modus wechseln."
-#: prog/aspell.cpp:204
+#: prog/aspell.cpp:205
msgid "enter HTML mode."
msgstr "In HTML-Modus wechseln."
-#: prog/aspell.cpp:205
+#: prog/aspell.cpp:206
msgid "enter TeX mode."
msgstr "In TeX-Modus wechseln."
-#: prog/aspell.cpp:206
+#: prog/aspell.cpp:207
msgid "enter Nroff mode."
msgstr "In nroff-Modus wechseln."
-#: prog/aspell.cpp:312
+#: prog/aspell.cpp:313
#, c-format
msgid "Invalid Option: %s"
msgstr "Ungültige Option: %s"
-#: prog/aspell.cpp:319
+#: prog/aspell.cpp:320
msgid " does not take any parameters."
msgstr " hat keine Parameter."
-#: prog/aspell.cpp:332 prog/aspell.cpp:392
+#: prog/aspell.cpp:333 prog/aspell.cpp:393
#, c-format
msgid "You must specify a parameter for \"%s\"."
msgstr "Sie müssen einen Parameter für »%s« angeben"
-#: prog/aspell.cpp:381
+#: prog/aspell.cpp:382
msgid "You must specify an action"
msgstr "Sie müssen eine Aktion angeben"
-#: prog/aspell.cpp:389 prog/aspell.cpp:452 prog/aspell.cpp:474
+#: prog/aspell.cpp:390 prog/aspell.cpp:453 prog/aspell.cpp:475
#, c-format
msgid "Unknown Action: %s"
msgstr "Unbekannte Aktion: %s"
-#: prog/aspell.cpp:395
+#: prog/aspell.cpp:396
#, c-format
msgid "Error: You must specify at least %d parameters for \"%s\".\n"
msgstr "Fehler: Sie müssen mindestens %d Parameter für »%s« angeben.\n"
-#: prog/aspell.cpp:637
+#: prog/aspell.cpp:638
msgid "Invalid Input"
msgstr "Ungültige Eingabe"
-#: prog/aspell.cpp:710
+#: prog/aspell.cpp:711
#, c-format
msgid "WARNING: Unable to enter Nroff mode: %s\n"
msgstr "WARNUNG: Kann nicht in den nroff-Modus umschalten: %s\n"
-#: prog/aspell.cpp:731
+#: prog/aspell.cpp:732
msgid "Time to load word list: "
msgstr "Zeit, um die Wortliste zu laden: "
-#: prog/aspell.cpp:929
+#: prog/aspell.cpp:930
#, c-format
msgid "Suggestion Time: %f\n"
msgstr "Vorschlagszeit: %f\n"
-#: prog/aspell.cpp:972
+#: prog/aspell.cpp:973
msgid "You must specify a file name."
msgstr "Sie müssen einen Dateinamen angeben."
-#: prog/aspell.cpp:975
+#: prog/aspell.cpp:976
msgid "Only one file name may be specified."
msgstr "Es kann nur einen (Dateinamen) geben."
-#: prog/aspell.cpp:985
+#: prog/aspell.cpp:986
#, c-format
msgid "Could not open the file \"%s\" for reading"
msgstr "Konnte die Datei »%s« nicht zum Lesen öffnen"
-#: prog/aspell.cpp:998
+#: prog/aspell.cpp:999
#, c-format
msgid "Invalid keymapping: %s"
msgstr "Ungültige Tastaturbelegung: %s"
-#: prog/aspell.cpp:1020
+#: prog/aspell.cpp:1014
+#, fuzzy, c-format
+#| msgid "\"%expression:1\" is not a valid regular expression."
+msgid "\"%s\" is not a regular file"
+msgstr "»%expression:1« ist kein gültiger regulärer Ausdruck."
+
+#: prog/aspell.cpp:1025
#, c-format
msgid "Could not open the file \"%s\" for writing. File not saved."
-msgstr ""
-"Konnte die Datei »%s« nicht zum Schreiben öffnen. Datei nicht gespeichert."
+msgstr "Konnte die Datei »%s« nicht zum Schreiben öffnen. Datei nicht gespeichert."
-#: prog/aspell.cpp:1033
+#: prog/aspell.cpp:1038
msgid "Ignore"
msgstr "Ignorieren"
-#: prog/aspell.cpp:1034
+#: prog/aspell.cpp:1039
msgid "Ignore all"
msgstr "Alle ignorieren"
-#: prog/aspell.cpp:1035
+#: prog/aspell.cpp:1040
msgid "Replace"
msgstr "Ersetzen"
-#: prog/aspell.cpp:1036
+#: prog/aspell.cpp:1041
msgid "Replace all"
msgstr "Alle ersetzen"
-#: prog/aspell.cpp:1037
+#: prog/aspell.cpp:1042
msgid "Add"
msgstr "Hinzufügen"
-#: prog/aspell.cpp:1038
+#: prog/aspell.cpp:1043
msgid "Add Lower"
msgstr "In Kleinbuchstaben hinzufügen"
-#: prog/aspell.cpp:1039
+#: prog/aspell.cpp:1044
msgid "Abort"
msgstr "Abbrechen"
-#: prog/aspell.cpp:1040
+#: prog/aspell.cpp:1045
msgid "Exit"
msgstr "Beenden"
-#: prog/aspell.cpp:1116
+#: prog/aspell.cpp:1121
msgid "Are you sure you want to abort (y/n)? "
msgstr "Sind Sie sicher, dass Sie abbrechen wollen (j/n)?"
#. TRANSLATORS: The user may input any of these characters to say "yes".
#. MUST ONLY CONSIST OF ASCII CHARACTERS.
-#: prog/aspell.cpp:1120
+#: prog/aspell.cpp:1125
msgid "Yy"
msgstr "Jj"
-#: prog/aspell.cpp:1148
+#: prog/aspell.cpp:1153
msgid "With: "
msgstr "Mit: "
-#: prog/aspell.cpp:1165
+#: prog/aspell.cpp:1170
msgid "Sorry that is an invalid choice!"
msgstr "Sorry, das ist eine ungültige Auswahl!"
-#: prog/aspell.cpp:1386
+#: prog/aspell.cpp:1391
msgid "Sorry \"filter\" is currently unimplemented.\n"
msgstr "Sorry, »filter« ist noch nicht implementiert.\n"
-#: prog/aspell.cpp:1520
+#: prog/aspell.cpp:1525
msgid "Can't merge a master word list yet. Sorry."
msgstr "Sorry, kann keine Master-Wortliste vereinigen."
-#: prog/aspell.cpp:1544
+#: prog/aspell.cpp:1549
msgid "Sorry \"create/merge personal\" is currently unimplemented.\n"
-msgstr ""
-"Sorry, »Persönliche Liste anlegen/vereinigen« ist noch nicht implementiert.\n"
+msgstr "Sorry, »Persönliche Liste anlegen/vereinigen« ist noch nicht implementiert.\n"
-#: prog/aspell.cpp:1553 prog/aspell.cpp:1609
+#: prog/aspell.cpp:1558 prog/aspell.cpp:1614
#, c-format
msgid "Sorry I won't overwrite \"%s\""
msgstr "Sorry, aber ich werde »%s« nicht überschreiben"
-#: prog/aspell.cpp:1600
+#: prog/aspell.cpp:1605
msgid "Sorry \"create/merge repl\" is currently unimplemented.\n"
-msgstr ""
-"Sorry, »Ersetzungsliste anlegen/vereinigen« ist noch nicht implementiert.\n"
+msgstr "Sorry, »Ersetzungsliste anlegen/vereinigen« ist noch nicht implementiert.\n"
-#: prog/aspell.cpp:1872
+#: prog/aspell.cpp:1877
#, c-format
msgid "\"%s\" is not a valid flag for the \"munch-list\" command."
msgstr "»%s« ist keine gültige Option für den »munch-list«-Befehl."
#. TRANSLATORS: These should all be formated to fit in 80 column or
#. less
-#: prog/aspell.cpp:2799
+#: prog/aspell.cpp:2804
msgid "Usage: aspell [options] <command>"
msgstr "Aufruf: aspell [Optionen] <Befehl>"
-#: prog/aspell.cpp:2800
+#: prog/aspell.cpp:2805
msgid "<command> is one of:"
msgstr "<Befehl> ist eins von:"
-#: prog/aspell.cpp:2801
+#: prog/aspell.cpp:2806
msgid " -?|usage display a brief usage message"
msgstr " -?|usage Einen kurzen Hilfetext anzeigen"
-#: prog/aspell.cpp:2802
+#: prog/aspell.cpp:2807
msgid " help display a detailed help message"
msgstr " help Einen ausführlichen Hilfetext anzeigen"
-#: prog/aspell.cpp:2803
+#: prog/aspell.cpp:2808
msgid " -c|check <file> to check a file"
msgstr " -c|check <file> Eine Datei überprüfen"
-#: prog/aspell.cpp:2804
+#: prog/aspell.cpp:2809
msgid " -a|pipe \"ispell -a\" compatibility mode"
msgstr " -a|pipe Kompatibilitätsmodus für »ispell -a«"
-#: prog/aspell.cpp:2805
+#: prog/aspell.cpp:2810
msgid " [dump] config dumps the current configuration to stdout"
-msgstr ""
-" [dump] config Gibt die aktuelle Konfiguration auf der Standardausgabe "
-"aus"
+msgstr " [dump] config Gibt die aktuelle Konfiguration auf der Standardausgabe aus"
-#: prog/aspell.cpp:2806
+#: prog/aspell.cpp:2811
msgid " config <key> prints the current value of an option"
msgstr " config <key> Gibt den aktuellen Wert einer Option aus"
-#: prog/aspell.cpp:2807
+#: prog/aspell.cpp:2812
msgid " [dump] dicts | filters | modes"
msgstr " [dump] dicts | filters | modes"
-#: prog/aspell.cpp:2808
+#: prog/aspell.cpp:2813
msgid " lists available dictionaries / filters / filter modes"
msgstr " Listet verfügbare Wörterbücher / Filter / Filtermodi auf"
-#: prog/aspell.cpp:2809
+#: prog/aspell.cpp:2814
msgid "[options] is any of the following:"
msgstr "[options] sind beliebig viele der folgenden:"
-#: prog/aspell.cpp:2822
-msgid ""
-" list produce a list of misspelled words from standard input"
-msgstr ""
-" list Liste von falschgeschriebenen Wörtern von der "
-"Standardeingabe ausgeben"
+#: prog/aspell.cpp:2827
+msgid " list produce a list of misspelled words from standard input"
+msgstr " list Liste von falschgeschriebenen Wörtern von der Standardeingabe ausgeben"
-#: prog/aspell.cpp:2825
-msgid ""
-" soundslike returns the sounds like equivalent for each word entered"
+#: prog/aspell.cpp:2830
+msgid " soundslike returns the sounds like equivalent for each word entered"
msgstr " soundslike Gibt den Wortklang zu jedem eingegebenen Wort aus"
-#: prog/aspell.cpp:2826
+#: prog/aspell.cpp:2831
msgid " munch generate possible root words and affixes"
msgstr " munch Mögliche Wortstämme und -endungen erzeugen"
-#: prog/aspell.cpp:2827
+#: prog/aspell.cpp:2832
msgid " expand [1-4] expands affix flags"
msgstr " expand [1-4] Endungskennzeichen erweitern"
-#: prog/aspell.cpp:2828
-msgid ""
-" clean [strict] cleans a word list so that every line is a valid word"
-msgstr ""
-" clean [strict] Wortliste aufräumen, so dass jede Zeile ein gültiges Wort "
-"ist"
+#: prog/aspell.cpp:2833
+msgid " clean [strict] cleans a word list so that every line is a valid word"
+msgstr " clean [strict] Wortliste aufräumen, so dass jede Zeile ein gültiges Wort ist"
-#: prog/aspell.cpp:2830
+#: prog/aspell.cpp:2835
msgid " -v|version prints a version line"
msgstr " -v|version Gibt eine Zeile mit Versionsinformationen aus"
-#: prog/aspell.cpp:2831
+#: prog/aspell.cpp:2836
msgid " munch-list [simple] [single|multi] [keep]"
msgstr " munch-list [simple] [single|multi] [keep]"
-#: prog/aspell.cpp:2832
+#: prog/aspell.cpp:2837
msgid " reduce the size of a word list via affix compression"
msgstr " Größe einer Wortliste mit Suffixkompression reduzieren"
-#: prog/aspell.cpp:2833
+#: prog/aspell.cpp:2838
msgid " conv <from> <to> [<norm-form>]"
msgstr " conv <von> <nach> [<Normalform>]"
-#: prog/aspell.cpp:2834
+#: prog/aspell.cpp:2839
msgid " converts from one encoding to another"
msgstr " Konvertiert von einer Codierung in eine andere"
-#: prog/aspell.cpp:2835
+#: prog/aspell.cpp:2840
msgid " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
msgstr " norm (<norm-map> | <von> <norm-map> <nach>) [<Normalform>]"
-#: prog/aspell.cpp:2836
+#: prog/aspell.cpp:2841
msgid " perform Unicode normalization"
msgstr " Unicodenormalisierung aktivieren"
-#: prog/aspell.cpp:2839
+#: prog/aspell.cpp:2844
msgid " dump|create|merge master|personal|repl [<name>]"
msgstr " dump|create|merge master|personal|repl [<Wortliste>]"
-#: prog/aspell.cpp:2840
-msgid ""
-" dumps, creates or merges a master, personal, or replacement dictionary."
+#: prog/aspell.cpp:2845
+msgid " dumps, creates or merges a master, personal, or replacement dictionary."
msgstr ""
" Haupt- (master), persönliche (personal) oder Ersetzungs- (replacement)-\n"
" Wortliste ausgeben (dump), erzeugen (create) oder mischen (merge)."
#. TRANSLATORS: "none", "internal" and "strict" are literal values
#. and should not be translated.
-#: prog/aspell.cpp:2844
-msgid ""
-" <norm-form> normalization form to use, either none, internal, or "
-"strict"
-msgstr ""
-" <Normalform> Zu benutzende Normalisierungsform: »none«, »internal« "
-"oder »strict«"
+#: prog/aspell.cpp:2849
+msgid " <norm-form> normalization form to use, either none, internal, or strict"
+msgstr " <Normalform> Zu benutzende Normalisierungsform: »none«, »internal« oder »strict«"
-#: prog/aspell.cpp:2854
+#: prog/aspell.cpp:2859
#, c-format
msgid ""
"\n"
"Aspell %s. Copyright 2000-2011 Kevin Atkinson.\n"
"\n"
-#: prog/aspell.cpp:2888
+#: prog/aspell.cpp:2893
msgid ""
"Available Dictionaries:\n"
" Dictionaries can be selected directly via the \"-d\" or \"master\"\n"
" \"variety\", and \"size\" options.\n"
msgstr ""
"Verfügbare Wörterbücher:\n"
-" Sie können Wörterbücher direkt mit der Option »-d« oder »master« "
-"auswählen.\n"
+" Sie können Wörterbücher direkt mit der Option »-d« oder »master« auswählen.\n"
" Andere Möglichkeiten sind die Optionen »lang«, »variety« und »size«.\n"
-#: prog/aspell.cpp:2909
+#: prog/aspell.cpp:2914
msgid ""
"Available Filters (and associated options):\n"
" Filters can be added or removed via the \"filter\" option.\n"
"Verfügbare Filter (un zugehörige Optionen):\n"
" Sie können Filter mit der »filter«-Option hinzufügen oder entfernen.\n"
-#: prog/aspell.cpp:2916
+#: prog/aspell.cpp:2921
#, c-format
msgid ""
"\n"
" %s-Filter: %s\n"
#. TRANSLATORS: This should be formated to fit in 80 column or less
-#: prog/aspell.cpp:2933
+#: prog/aspell.cpp:2938
msgid ""
"Available Filter Modes:\n"
" Filter Modes are reconfigured combinations of filters optimized for\n"
#: modules/speller/default/language.cpp:494
#: modules/speller/default/language.cpp:503
#, c-format
-msgid ""
-"The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgid "The character '%s' (U+%02X) must be followed by an alphabetic character."
msgstr "Nach dem Zeichen »%s« (U+%02X) muss ein alphabetisches Zeichen folgen."
#: modules/speller/default/language.cpp:496
msgstr "Das Zeichen »%s« (U+%02X) darf nicht in der Mitte eines Wortes stehen."
#: modules/speller/default/language.cpp:508
-msgid ""
-"The character '\\r' (U+0D) may not appear at the end of a word. This "
-"probably means means that the file is using MS-DOS EOL instead of Unix EOL."
-msgstr ""
-"Das Zeichen »\\r« (U+0D) darf nicht am Ende eines Wortes vorkommen. Das "
-"könnte daran liegen, dass die Datei den MS-DOS-Zeilenumbruch anstelle des "
-"UNIX-Zeilenumbruchs benutzt. "
+msgid "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgstr "Das Zeichen »\\r« (U+0D) darf nicht am Ende eines Wortes vorkommen. Das könnte daran liegen, dass die Datei den MS-DOS-Zeilenumbruch anstelle des UNIX-Zeilenumbruchs benutzt. "
#: modules/speller/default/language.cpp:511
#, c-format
msgid "Warning: Removing inapplicable affix '%s' from word %s.\n"
msgstr "Warnung: Entferne nicht anwendbare Endung »%s« vom Wort »%s«.\n"
-#: modules/speller/default/language.cpp:674
+#: modules/speller/default/language.cpp:675
#, c-format
msgid "Warning: %s Skipping string.\n"
msgstr "Warnung: »%s«: Überspringe Zeichenkette.\n"
-#: modules/speller/default/language.cpp:732
+#: modules/speller/default/language.cpp:733
msgid "The total length is larger than 240 characters."
msgstr "Das Wort ist insgesamt länger als 240 Zeichen."
-#: modules/speller/default/language.cpp:736
+#: modules/speller/default/language.cpp:737
#, c-format
msgid "Warning: %s Skipping word.\n"
msgstr "Warnung: »%s«: Überspringe Wort.\n"
msgstr "Möglicherweise falsche Anzahl."
#: modules/speller/default/readonly_ws.cpp:362
+msgid "Incompatible hash function."
+msgstr "Inkompatible Hashfunktion."
+
+#: modules/speller/default/readonly_ws.cpp:440
msgid "Wrong endian order."
msgstr "Falsche Endianordnung."
-#: modules/speller/default/readonly_ws.cpp:385
+#: modules/speller/default/readonly_ws.cpp:463
msgid "Wrong soundslike."
msgstr "Falscher Wortklang."
-#: modules/speller/default/readonly_ws.cpp:391
+#: modules/speller/default/readonly_ws.cpp:469
msgid "Wrong soundslike version."
msgstr "Falsche Wortklangversion."
-#: modules/speller/default/readonly_ws.cpp:853
+#: modules/speller/default/readonly_ws.cpp:934
msgid "Affix flags found in word but no affix file given."
msgstr "Endungsflags im Wort gefunden, aber keine Endungsdatei angegeben."
-#: modules/speller/default/readonly_ws.cpp:891
-msgid ""
-"The total word length, with soundslike data, is larger than 240 characters."
-msgstr ""
-"Die Gesamtlänge des Wortes, inclusive Wortklangdaten, ist größer als 240 "
-"Zeichen."
+#: modules/speller/default/readonly_ws.cpp:972
+msgid "The total word length, with soundslike data, is larger than 240 characters."
+msgstr "Die Gesamtlänge des Wortes, inclusive Wortklangdaten, ist größer als 240 Zeichen."
#: modules/speller/default/multi_ws.cpp:58
msgid "There must be at least one \"add\" line."
#: modules/speller/default/suggest.cpp:1403
msgid "one of ultra, fast, normal, slow, or bad-spellers"
-msgstr ""
-"eins von »ultra«, »fast«, »normal«, »slow« (langsam), oder »bad-spellers«"
+msgstr "eins von »ultra«, »fast«, »normal«, »slow« (langsam), oder »bad-spellers«"
#: modules/speller/default/data.cpp:404
msgid "is not one of the allowed types"
msgid "HTML tags to always skip the contents of"
msgstr "HTML-Tags, deren Inhalt immer übersprungen wird"
+#: modules/filter/markdown-filter.info:8
+#, fuzzy
+#| msgid "filter for dealing with Texinfo documents"
+msgid "filter for Markdown/CommonMark documents"
+msgstr "Filter, um Texinfo-Dokumente zu behandeln"
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
+msgstr ""
+
#: modules/filter/nroff-filter.info:7
msgid "filter for dealing with Nroff documents"
msgstr "Filter, um nroff-Dokumente zu behandeln"
msgid "mode for checking HTML documents"
msgstr "Modus, um HTML-Dokumente zu überprüfen"
+#: modules/filter/modes/markdown.amf:10
+#, fuzzy
+#| msgid "mode for checking Nroff documents"
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr "Modus, um nroff-Dokumente zu überprüfen"
+
#: modules/filter/modes/none.amf:5
msgid "mode to disable all filters"
msgstr "Modus, um alle Filter zu deaktivieren"
msgstr ""
"Project-Id-Version: aspell 0.60-pre1\n"
"Report-Msgid-Bugs-To: kevina@gnu.org\n"
-"POT-Creation-Date: 2011-07-04 03:25-0600\n"
+"POT-Creation-Date: 2019-07-29 02:38-0400\n"
"PO-Revision-Date: 2004-07-25 19:46-0400\n"
"Last-Translator: Gareth Owen <gowen72@yahoo.com>\n"
"Language-Team: English (British) <en_gb@li.org>\n"
+"Language: en_GB\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
#: common/info.cpp:232
msgid "a number between 0 and 1"
msgid "ASPELL_CONF env var"
msgstr "ASPELL_CONF env var"
-#. TRANSLATORS: The remaing strings in config.cpp should be kept
+#. TRANSLATORS: The remaining strings in config.cpp should be kept
#. under 50 characters, begin with a lower case character and not
#. include any trailing punctuation marks.
#: common/config.cpp:1360
#: common/config.cpp:1390
#, fuzzy
+#| msgid "ignore case when checking words -- CURRENTLY IGNORED"
msgid "ignore case when checking words"
msgstr "ignore case when checking words -- CURRENTLY IGNORED"
msgid "time load time and suggest time in pipe mode"
msgstr "time load time and suggest time in pipe mode"
-#: common/convert.cpp:303 common/convert.cpp:429
+#: common/convert.cpp:303 common/convert.cpp:497
#, c-format
-msgid ""
-"This could also mean that the file \"%s\" could not be opened for reading or "
-"does not exist."
-msgstr ""
-"This could also mean that the file \"%s\" could not be opened for reading or "
-"does not exist."
+msgid "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
+msgstr "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
-#: common/convert.cpp:552 common/convert.cpp:659 common/convert.cpp:705
+#: common/convert.cpp:582 common/convert.cpp:689 common/convert.cpp:735
#, c-format
msgid "The Unicode code point U+%04X is unsupported."
msgstr "The Unicode code point U+%04X is unsupported."
-#: common/convert.cpp:829
-#, c-format
+#: common/convert.cpp:859
+#, fuzzy, c-format
+#| msgid "Invalid UTF-8 sequence at position %d."
msgid "Invalid UTF-8 sequence at position %ld."
-msgstr "Invalid UTF-8 sequence at position %ld."
+msgstr "Invalid UTF-8 sequence at position %d."
#: common/errors.cpp:27
msgid "Operation Not Supported: %what:1"
msgstr "The key \"%key:1\" is not %accepted:2 and is thus invalid."
#: common/errors.cpp:147
-msgid ""
-"The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%"
-"key:1\"."
-msgstr ""
-"The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%"
-"key:1\"."
+msgid "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
+msgstr "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
#: common/errors.cpp:163
msgid "The key \"%key:1\" is not a string."
msgstr "The key \"%key:1\" is not a list."
#: common/errors.cpp:195
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"reset-"
-"\"."
-msgstr ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"reset-"
-"\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
+msgstr "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
#: common/errors.cpp:203
#, fuzzy
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by an \"enable-"
-"\"."
-msgstr ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"enable-"
-"\"."
+#| msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"enable-\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by an \"enable-\"."
+msgstr "The key \"%key:1\" does not take any parameters when prefixed by a \"enable-\"."
#: common/errors.cpp:211
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" "
-"or \"disable-\"."
-msgstr ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" "
-"or \"disable-\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
+msgstr "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
#: common/errors.cpp:219
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"clear-"
-"\"."
-msgstr ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"clear-"
-"\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
+msgstr "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
#: common/errors.cpp:235
#, c-format
#: common/errors.cpp:299
#, c-format
-msgid ""
-"The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be "
-"stripped."
-msgstr ""
-"The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be "
-"stripped."
+msgid "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
+msgstr "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
#: common/errors.cpp:307
#, c-format
-msgid ""
-"The file \"%file:1\" is not in the proper format. Expected the file to be in "
-"\"%exp:2\" not \"%got:3\"."
-msgstr ""
-"The file \"%file:1\" is not in the proper format. Expected the file to be in "
-"\"%exp:2\" not \"%got:3\"."
+msgid "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
+msgstr "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
#: common/errors.cpp:323
#, c-format
msgstr "\"%mode:1\": no magic expression available for magic \"%magic:2\"."
#: common/errors.cpp:675
-msgid ""
-"\"%mode:1\": Magic \"%magic:2\": bad regular expression after location "
-"specifier; regexp reports: \"%regerr:3\"."
-msgstr ""
-"\"%mode:1\": Magic \"%magic:2\": bad regular expression after location "
-"specifier; regexp reports: \"%regerr:3\"."
+msgid "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
+msgstr "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
#: common/errors.cpp:691
#, c-format
msgid "Unhandled Error: "
msgstr "Unhandled Error: "
-#: prog/aspell.cpp:97
+#: prog/aspell.cpp:98
#, c-format
msgid "Error: %s\n"
msgstr "Error: %s\n"
-#: prog/aspell.cpp:102
+#: prog/aspell.cpp:103
msgid "Error: "
msgstr "Error: "
-#: prog/aspell.cpp:203
+#: prog/aspell.cpp:204
msgid "enter Email mode."
msgstr "enter Email mode."
-#: prog/aspell.cpp:204
+#: prog/aspell.cpp:205
msgid "enter HTML mode."
msgstr "enter HTML mode."
-#: prog/aspell.cpp:205
+#: prog/aspell.cpp:206
msgid "enter TeX mode."
msgstr "enter TeX mode."
-#: prog/aspell.cpp:206
+#: prog/aspell.cpp:207
#, fuzzy
+#| msgid "enter TeX mode."
msgid "enter Nroff mode."
msgstr "enter TeX mode."
-#: prog/aspell.cpp:312
+#: prog/aspell.cpp:313
#, c-format
msgid "Invalid Option: %s"
msgstr "Invalid Option: %s"
-#: prog/aspell.cpp:319
+#: prog/aspell.cpp:320
msgid " does not take any parameters."
msgstr " does not take any parameters."
-#: prog/aspell.cpp:332 prog/aspell.cpp:392
+#: prog/aspell.cpp:333 prog/aspell.cpp:393
#, fuzzy, c-format
+#| msgid "You must specify a parameter for %s"
msgid "You must specify a parameter for \"%s\"."
msgstr "You must specify a parameter for %s"
-#: prog/aspell.cpp:381
+#: prog/aspell.cpp:382
msgid "You must specify an action"
msgstr "You must specify an action"
-#: prog/aspell.cpp:389 prog/aspell.cpp:452 prog/aspell.cpp:474
+#: prog/aspell.cpp:390 prog/aspell.cpp:453 prog/aspell.cpp:475
#, c-format
msgid "Unknown Action: %s"
msgstr "Unknown Action: %s"
-#: prog/aspell.cpp:395
+#: prog/aspell.cpp:396
#, fuzzy, c-format
+#| msgid "You must specify a parameter for %s"
msgid "Error: You must specify at least %d parameters for \"%s\".\n"
msgstr "You must specify a parameter for %s"
-#: prog/aspell.cpp:637
+#: prog/aspell.cpp:638
msgid "Invalid Input"
msgstr "Invalid Input"
-#: prog/aspell.cpp:710
+#: prog/aspell.cpp:711
#, c-format
msgid "WARNING: Unable to enter Nroff mode: %s\n"
msgstr ""
-#: prog/aspell.cpp:731
+#: prog/aspell.cpp:732
msgid "Time to load word list: "
msgstr "Time to load word list: "
-#: prog/aspell.cpp:929
+#: prog/aspell.cpp:930
#, c-format
msgid "Suggestion Time: %f\n"
msgstr "Suggestion Time: %f\n"
-#: prog/aspell.cpp:972
+#: prog/aspell.cpp:973
msgid "You must specify a file name."
msgstr "You must specify a file name."
-#: prog/aspell.cpp:975
+#: prog/aspell.cpp:976
msgid "Only one file name may be specified."
msgstr ""
-#: prog/aspell.cpp:985
+#: prog/aspell.cpp:986
#, c-format
msgid "Could not open the file \"%s\" for reading"
msgstr "Could not open the file \"%s\" for reading"
-#: prog/aspell.cpp:998
+#: prog/aspell.cpp:999
#, c-format
msgid "Invalid keymapping: %s"
msgstr "Invalid keymapping: %s"
-#: prog/aspell.cpp:1020
+#: prog/aspell.cpp:1014
+#, fuzzy, c-format
+#| msgid "\"%expression:1\" is not a valid regular expression."
+msgid "\"%s\" is not a regular file"
+msgstr "\"%expression:1\" is not a valid regular expression."
+
+#: prog/aspell.cpp:1025
#, c-format
msgid "Could not open the file \"%s\" for writing. File not saved."
msgstr "Could not open the file \"%s\" for writing. File not saved."
-#: prog/aspell.cpp:1033
+#: prog/aspell.cpp:1038
msgid "Ignore"
msgstr "Ignore"
-#: prog/aspell.cpp:1034
+#: prog/aspell.cpp:1039
msgid "Ignore all"
msgstr "Ignore all"
-#: prog/aspell.cpp:1035
+#: prog/aspell.cpp:1040
msgid "Replace"
msgstr "Replace"
-#: prog/aspell.cpp:1036
+#: prog/aspell.cpp:1041
msgid "Replace all"
msgstr "Replace all"
-#: prog/aspell.cpp:1037
+#: prog/aspell.cpp:1042
msgid "Add"
msgstr "Add"
-#: prog/aspell.cpp:1038
+#: prog/aspell.cpp:1043
msgid "Add Lower"
msgstr "Add Lower"
-#: prog/aspell.cpp:1039
+#: prog/aspell.cpp:1044
msgid "Abort"
msgstr "Abort"
-#: prog/aspell.cpp:1040
+#: prog/aspell.cpp:1045
msgid "Exit"
msgstr "Exit"
-#: prog/aspell.cpp:1116
+#: prog/aspell.cpp:1121
msgid "Are you sure you want to abort (y/n)? "
msgstr "Are you sure you want to abort (y/n)? "
#. TRANSLATORS: The user may input any of these characters to say "yes".
#. MUST ONLY CONSIST OF ASCII CHARACTERS.
-#: prog/aspell.cpp:1120
+#: prog/aspell.cpp:1125
msgid "Yy"
msgstr ""
-#: prog/aspell.cpp:1148
+#: prog/aspell.cpp:1153
msgid "With: "
msgstr "With: "
-#: prog/aspell.cpp:1165
+#: prog/aspell.cpp:1170
msgid "Sorry that is an invalid choice!"
msgstr "Sorry that is an invalid choice!"
-#: prog/aspell.cpp:1386
+#: prog/aspell.cpp:1391
msgid "Sorry \"filter\" is currently unimplemented.\n"
msgstr "Sorry \"filter\" is currently not implemented.\n"
-#: prog/aspell.cpp:1520
+#: prog/aspell.cpp:1525
msgid "Can't merge a master word list yet. Sorry."
msgstr "Can't merge a master word list yet. Sorry."
-#: prog/aspell.cpp:1544
+#: prog/aspell.cpp:1549
msgid "Sorry \"create/merge personal\" is currently unimplemented.\n"
msgstr "Sorry \"create/merge personal\" is currently not implemented.\n"
-#: prog/aspell.cpp:1553 prog/aspell.cpp:1609
+#: prog/aspell.cpp:1558 prog/aspell.cpp:1614
#, c-format
msgid "Sorry I won't overwrite \"%s\""
msgstr "Sorry I won't overwrite \"%s\""
-#: prog/aspell.cpp:1600
+#: prog/aspell.cpp:1605
msgid "Sorry \"create/merge repl\" is currently unimplemented.\n"
msgstr "Sorry \"create/merge repl\" is currently not implemented.\n"
-#: prog/aspell.cpp:1872
+#: prog/aspell.cpp:1877
#, c-format
msgid "\"%s\" is not a valid flag for the \"munch-list\" command."
msgstr ""
#. TRANSLATORS: These should all be formated to fit in 80 column or
#. less
-#: prog/aspell.cpp:2799
+#: prog/aspell.cpp:2804
msgid "Usage: aspell [options] <command>"
msgstr "Usage: aspell [options] <command>"
-#: prog/aspell.cpp:2800
+#: prog/aspell.cpp:2805
msgid "<command> is one of:"
msgstr "<command> is one of:"
-#: prog/aspell.cpp:2801
+#: prog/aspell.cpp:2806
msgid " -?|usage display a brief usage message"
msgstr " -?|usage display a brief usage message"
-#: prog/aspell.cpp:2802
+#: prog/aspell.cpp:2807
msgid " help display a detailed help message"
msgstr " help display a detailed help message"
-#: prog/aspell.cpp:2803
+#: prog/aspell.cpp:2808
msgid " -c|check <file> to check a file"
msgstr " -c|check <file> to check a file"
-#: prog/aspell.cpp:2804
+#: prog/aspell.cpp:2809
msgid " -a|pipe \"ispell -a\" compatibility mode"
msgstr " -a|pipe \"ispell -a\" compatibility mode"
-#: prog/aspell.cpp:2805
+#: prog/aspell.cpp:2810
msgid " [dump] config dumps the current configuration to stdout"
msgstr " [dump] config dumps the current configuration to stdout"
-#: prog/aspell.cpp:2806
+#: prog/aspell.cpp:2811
msgid " config <key> prints the current value of an option"
msgstr " config <key> prints the current value of an option"
-#: prog/aspell.cpp:2807
+#: prog/aspell.cpp:2812
msgid " [dump] dicts | filters | modes"
msgstr " [dump] dicts | filters | modes"
-#: prog/aspell.cpp:2808
+#: prog/aspell.cpp:2813
msgid " lists available dictionaries / filters / filter modes"
msgstr " lists available dictionaries / filters / filter modes"
-#: prog/aspell.cpp:2809
+#: prog/aspell.cpp:2814
msgid "[options] is any of the following:"
msgstr "[options] is any of the following:"
-#: prog/aspell.cpp:2822
-msgid ""
-" list produce a list of misspelled words from standard input"
-msgstr ""
-" list produce a list of misspelled words from standard input"
+#: prog/aspell.cpp:2827
+msgid " list produce a list of misspelled words from standard input"
+msgstr " list produce a list of misspelled words from standard input"
-#: prog/aspell.cpp:2825
-msgid ""
-" soundslike returns the sounds like equivalent for each word entered"
-msgstr ""
-" soundslike returns the sounds like equivalent for each word entered"
+#: prog/aspell.cpp:2830
+msgid " soundslike returns the sounds like equivalent for each word entered"
+msgstr " soundslike returns the sounds like equivalent for each word entered"
-#: prog/aspell.cpp:2826
+#: prog/aspell.cpp:2831
msgid " munch generate possible root words and affixes"
msgstr " munch generate possible root words and affixes"
-#: prog/aspell.cpp:2827
+#: prog/aspell.cpp:2832
msgid " expand [1-4] expands affix flags"
msgstr " expand [1-4] expands affix flags"
-#: prog/aspell.cpp:2828
-msgid ""
-" clean [strict] cleans a word list so that every line is a valid word"
-msgstr ""
-" clean [strict] cleans a word list so that every line is a valid word"
+#: prog/aspell.cpp:2833
+msgid " clean [strict] cleans a word list so that every line is a valid word"
+msgstr " clean [strict] cleans a word list so that every line is a valid word"
-#: prog/aspell.cpp:2830
+#: prog/aspell.cpp:2835
msgid " -v|version prints a version line"
msgstr " -v|version prints a version line"
-#: prog/aspell.cpp:2831
+#: prog/aspell.cpp:2836
msgid " munch-list [simple] [single|multi] [keep]"
msgstr ""
-#: prog/aspell.cpp:2832
+#: prog/aspell.cpp:2837
msgid " reduce the size of a word list via affix compression"
msgstr ""
-#: prog/aspell.cpp:2833
+#: prog/aspell.cpp:2838
msgid " conv <from> <to> [<norm-form>]"
msgstr " conv <from> <to> [<norm-form>]"
-#: prog/aspell.cpp:2834
+#: prog/aspell.cpp:2839
msgid " converts from one encoding to another"
msgstr " converts from one encoding to another"
-#: prog/aspell.cpp:2835
+#: prog/aspell.cpp:2840
msgid " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
msgstr " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
-#: prog/aspell.cpp:2836
+#: prog/aspell.cpp:2841
msgid " perform Unicode normalization"
msgstr " perform Unicode normalisation"
-#: prog/aspell.cpp:2839
+#: prog/aspell.cpp:2844
#, fuzzy
+#| msgid " dump|create|merge master|personal|repl [word list]"
msgid " dump|create|merge master|personal|repl [<name>]"
msgstr " dump|create|merge master|personal|repl [word list]"
-#: prog/aspell.cpp:2840
+#: prog/aspell.cpp:2845
#, fuzzy
-msgid ""
-" dumps, creates or merges a master, personal, or replacement dictionary."
-msgstr ""
-" dumps, creates or merges a master, personal, or replacement word list."
+#| msgid " dumps, creates or merges a master, personal, or replacement word list."
+msgid " dumps, creates or merges a master, personal, or replacement dictionary."
+msgstr " dumps, creates or merges a master, personal, or replacement word list."
#. TRANSLATORS: "none", "internal" and "strict" are literal values
#. and should not be translated.
-#: prog/aspell.cpp:2844
-msgid ""
-" <norm-form> normalization form to use, either none, internal, or "
-"strict"
-msgstr ""
-" <norm-form> normalisation form to use, either none, internal, or "
-"strict"
+#: prog/aspell.cpp:2849
+msgid " <norm-form> normalization form to use, either none, internal, or strict"
+msgstr " <norm-form> normalisation form to use, either none, internal, or strict"
-#: prog/aspell.cpp:2854
-#, c-format
+#: prog/aspell.cpp:2859
+#, fuzzy, c-format
+#| msgid ""
+#| "\n"
+#| "Aspell %s. Copyright 2000-2004 by Kevin Atkinson.\n"
+#| "\n"
msgid ""
"\n"
"Aspell %s. Copyright 2000-2011 by Kevin Atkinson.\n"
"\n"
msgstr ""
"\n"
-"Aspell %s. Copyright 2000-2011 by Kevin Atkinson.\n"
+"Aspell %s. Copyright 2000-2004 by Kevin Atkinson.\n"
"\n"
-#: prog/aspell.cpp:2888
+#: prog/aspell.cpp:2893
msgid ""
"Available Dictionaries:\n"
" Dictionaries can be selected directly via the \"-d\" or \"master\"\n"
" option. They can also be selected indirectly via the \"lang\",\n"
" \"variety\", and \"size\" options.\n"
-#: prog/aspell.cpp:2909
+#: prog/aspell.cpp:2914
msgid ""
"Available Filters (and associated options):\n"
" Filters can be added or removed via the \"filter\" option.\n"
"Available Filters (and associated options):\n"
" Filters can be added or removed via the \"filter\" option.\n"
-#: prog/aspell.cpp:2916
+#: prog/aspell.cpp:2921
#, c-format
msgid ""
"\n"
" %s filter: %s\n"
#. TRANSLATORS: This should be formated to fit in 80 column or less
-#: prog/aspell.cpp:2933
+#: prog/aspell.cpp:2938
msgid ""
"Available Filter Modes:\n"
" Filter Modes are reconfigured combinations of filters optimized for\n"
#: modules/speller/default/language.cpp:494
#: modules/speller/default/language.cpp:503
#, c-format
-msgid ""
-"The character '%s' (U+%02X) must be followed by an alphabetic character."
-msgstr ""
-"The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgid "The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgstr "The character '%s' (U+%02X) must be followed by an alphabetic character."
#: modules/speller/default/language.cpp:496
msgid "Does not contain any alphabetic characters."
msgstr "The character '%s' (U+%02X) may not appear in the middle of a word."
#: modules/speller/default/language.cpp:508
-msgid ""
-"The character '\\r' (U+0D) may not appear at the end of a word. This "
-"probably means means that the file is using MS-DOS EOL instead of Unix EOL."
-msgstr ""
-"The character '\\r' (U+0D) may not appear at the end of a word. This "
-"probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgid "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgstr "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
#: modules/speller/default/language.cpp:511
#, c-format
msgid "Warning: Removing inapplicable affix '%s' from word %s.\n"
msgstr "Warning: Removing inapplicable affix '%s' from word %s.\n"
-#: modules/speller/default/language.cpp:674
+#: modules/speller/default/language.cpp:675
#, c-format
msgid "Warning: %s Skipping string.\n"
msgstr "Warning: %s Skipping string.\n"
-#: modules/speller/default/language.cpp:732
+#: modules/speller/default/language.cpp:733
msgid "The total length is larger than 240 characters."
msgstr "The total length is larger than 240 characters."
-#: modules/speller/default/language.cpp:736
+#: modules/speller/default/language.cpp:737
#, c-format
msgid "Warning: %s Skipping word.\n"
msgstr "Warning: %s Skipping word.\n"
msgstr "Possibly incorrect count."
#: modules/speller/default/readonly_ws.cpp:362
+msgid "Incompatible hash function."
+msgstr ""
+
+#: modules/speller/default/readonly_ws.cpp:440
msgid "Wrong endian order."
msgstr "Wrong endian order."
-#: modules/speller/default/readonly_ws.cpp:385
+#: modules/speller/default/readonly_ws.cpp:463
msgid "Wrong soundslike."
msgstr "Wrong soundslike."
-#: modules/speller/default/readonly_ws.cpp:391
+#: modules/speller/default/readonly_ws.cpp:469
msgid "Wrong soundslike version."
msgstr "Wrong soundslike version."
-#: modules/speller/default/readonly_ws.cpp:853
+#: modules/speller/default/readonly_ws.cpp:934
msgid "Affix flags found in word but no affix file given."
msgstr "Affix flags found in word but no affix file given."
-#: modules/speller/default/readonly_ws.cpp:891
-msgid ""
-"The total word length, with soundslike data, is larger than 240 characters."
-msgstr ""
-"The total word length, with soundslike data, is larger than 240 characters."
+#: modules/speller/default/readonly_ws.cpp:972
+msgid "The total word length, with soundslike data, is larger than 240 characters."
+msgstr "The total word length, with soundslike data, is larger than 240 characters."
#: modules/speller/default/multi_ws.cpp:58
msgid "There must be at least one \"add\" line."
msgid "HTML tags to always skip the contents of"
msgstr "HTML tags to always skip the contents of"
+#: modules/filter/markdown-filter.info:8
+#, fuzzy
+#| msgid "filter for dealing with HTML documents"
+msgid "filter for Markdown/CommonMark documents"
+msgstr "filter for dealing with HTML documents"
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
+msgstr ""
+
#: modules/filter/nroff-filter.info:7
#, fuzzy
+#| msgid "filter for dealing with HTML documents"
msgid "filter for dealing with Nroff documents"
msgstr "filter for dealing with HTML documents"
#: modules/filter/texinfo-filter.info:7
#, fuzzy
+#| msgid "filter for dealing with HTML documents"
msgid "filter for dealing with Texinfo documents"
msgstr "filter for dealing with HTML documents"
#: modules/filter/texinfo-filter.info:13
#, fuzzy
+#| msgid "ignore commands to store replacement pairs"
msgid "Texinfo commands to ignore the parameters of"
msgstr "ignore commands to store replacement pairs"
msgid "mode for checking HTML documents"
msgstr "mode for checking HTML documents"
+#: modules/filter/modes/markdown.amf:10
+#, fuzzy
+#| msgid "mode for checking HTML documents"
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr "mode for checking HTML documents"
+
#: modules/filter/modes/none.amf:5
msgid "mode to disable all filters"
msgstr "mode to disable all filters"
#: modules/filter/modes/nroff.amf:7
#, fuzzy
+#| msgid "mode for checking HTML documents"
msgid "mode for checking Nroff documents"
msgstr "mode for checking HTML documents"
#: modules/filter/modes/perl.amf:8
#, fuzzy
+#| msgid "mode for checking perl comments and string literals"
msgid "mode for checking Perl comments and string literals"
msgstr "mode for checking perl comments and string literals"
#: modules/filter/modes/texinfo.amf:7
#, fuzzy
+#| msgid "mode for checking HTML documents"
msgid "mode for checking Texinfo documents"
msgstr "mode for checking HTML documents"
#~ " and help for filters matching <expr> if installed\n"
#~ " -c|check <file> to check a file\n"
#~ " -a|pipe \"ispell -a\" compatibility mode\n"
-#~ " list produce a list of misspelled words from standard "
-#~ "input\n"
+#~ " list produce a list of misspelled words from standard input\n"
#~ " [dump] config [-e <expr>] dumps the current configuration to stdout\n"
#~ " config [+e <expr>] <key> prints the current value of an option\n"
-#~ " soundslike returns the sounds like equivalent for each word "
-#~ "entered\n"
+#~ " soundslike returns the sounds like equivalent for each word entered\n"
#~ " munch generate possible root words and affixes\n"
#~ " expand [1-4] expands affix flags\n"
#~ " clean [strict] cleans a word list so that every line is a valid word\n"
#~ " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]\n"
#~ " perform unicode normlization\n"
#~ " dump|create|merge master|personal|repl [word list]\n"
-#~ " dumps, creates or merges a master, personal, or replacement word "
-#~ "list.\n"
+#~ " dumps, creates or merges a master, personal, or replacement word list.\n"
#~ "\n"
#~ " <expr> regular expression matching filtername(s) or \"all\"\n"
-#~ " <norm-form> normalization form to use, either none, internal, or "
-#~ "strict\n"
+#~ " <norm-form> normalization form to use, either none, internal, or strict\n"
#~ "\n"
#~ "[options] is any of the following:\n"
#~ "\n"
#~ " and help for filters matching <expr> if installed\n"
#~ " -c|check <file> to check a file\n"
#~ " -a|pipe \"ispell -a\" compatibility mode\n"
-#~ " list produce a list of misspelled words from standard "
-#~ "input\n"
+#~ " list produce a list of misspelled words from standard input\n"
#~ " [dump] config [-e <expr>] dumps the current configuration to stdout\n"
#~ " config [+e <expr>] <key> prints the current value of an option\n"
-#~ " soundslike returns the sounds like equivalent for each word "
-#~ "entered\n"
+#~ " soundslike returns the sounds like equivalent for each word entered\n"
#~ " munch generate possible root words and affixes\n"
#~ " expand [1-4] expands affix flags\n"
#~ " clean [strict] cleans a word list so that every line is a valid word\n"
#~ " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]\n"
#~ " perform unicode normlisation\n"
#~ " dump|create|merge master|personal|repl [word list]\n"
-#~ " dumps, creates or merges a master, personal, or replacement word "
-#~ "list.\n"
+#~ " dumps, creates or merges a master, personal, or replacement word list.\n"
#~ "\n"
#~ " <expr> regular expression matching filtername(s) or \"all\"\n"
-#~ " <norm-form> normalisation form to use, either none, internal, or "
-#~ "strict\n"
+#~ " <norm-form> normalisation form to use, either none, internal, or strict\n"
#~ "\n"
#~ "[options] is any of the following:\n"
#~ "\n"
--- /dev/null
+# Esperanto messages for GNU Aspell
+# Copyright (C) 2013 Kevin Atkinson
+# This file is distributed under the same license as the aspell package.
+# Felipe Castro <fefcas@gmail.com>, 2013.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: aspell 0.60.7\n"
+"Report-Msgid-Bugs-To: kevina@gnu.org\n"
+"POT-Creation-Date: 2019-07-29 02:38-0400\n"
+"PO-Revision-Date: 2013-02-01 09:35-0300\n"
+"Last-Translator: Felipe Castro <fefcas@gmail.com>\n"
+"Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
+"Language: eo\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+
+#: common/info.cpp:232
+msgid "a number between 0 and 1"
+msgstr "numero inter 0 kaj 1"
+
+#: common/info.cpp:569
+msgid "in the form \"<name> <value>\""
+msgstr "laŭ la formo \"<nomo> <valoro>\""
+
+#: common/config.cpp:74
+msgid "string"
+msgstr "ĉeno"
+
+#: common/config.cpp:74
+msgid "integer"
+msgstr "entjero"
+
+#: common/config.cpp:74
+msgid "boolean"
+msgstr "buleo"
+
+#: common/config.cpp:74
+msgid "list"
+msgstr "listo"
+
+#. TRANSLATORS: "true" and "false" are literal
+#. * values and should not be translated.
+#: common/config.cpp:978
+msgid "either \"true\" or \"false\""
+msgstr "aŭ \"true\" aŭ \"false\""
+
+#: common/config.cpp:997
+msgid "a positive integer"
+msgstr "pozitiva entjero"
+
+#: common/config.cpp:1125
+msgid "# default: "
+msgstr "# aprioras: "
+
+#: common/config.cpp:1188
+#, c-format
+msgid ""
+"\n"
+"#######################################################################\n"
+"#\n"
+"# Filter: %s\n"
+"# %s\n"
+"#\n"
+"# configured as follows:\n"
+"\n"
+msgstr ""
+"\n"
+"#######################################################################\n"
+"#\n"
+"# Filtrilo: %s\n"
+"# %s\n"
+"#\n"
+"# agordita jene:\n"
+"\n"
+
+#: common/config.cpp:1286
+msgid "ASPELL_CONF env var"
+msgstr "ASPELL_CONF medi-var"
+
+#. TRANSLATORS: The remaining strings in config.cpp should be kept
+#. under 50 characters, begin with a lower case character and not
+#. include any trailing punctuation marks.
+#: common/config.cpp:1360
+msgid "main configuration file"
+msgstr "ĉefa agorda dosiero"
+
+#: common/config.cpp:1362
+msgid "location of main configuration file"
+msgstr "loko de la ĉefa agorda dosiero"
+
+#: common/config.cpp:1365
+msgid "location of language data files"
+msgstr "loko de la lingva datumardosieroj"
+
+#: common/config.cpp:1367
+msgid "create dictionary aliases"
+msgstr "krei vortarajn kromnomojn"
+
+#: common/config.cpp:1369
+msgid "location of the main word list"
+msgstr "loko de la ĉefa vortlisto"
+
+#: common/config.cpp:1371
+msgid "encoding to expect data to be in"
+msgstr "atendata enkodigo de la datumaro"
+
+#: common/config.cpp:1373
+msgid "add or removes a filter"
+msgstr "aldoni aŭ forigi filtrilon"
+
+#: common/config.cpp:1375
+msgid "path(s) aspell looks for filters"
+msgstr "vojo(j) kiujn aspell serĉas por filtriloj"
+
+#: common/config.cpp:1379
+msgid "filter mode"
+msgstr "filtra reĝimo"
+
+#: common/config.cpp:1381
+msgid "extra dictionaries to use"
+msgstr "aldonaj vortaroj uzotaj"
+
+#: common/config.cpp:1383
+msgid "location for personal files"
+msgstr "loko por personaj dosieroj"
+
+#: common/config.cpp:1385
+msgid "ignore words <= n chars"
+msgstr "preteratenti vortojn <= n signoj"
+
+#. TRANSLATORS: It is OK if this is longer than 50 chars
+#: common/config.cpp:1388
+msgid "ignore accents when checking words -- CURRENTLY IGNORED"
+msgstr "preteratenti supersignojn kontrolante vortojn -- NUNE PRETERATENTITE"
+
+#: common/config.cpp:1390
+msgid "ignore case when checking words"
+msgstr "preteratenti usklecon kontrolante vortojn"
+
+#: common/config.cpp:1392
+msgid "ignore commands to store replacement pairs"
+msgstr "preteratenti konserv-ordonojn por anstataŭigparoj"
+
+#: common/config.cpp:1394 common/config.cpp:1461
+msgid "extra information for the word list"
+msgstr "aldona informo por la vortlisto"
+
+#: common/config.cpp:1396
+msgid "keyboard definition to use for typo analysis"
+msgstr "klavar-difino uzota por tajp-erara analizo"
+
+#: common/config.cpp:1398
+msgid "language code"
+msgstr "lingvo-kodo"
+
+#: common/config.cpp:1400
+msgid "deprecated, use lang instead"
+msgstr "malrekomendinde, uzu lang anstataŭe"
+
+#: common/config.cpp:1402
+msgid "location of local language data files"
+msgstr "loko de lokaj lingvo-datumaraj dosieroj"
+
+#: common/config.cpp:1404
+msgid "base name of the main dictionary to use"
+msgstr "baza nomo de la ĉefa vortaro uzota"
+
+#: common/config.cpp:1408
+msgid "set module name"
+msgstr "difini modulan nomon"
+
+#: common/config.cpp:1410
+msgid "search order for modules"
+msgstr "serĉ-ordo por moduloj"
+
+#: common/config.cpp:1412
+msgid "enable Unicode normalization"
+msgstr "ebligi unikodan normigon"
+
+#: common/config.cpp:1414
+msgid "Unicode normalization required for current lang"
+msgstr "Unikoda normigo estas postulata por la nuna lingvo"
+
+#. TRANSLATORS: the values after the ':' are literal
+#. values and should not be translated.
+#: common/config.cpp:1418
+msgid "Unicode normalization form: none, nfd, nfc, comp"
+msgstr "Unikoda normiga formo: none, nfd, nfc, comp"
+
+#: common/config.cpp:1420
+msgid "avoid lossy conversions when normalization"
+msgstr "eviti perdigajn konvertojn dum normigo"
+
+#: common/config.cpp:1422
+msgid "personal configuration file"
+msgstr "persona agordo-dosiero"
+
+#: common/config.cpp:1425
+msgid "personal dictionary file name"
+msgstr "persona vortara dosiernomo"
+
+#: common/config.cpp:1428
+msgid "prefix directory"
+msgstr "prefiksa dosierujo"
+
+#: common/config.cpp:1430
+msgid "replacements list file name"
+msgstr "dosiernomo de anstataŭig-listo"
+
+#: common/config.cpp:1433
+msgid "consider run-together words legal"
+msgstr "konsideri kun-metitajn vortojn validaj"
+
+#: common/config.cpp:1435
+msgid "maximum number that can be strung together"
+msgstr "maksimuma numero kiu povas esti kunĉenigita"
+
+#: common/config.cpp:1437
+msgid "minimal length of interior words"
+msgstr "minimuma longo de internaj vortoj"
+
+#: common/config.cpp:1439
+msgid "save replacement pairs on save all"
+msgstr "konservi anstataŭigajn parojn je 'konservi ĉion'"
+
+#: common/config.cpp:1441
+msgid "set the prefix based on executable location"
+msgstr "difini prefikson surbazite de la programlanĉa loko"
+
+#: common/config.cpp:1443
+msgid "size of the word list"
+msgstr "grando de la vortlisto"
+
+#: common/config.cpp:1445
+msgid "no longer used"
+msgstr "ne plu uzata"
+
+#: common/config.cpp:1447
+msgid "suggestion mode"
+msgstr "sugesto-dona reĝimo"
+
+#. TRANSLATORS: "sug-mode" is a literal value and should not be
+#. translated.
+#: common/config.cpp:1451
+msgid "edit distance to use, override sug-mode default"
+msgstr "redakti distancon uzotan, malgraŭ sug-mode aprioro"
+
+#: common/config.cpp:1453
+msgid "use typo analysis, override sug-mode default"
+msgstr "uzi tajp-erar-analizon, surpasi sug-mode aprioron"
+
+#: common/config.cpp:1455
+msgid "use replacement tables, override sug-mode default"
+msgstr "uzi anstataŭig-tabelojn, surpasi sug-mode aprioron"
+
+#: common/config.cpp:1457
+msgid "characters to insert when a word is split"
+msgstr "signoj enmetotaj kiam vorto estas apartigita"
+
+#: common/config.cpp:1459
+msgid "use personal, replacement & session dictionaries"
+msgstr "uzi personan, anstataŭigan kaj seancajn vortarojn"
+
+#: common/config.cpp:1463
+msgid "search path for word list information files"
+msgstr "serĉvojo por vortlistaj informaj dosieroj"
+
+#: common/config.cpp:1465
+msgid "enable warnings"
+msgstr "ebligi avertojn"
+
+#. TRANSLATORS: It is OK if this is longer than 50 chars
+#: common/config.cpp:1475
+msgid "indicator for affix flags in word lists -- CURRENTLY IGNORED"
+msgstr "indikilo por afikso-flagoj en vortlistoj -- NUNE PRETERATENTITE"
+
+#: common/config.cpp:1477
+msgid "use affix compression when creating dictionaries"
+msgstr "uzi afiks-densigo dum kreo de vortaroj"
+
+#: common/config.cpp:1479
+msgid "remove invalid affix flags"
+msgstr "forigi malvalidajn afiks-flagojn"
+
+#: common/config.cpp:1481
+msgid "attempts to clean words so that they are valid"
+msgstr "provas netigi vortojn tiel ke ili validu"
+
+#: common/config.cpp:1483
+msgid "compute soundslike on demand rather than storing"
+msgstr "kalkuli la fonemojn laŭbezone anstataŭ konservi"
+
+#: common/config.cpp:1485
+msgid "partially expand affixes for better suggestions"
+msgstr "parte elvolvigi afiksojn por pli bonaj sugestoj"
+
+#: common/config.cpp:1487
+msgid "skip invalid words"
+msgstr "salti malvalidajn vortojn"
+
+#: common/config.cpp:1489
+msgid "check if affix flags are valid"
+msgstr "kontroli ĉu afiks-flagoj validas"
+
+#: common/config.cpp:1491
+msgid "check if words are valid"
+msgstr "kontroli ĉu vortoj validas"
+
+#: common/config.cpp:1498
+msgid "create a backup file by appending \".bak\""
+msgstr "krei savkopian dosieron postmetante \".bak\""
+
+#: common/config.cpp:1500
+msgid "use byte offsets instead of character offsets"
+msgstr "uzi bajto-deŝovojn anstataŭ signo-deŝovoj"
+
+#: common/config.cpp:1502
+msgid "create missing root/affix combinations"
+msgstr "krei mankantajn radik/afiks-kombinojn"
+
+#: common/config.cpp:1504
+msgid "keymapping for check mode: \"aspell\" or \"ispell\""
+msgstr "klavmapigo por kontrolreĝimo: \"aspell\" aŭ \"ispell\""
+
+#: common/config.cpp:1506
+msgid "reverse the order of the suggest list"
+msgstr "inversigi la ordon de la sugestlisto"
+
+#: common/config.cpp:1508
+msgid "suggest possible replacements"
+msgstr "sugesti eblajn anstataŭigojn"
+
+#: common/config.cpp:1510
+msgid "time load time and suggest time in pipe mode"
+msgstr "tempoj de ŝargo kaj de sugesto laŭ dukta reĝimo"
+
+#: common/convert.cpp:303 common/convert.cpp:497
+#, c-format
+msgid "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
+msgstr "Tio povus ankaŭ signifi ke la dosiero \"%s\" povas ne esti malfermita por legi aŭ ke ĝi ne ekzistas."
+
+#: common/convert.cpp:582 common/convert.cpp:689 common/convert.cpp:735
+#, c-format
+msgid "The Unicode code point U+%04X is unsupported."
+msgstr "La unikoda kodpunkto U+%04X ne estas subtenata."
+
+#: common/convert.cpp:859
+#, c-format
+msgid "Invalid UTF-8 sequence at position %ld."
+msgstr "Malvalida sekvo de UTF-8 ĉe pozicio %ld."
+
+#: common/errors.cpp:27
+msgid "Operation Not Supported: %what:1"
+msgstr "Operacio ne subtenata: %what:1"
+
+#: common/errors.cpp:43
+msgid "The method \"%what:1\" is unimplemented in \"%where:2\"."
+msgstr "La metodo \"%what:1\" ne estas realigita en \"%where:2\"."
+
+#: common/errors.cpp:51
+#, c-format
+msgid "%file:1:"
+msgstr "%file:1:"
+
+#: common/errors.cpp:59
+#, c-format
+msgid "The file \"%file:1\" can not be opened"
+msgstr "La dosiero \"%file:1\" ne povas esti malfermata"
+
+#: common/errors.cpp:67
+#, c-format
+msgid "The file \"%file:1\" can not be opened for reading."
+msgstr "La dosiero \"%file:1\" ne povas esti malfermata por legi."
+
+#: common/errors.cpp:75
+#, c-format
+msgid "The file \"%file:1\" can not be opened for writing."
+msgstr "La dosiero \"%file:1\" ne povas esti malfermata por skribi."
+
+#: common/errors.cpp:83
+#, c-format
+msgid "The file name \"%file:1\" is invalid."
+msgstr "La dosiernomo \"%file:1\" estas malvalida."
+
+#: common/errors.cpp:91
+#, c-format
+msgid "The file \"%file:1\" is not in the proper format."
+msgstr "La dosiero \"%file:1\" ne sekvas ĝustan formon."
+
+#: common/errors.cpp:107
+#, c-format
+msgid "The directory \"%dir:1\" can not be opened for reading."
+msgstr "La dosierujo \"%dir:1\" ne povas esti malfermata por legi."
+
+#: common/errors.cpp:123
+msgid "The key \"%key:1\" is unknown."
+msgstr "La ŝlosilo \"%key:1\" ne estas konata."
+
+#: common/errors.cpp:131
+msgid "The value for option \"%key:1\" can not be changed."
+msgstr "La valoro por la opcio \"%key:1\" ne povas esti ŝanĝata."
+
+#: common/errors.cpp:139
+msgid "The key \"%key:1\" is not %accepted:2 and is thus invalid."
+msgstr "La ŝlosilo \"%key:1\" ne estas %accepted:2 kaj tial malvalidas."
+
+#: common/errors.cpp:147
+msgid "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
+msgstr "La valoro \"%value:2\" ne estas %accepted:3 kaj tial malvalidas por la ŝlosilo \"%key:1\"."
+
+#: common/errors.cpp:163
+msgid "The key \"%key:1\" is not a string."
+msgstr "La ŝlosilo \"%key:1\" ne estas ĉeno."
+
+#: common/errors.cpp:171
+msgid "The key \"%key:1\" is not an integer."
+msgstr "La ŝlosilo \"%key:1\" ne estas entjero."
+
+#: common/errors.cpp:179
+msgid "The key \"%key:1\" is not a boolean."
+msgstr "La ŝlosilo \"%key:1\" ne estas buleo."
+
+#: common/errors.cpp:187
+msgid "The key \"%key:1\" is not a list."
+msgstr "La ŝlosilo \"%key:1\" ne estas listo."
+
+#: common/errors.cpp:195
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
+msgstr "La ŝlosilo \"%key:1\" ne prenas iun ajn parametron kiam prefiksita de \"reset-\"."
+
+#: common/errors.cpp:203
+msgid "The key \"%key:1\" does not take any parameters when prefixed by an \"enable-\"."
+msgstr "La ŝlosilo \"%key:1\" ne prenas iun ajn parametron kiam prefiksita de \"enable-\"."
+
+#: common/errors.cpp:211
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
+msgstr "La ŝlosilo \"%key:1\" ne prenas iun ajn parametron kiam prefiksita de \"dont-\" aŭ \"disable-\"."
+
+#: common/errors.cpp:219
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
+msgstr "La ŝlosilo \"%key:1\" ne prenas iun ajn parametron kiam prefiksita de \"clear-\"."
+
+#: common/errors.cpp:235
+#, c-format
+msgid "The language \"%lang:1\" is not known."
+msgstr "La lingvo \"%lang:1\" ne estas konata."
+
+#: common/errors.cpp:243
+#, c-format
+msgid "The soundslike \"%sl:2\" is not known."
+msgstr "La fonemo \"%sl:2\" ne estas konata."
+
+#: common/errors.cpp:251
+#, c-format
+msgid "The language \"%lang:1\" is not supported."
+msgstr "La lingvo \"%lang:1\" ne estas subtenata."
+
+#: common/errors.cpp:259
+#, c-format
+msgid "No word lists can be found for the language \"%lang:1\"."
+msgstr "Neniu vortlisto povas esti trovata por la lingvo \"%lang:1\"."
+
+#: common/errors.cpp:267
+#, c-format
+msgid "Expected language \"%lang:1\" but got \"%prev:2\"."
+msgstr "Ni atendis la lingvon \"%lang:1\" sed ni ricevis \"%prev:2\"."
+
+#: common/errors.cpp:283
+#, c-format
+msgid "Affix '%aff:1' is corrupt."
+msgstr "La afikso '%aff:1' estas rompita."
+
+#: common/errors.cpp:291
+#, c-format
+msgid "The condition \"%cond:1\" is invalid."
+msgstr "La kondiĉo \"%cond:1\" estas malvalida."
+
+#: common/errors.cpp:299
+#, c-format
+msgid "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
+msgstr "La kondiĉo \"%cond:1\" ne garantias ke \"%strip:2\" povu ĉiam esti demetata."
+
+#: common/errors.cpp:307
+#, c-format
+msgid "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
+msgstr "La dosiero \"%file:1\" ne sekvas ĝustan formon. Ni atendis ke ĝi estus laŭ \"%exp:2\", ne \"%got:3\"."
+
+#: common/errors.cpp:323
+#, c-format
+msgid "The encoding \"%encod:1\" is not known."
+msgstr "La enkodigo \"%encod:1\" ne estas konata."
+
+#: common/errors.cpp:331
+#, c-format
+msgid "The encoding \"%encod:1\" is not supported."
+msgstr "La enkodigo \"%encod:1\" ne estas subtenata."
+
+#: common/errors.cpp:339
+#, c-format
+msgid "The conversion from \"%encod:1\" to \"%encod2:2\" is not supported."
+msgstr "La konverto de \"%encod:1\" al \"%encod2:2\" ne estas subtenata."
+
+#: common/errors.cpp:379
+#, c-format
+msgid "The string \"%str:1\" is invalid."
+msgstr "La ĉeno \"%str:1\" estas malvalida."
+
+#: common/errors.cpp:387
+msgid "The word \"%word:1\" is invalid."
+msgstr "La vorto \"%word:1\" estas malvalida."
+
+#: common/errors.cpp:395
+msgid "The affix flag '%aff:1' is invalid for word \"%word:2\"."
+msgstr "La afiks-flago '%aff:1' estas malvalida por la vorto \"%word:2\"."
+
+#: common/errors.cpp:403
+msgid "The affix flag '%aff:1' can not be applied to word \"%word:2\"."
+msgstr "La afiks-flago '%aff:1' ne povas esti aplikata al la vorto \"%word:2\"."
+
+#: common/errors.cpp:451
+msgid "not a version number"
+msgstr "ne estas versi-numero"
+
+#: common/errors.cpp:467
+msgid "dlopen returned \"%return:1\"."
+msgstr "dlopen liveris \"%return:1\"."
+
+#: common/errors.cpp:475
+#, c-format
+msgid "The file \"%filter:1\" does not contain any filters."
+msgstr "La dosiero \"%filter:1\" ne enhavas iun ajn filtrilon."
+
+#: common/errors.cpp:483
+#, c-format
+msgid "The filter \"%filter:1\" does not exist."
+msgstr "La filtrilo \"%filter:1\" ne ekzistas."
+
+#: common/errors.cpp:491 common/errors.cpp:587
+msgid "Confused by version control."
+msgstr "Konfuzite de versi-regado."
+
+#: common/errors.cpp:499
+msgid "Aspell version does not match filter's requirement."
+msgstr "La versio de aspell ne kongruas kun la postulo de la filtrilo."
+
+#: common/errors.cpp:507
+msgid "Filter option already exists."
+msgstr "Filtra opcio jam ekzistas."
+
+#: common/errors.cpp:515
+msgid "Use option modifiers only within named option."
+msgstr "Uzi opci-modifantojn nur ene de nomita opcio."
+
+#: common/errors.cpp:523
+msgid "Option modifier unknown."
+msgstr "Opci-modifanto ne estas konata."
+
+#: common/errors.cpp:531
+msgid "Error setting filter description."
+msgstr "Eraro difinante filtran priskribon."
+
+#: common/errors.cpp:547
+msgid "Empty option specifier."
+msgstr "Malplena opcia specifanto."
+
+#: common/errors.cpp:555
+#, c-format
+msgid "Option \"%option:1\" possibly specified prior to filter."
+msgstr "La opcio \"%option:1\" eble estis specifata antaŭ ol la filtrilo."
+
+#: common/errors.cpp:563
+msgid "Unknown mode description key \"%key:1\"."
+msgstr "Nekonata ŝlosilo de reĝim-priskribo \"%key:1\"."
+
+#: common/errors.cpp:571
+#, c-format
+msgid "Expecting \"%modekey:1\" key."
+msgstr "Ni atendas ŝlosilon \"%modekey:1\"."
+
+#: common/errors.cpp:579
+msgid "Version specifier missing key: \"aspell\"."
+msgstr "Versia specifanto malhavas ŝlosilon: \"aspell\"."
+
+#: common/errors.cpp:595
+msgid "Aspell version does not match mode's requirement."
+msgstr "Versio de aspell ne kongruas al la postuloj de reĝimo."
+
+#: common/errors.cpp:603
+msgid "Missing magic mode expression."
+msgstr "Mankas magio-reĝima esprimo."
+
+#: common/errors.cpp:611
+#, c-format
+msgid "Empty extension at char %char:1."
+msgstr "Malplena etendo ĉe signo %char:1."
+
+#: common/errors.cpp:619
+#, c-format
+msgid "\"%mode:1\" error"
+msgstr "Eraro de \"%mode:1\""
+
+#: common/errors.cpp:627
+#, c-format
+msgid "Unknown mode: \"%mode:1\"."
+msgstr "Nekonata reĝimo: \"%mode:1\"."
+
+#: common/errors.cpp:635
+#, c-format
+msgid "\"%mode:1\" error while extend Aspell modes. (out of memory?)"
+msgstr "Eraro de \"%mode:1\" dum etendo de reĝimoj Aspell. (ĉu mankas memoro?)"
+
+#: common/errors.cpp:651
+#, c-format
+msgid "\"%mode:1\": no start for magic search given for magic \"%magic:2\"."
+msgstr "\"%mode:1\": neniu komenco por magi-serĉado estis donata por la magio \"%magic:2\"."
+
+#: common/errors.cpp:659
+#, c-format
+msgid "\"%mode:1\": no range for magic search given for magic \"%magic:2\"."
+msgstr "\"%mode:1\": neniu intervalo por magi-serĉo estis donata por la magio \"%magic:2\"."
+
+#: common/errors.cpp:667
+#, c-format
+msgid "\"%mode:1\": no magic expression available for magic \"%magic:2\"."
+msgstr "\"%mode:1\": neniu magi-esprimo disponeblas por la magio \"%magic:2\"."
+
+#: common/errors.cpp:675
+msgid "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
+msgstr "\"%mode:1\": Magio \"%magic:2\": malĝusta regulesprimo post lokiga specifanto; regexp raportas: \"%regerr:3\"."
+
+#: common/errors.cpp:691
+#, c-format
+msgid "\"%expression:1\" is not a valid regular expression."
+msgstr "\"%expression:1\" ne estas valida regulesprimo."
+
+#: common/posib_err.cpp:100
+msgid "Unhandled Error: "
+msgstr "Netraktita eraro: "
+
+#: prog/aspell.cpp:98
+#, c-format
+msgid "Error: %s\n"
+msgstr "Eraro: %s\n"
+
+#: prog/aspell.cpp:103
+msgid "Error: "
+msgstr "Eraro: "
+
+#: prog/aspell.cpp:204
+msgid "enter Email mode."
+msgstr "eniri retpoŝtan reĝimon."
+
+#: prog/aspell.cpp:205
+msgid "enter HTML mode."
+msgstr "eniri HTML-reĝimon."
+
+#: prog/aspell.cpp:206
+msgid "enter TeX mode."
+msgstr "eniri TeX-reĝimon."
+
+#: prog/aspell.cpp:207
+msgid "enter Nroff mode."
+msgstr "eniri Nroff-reĝimon."
+
+#: prog/aspell.cpp:313
+#, c-format
+msgid "Invalid Option: %s"
+msgstr "Malvalida opcio: %s"
+
+#: prog/aspell.cpp:320
+msgid " does not take any parameters."
+msgstr " ne prenas iun ajn parametron."
+
+#: prog/aspell.cpp:333 prog/aspell.cpp:393
+#, c-format
+msgid "You must specify a parameter for \"%s\"."
+msgstr "Vi devas indiki parametron por \"%s\"."
+
+#: prog/aspell.cpp:382
+msgid "You must specify an action"
+msgstr "Vi devas indiki agon"
+
+#: prog/aspell.cpp:390 prog/aspell.cpp:453 prog/aspell.cpp:475
+#, c-format
+msgid "Unknown Action: %s"
+msgstr "Nekonata ago: %s"
+
+#: prog/aspell.cpp:396
+#, c-format
+msgid "Error: You must specify at least %d parameters for \"%s\".\n"
+msgstr "Eraro: vi devas indiki minimume %d parametrojn por \"%s\".\n"
+
+#: prog/aspell.cpp:638
+msgid "Invalid Input"
+msgstr "Malvalida enigo"
+
+#: prog/aspell.cpp:711
+#, c-format
+msgid "WARNING: Unable to enter Nroff mode: %s\n"
+msgstr "AVERTO: ne eblas eniri reĝimon Nroff: %s\n"
+
+#: prog/aspell.cpp:732
+msgid "Time to load word list: "
+msgstr "Tempo por ŝargi vortliston: "
+
+#: prog/aspell.cpp:930
+#, c-format
+msgid "Suggestion Time: %f\n"
+msgstr "Sugesta tempo: %f\n"
+
+#: prog/aspell.cpp:973
+msgid "You must specify a file name."
+msgstr "Vi devas indiki dosiernomon."
+
+#: prog/aspell.cpp:976
+msgid "Only one file name may be specified."
+msgstr "Nur unu dosiernomo povas esti indikata."
+
+#: prog/aspell.cpp:986
+#, c-format
+msgid "Could not open the file \"%s\" for reading"
+msgstr "Ne eblis malfermi la dosieron \"%s\" por legi"
+
+#: prog/aspell.cpp:999
+#, c-format
+msgid "Invalid keymapping: %s"
+msgstr "Malvalida klavmapo: %s"
+
+#: prog/aspell.cpp:1014
+#, fuzzy, c-format
+#| msgid "\"%expression:1\" is not a valid regular expression."
+msgid "\"%s\" is not a regular file"
+msgstr "\"%expression:1\" ne estas valida regulesprimo."
+
+#: prog/aspell.cpp:1025
+#, c-format
+msgid "Could not open the file \"%s\" for writing. File not saved."
+msgstr "Ne eblis malfermi la dosieron \"%s\" por skribi. Dosiero ne estas konservita."
+
+#: prog/aspell.cpp:1038
+msgid "Ignore"
+msgstr "Preteratenti"
+
+#: prog/aspell.cpp:1039
+msgid "Ignore all"
+msgstr "Preteratenti ĉion"
+
+#: prog/aspell.cpp:1040
+msgid "Replace"
+msgstr "Anstataŭigi"
+
+#: prog/aspell.cpp:1041
+msgid "Replace all"
+msgstr "Anstataŭigi ĉion"
+
+#: prog/aspell.cpp:1042
+msgid "Add"
+msgstr "Aldoni"
+
+#: prog/aspell.cpp:1043
+msgid "Add Lower"
+msgstr "Aldoni minuskle"
+
+#: prog/aspell.cpp:1044
+msgid "Abort"
+msgstr "Ĉesigi"
+
+#: prog/aspell.cpp:1045
+msgid "Exit"
+msgstr "Eliri"
+
+#: prog/aspell.cpp:1121
+msgid "Are you sure you want to abort (y/n)? "
+msgstr "Ĉu vi certas ke vi volas ĉesigi (j/n)? "
+
+#. TRANSLATORS: The user may input any of these characters to say "yes".
+#. MUST ONLY CONSIST OF ASCII CHARACTERS.
+#: prog/aspell.cpp:1125
+msgid "Yy"
+msgstr "JjYy"
+
+#: prog/aspell.cpp:1153
+msgid "With: "
+msgstr "Kun: "
+
+#: prog/aspell.cpp:1170
+msgid "Sorry that is an invalid choice!"
+msgstr "Pardonu, tio estas malvalida elekto!"
+
+#: prog/aspell.cpp:1391
+msgid "Sorry \"filter\" is currently unimplemented.\n"
+msgstr "Pardonu, \"filter\" nune ne estas realigita.\n"
+
+#: prog/aspell.cpp:1525
+msgid "Can't merge a master word list yet. Sorry."
+msgstr "Ankoraŭ ne eblas kunfandi ĉefan vortliston. Pardonu."
+
+#: prog/aspell.cpp:1549
+msgid "Sorry \"create/merge personal\" is currently unimplemented.\n"
+msgstr "Pardonu, \"create/merge personal\" nune ne estas realigita.\n"
+
+#: prog/aspell.cpp:1558 prog/aspell.cpp:1614
+#, c-format
+msgid "Sorry I won't overwrite \"%s\""
+msgstr "Pardonu, mi ne anstataŭigos \"%s\""
+
+#: prog/aspell.cpp:1605
+msgid "Sorry \"create/merge repl\" is currently unimplemented.\n"
+msgstr "Pardonu, \"create/merge repl\" nune ne estas realigita.\n"
+
+#: prog/aspell.cpp:1877
+#, c-format
+msgid "\"%s\" is not a valid flag for the \"munch-list\" command."
+msgstr "\"%s\" ne estas valida flago por la komando \"munch-list\"."
+
+#. TRANSLATORS: These should all be formated to fit in 80 column or
+#. less
+#: prog/aspell.cpp:2804
+msgid "Usage: aspell [options] <command>"
+msgstr "Uzmaniero: aspell [opcioj] <komando>"
+
+#: prog/aspell.cpp:2805
+msgid "<command> is one of:"
+msgstr "<komando> estas unu el:"
+
+#: prog/aspell.cpp:2806
+msgid " -?|usage display a brief usage message"
+msgstr " -?|usage montri resumitan mesaĝon pri uzado"
+
+#: prog/aspell.cpp:2807
+msgid " help display a detailed help message"
+msgstr " help montri detalan help-mesaĝon"
+
+#: prog/aspell.cpp:2808
+msgid " -c|check <file> to check a file"
+msgstr " -c|check <dosiero> kontroli dosieron"
+
+#: prog/aspell.cpp:2809
+msgid " -a|pipe \"ispell -a\" compatibility mode"
+msgstr " -a|pipe \"ispell -a\" kongru-reĝimo"
+
+#: prog/aspell.cpp:2810
+msgid " [dump] config dumps the current configuration to stdout"
+msgstr " [dump] config ŝutas la nunan agordon al la ĉefeligo"
+
+#: prog/aspell.cpp:2811
+msgid " config <key> prints the current value of an option"
+msgstr " config <ŝlosilo> montras la nunan valoron de opcio"
+
+#: prog/aspell.cpp:2812
+msgid " [dump] dicts | filters | modes"
+msgstr " [dump] dicts | filters | modes"
+
+#: prog/aspell.cpp:2813
+msgid " lists available dictionaries / filters / filter modes"
+msgstr " listigas disponeblajn vortarojn / filtrilojn / filtro-reĝimojn"
+
+#: prog/aspell.cpp:2814
+msgid "[options] is any of the following:"
+msgstr "[opcioj] estas iuj el la jenaj:"
+
+#: prog/aspell.cpp:2827
+msgid " list produce a list of misspelled words from standard input"
+msgstr " list produktas liston de misliterumitaj vortoj el la ĉefenigo"
+
+#: prog/aspell.cpp:2830
+msgid " soundslike returns the sounds like equivalent for each word entered"
+msgstr " soundslike liveras la 'sonas-kiel'-ekvivalenton por ĉiu enigita vorto"
+
+#: prog/aspell.cpp:2831
+msgid " munch generate possible root words and affixes"
+msgstr " munch generas eblajn radikvortojn kaj afiksojn"
+
+#: prog/aspell.cpp:2832
+msgid " expand [1-4] expands affix flags"
+msgstr " expand [1-4] etendigas afiks-flagojn"
+
+#: prog/aspell.cpp:2833
+msgid " clean [strict] cleans a word list so that every line is a valid word"
+msgstr " clean [strict] netigas vortliston tiel ke ĉiu linio estu valida vorto"
+
+#: prog/aspell.cpp:2835
+msgid " -v|version prints a version line"
+msgstr " -v|version montras programversion"
+
+#: prog/aspell.cpp:2836
+msgid " munch-list [simple] [single|multi] [keep]"
+msgstr " munch-list [simple] [single|multi] [keep]"
+
+#: prog/aspell.cpp:2837
+msgid " reduce the size of a word list via affix compression"
+msgstr " malpliigas la grandon de vortlisto per afikso-densigo"
+
+#: prog/aspell.cpp:2838
+msgid " conv <from> <to> [<norm-form>]"
+msgstr " conv <de> <al> [<norm-formo>]"
+
+#: prog/aspell.cpp:2839
+msgid " converts from one encoding to another"
+msgstr " konvertas de unu enkodigo al alia"
+
+#: prog/aspell.cpp:2840
+msgid " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
+msgstr " norm (<norm-mapo> | <de> <norm-mapo> <al>) [<norm-formo>]"
+
+#: prog/aspell.cpp:2841
+msgid " perform Unicode normalization"
+msgstr " efektivigas unikodan normigon"
+
+#: prog/aspell.cpp:2844
+msgid " dump|create|merge master|personal|repl [<name>]"
+msgstr " dump|create|merge master|personal|repl [<nomo>]"
+
+#: prog/aspell.cpp:2845
+msgid " dumps, creates or merges a master, personal, or replacement dictionary."
+msgstr " ŝutas, kreas aŭ kunfandigas ĉefan, personan, aŭ anstataŭigan vortaron."
+
+#. TRANSLATORS: "none", "internal" and "strict" are literal values
+#. and should not be translated.
+#: prog/aspell.cpp:2849
+msgid " <norm-form> normalization form to use, either none, internal, or strict"
+msgstr " <norm-formo> normiga formo uzota, aŭ 'none', 'internal', aŭ 'strict'"
+
+#: prog/aspell.cpp:2859
+#, c-format
+msgid ""
+"\n"
+"Aspell %s. Copyright 2000-2011 by Kevin Atkinson.\n"
+"\n"
+msgstr ""
+"\n"
+"Aspell %s. Kopirajto 2000-2011 de Kevin Atkinson.\n"
+"\n"
+
+#: prog/aspell.cpp:2893
+msgid ""
+"Available Dictionaries:\n"
+" Dictionaries can be selected directly via the \"-d\" or \"master\"\n"
+" option. They can also be selected indirectly via the \"lang\",\n"
+" \"variety\", and \"size\" options.\n"
+msgstr ""
+"Disponeblaj vortaroj:\n"
+" Vortaroj povas esti elektataj per la opcioj \"-d\" aŭ \"master\".\n"
+" Ili ankaŭ povas esti elektataj nerekte per la opcioj \"lang\",\n"
+" \"variety\", kaj \"size\".\n"
+
+#: prog/aspell.cpp:2914
+msgid ""
+"Available Filters (and associated options):\n"
+" Filters can be added or removed via the \"filter\" option.\n"
+msgstr ""
+"Disponeblaj filtriloj (kaj rilataj opcioj):\n"
+" Filtriloj povas esti aldonataj aŭ demetataj per la opcio \"filter\".\n"
+
+#: prog/aspell.cpp:2921
+#, c-format
+msgid ""
+"\n"
+" %s filter: %s\n"
+msgstr ""
+"\n"
+" %s filtrilo: %s\n"
+
+#. TRANSLATORS: This should be formated to fit in 80 column or less
+#: prog/aspell.cpp:2938
+msgid ""
+"Available Filter Modes:\n"
+" Filter Modes are reconfigured combinations of filters optimized for\n"
+" files of a specific type. A mode is selected via the \"mode\" option.\n"
+" This will happen implicitly if Aspell is able to identify the file\n"
+" type from the extension, and possibility the contents, of the file.\n"
+msgstr ""
+"Disponeblaj filtrilaj reĝimoj:\n"
+" Filtrilaj reĝimoj estas reagorditaj kombinoj de filtroj, plejbonigitaj\n"
+" por dosieroj de specifa tipo. Reĝimo estas elektata per la opcio \"mode\".\n"
+" Tio ĉi okazos implicite se Aspell kapablas rekoni la dosiertipon\n"
+" el ĝia sufikso, kaj eble el ĝia enhavo.\n"
+
+#: prog/check_funs.cpp:287
+msgid "Error: Stdin not a terminal."
+msgstr "Eraro: ĉefenigo ne estas terminalo."
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:774
+msgid "Enter"
+msgstr "Enigklavo"
+
+#: prog/check_funs.cpp:776
+msgid "Accept Changes"
+msgstr "Akcepti ŝanĝojn"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:779
+msgid "Backspace"
+msgstr "Retropaŝo"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:781
+msgid "Control-H"
+msgstr "Ctrl-H"
+
+#: prog/check_funs.cpp:782
+msgid "Delete the previous character"
+msgstr "Forigi la antaŭan signon"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:785
+msgid "Left"
+msgstr "Maldekstro"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:787
+msgid "Control-B"
+msgstr "Ctrl-B"
+
+#: prog/check_funs.cpp:788
+msgid "Move Back one space"
+msgstr "Retroiri unu spacon"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:791
+msgid "Right"
+msgstr "Dekstro"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:793
+msgid "Control-F"
+msgstr "Ctrl-F"
+
+#: prog/check_funs.cpp:794
+msgid "Move Forward one space"
+msgstr "Antaŭeniri unu spacon"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:797
+msgid "Home"
+msgstr "Hejmo"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:799
+msgid "Control-A"
+msgstr "Ctrl-A"
+
+#: prog/check_funs.cpp:800
+msgid "Move to the beginning of the line"
+msgstr "Moviĝi al la komenco de linio"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:803
+msgid "End"
+msgstr "Fino"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:805
+msgid "Control-E"
+msgstr "Ctrl-E"
+
+#: prog/check_funs.cpp:806
+msgid "Move to the end of the line"
+msgstr "Moviĝi al la fino de la linio"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:809
+msgid "Delete"
+msgstr "Forigo"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:811
+msgid "Control-D"
+msgstr "Ctrl-D"
+
+#: prog/check_funs.cpp:812
+msgid "Delete the next character"
+msgstr "Forigi la sekvan signon"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:816
+msgid "Control-K"
+msgstr "Ctrl-K"
+
+#: prog/check_funs.cpp:817
+msgid "Kill all characters to the EOL"
+msgstr "Mortigi ĉiujn signojn ĝis la linifino"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:821
+msgid "Control-C"
+msgstr "Ctrl-C"
+
+#: prog/check_funs.cpp:822
+msgid "Abort This Operation"
+msgstr "Ĉesigi tiun ĉi operacion"
+
+#: modules/speller/default/language.cpp:103
+msgid "This is probably because: "
+msgstr "Tio ĉi okazas probable ĉar: "
+
+#: modules/speller/default/language.cpp:110
+msgid "The required field \"name\" is missing."
+msgstr "Mankas la postulata kampo \"name\"."
+
+#: modules/speller/default/language.cpp:488
+msgid "Empty string."
+msgstr "Malplena ĉeno."
+
+#: modules/speller/default/language.cpp:492
+#, c-format
+msgid "The character '%s' (U+%02X) may not appear at the beginning of a word."
+msgstr "La signo '%s' (U+%02X) eble ne aperas ĉe komenco de vorto."
+
+#: modules/speller/default/language.cpp:494
+#: modules/speller/default/language.cpp:503
+#, c-format
+msgid "The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgstr "La signo '%s' (U+%02X) devas esti sekvata de alfabeta signo."
+
+#: modules/speller/default/language.cpp:496
+msgid "Does not contain any alphabetic characters."
+msgstr "Ne enhavas iun ajn alfabetan signon."
+
+#: modules/speller/default/language.cpp:501
+#, c-format
+msgid "The character '%s' (U+%02X) may not appear in the middle of a word."
+msgstr "La signo '%s' (U+%02X) eble ne aperas ĉe la mezo de vorto."
+
+#: modules/speller/default/language.cpp:508
+msgid "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgstr "La signo '\\r' (U+0D) eble ne aperas ĉe la fino de vorto. Tio ĉi probable signifas ke la dosiero uzas MS-DOS EOL anstataŭ la uniksan EOL."
+
+#: modules/speller/default/language.cpp:511
+#, c-format
+msgid "The character '%s' (U+%02X) may not appear at the end of a word."
+msgstr "La signo '%s' (U+%02X) eble ne aperas ĉe la fino de vorto."
+
+#: modules/speller/default/language.cpp:543
+#, c-format
+msgid "Warning: Removing invalid affix '%s' from word %s.\n"
+msgstr "Averto: ni forigas malvalidan afikson '%s' de la vorto %s.\n"
+
+#: modules/speller/default/language.cpp:544
+#, c-format
+msgid "Warning: Removing inapplicable affix '%s' from word %s.\n"
+msgstr "Averto: ni forigas neaplikeblan afikson '%s' de la vorto %s.\n"
+
+#: modules/speller/default/language.cpp:675
+#, c-format
+msgid "Warning: %s Skipping string.\n"
+msgstr "Averto: %s Ni preterpasas ĉenon.\n"
+
+#: modules/speller/default/language.cpp:733
+msgid "The total length is larger than 240 characters."
+msgstr "La entuta longo estas pli ol 240 signoj."
+
+#: modules/speller/default/language.cpp:737
+#, c-format
+msgid "Warning: %s Skipping word.\n"
+msgstr "Averto: %s Ni preterpasas vorton.\n"
+
+#: modules/speller/default/affix.cpp:426
+msgid "Possibly incorrect count."
+msgstr "Eble malĝusta kalkulo."
+
+#: modules/speller/default/readonly_ws.cpp:362
+msgid "Incompatible hash function."
+msgstr "Malkongrua haketa funkcio."
+
+#: modules/speller/default/readonly_ws.cpp:440
+msgid "Wrong endian order."
+msgstr "Malĝusta bajtordo."
+
+#: modules/speller/default/readonly_ws.cpp:463
+msgid "Wrong soundslike."
+msgstr "Malĝusta fonemo."
+
+#: modules/speller/default/readonly_ws.cpp:469
+msgid "Wrong soundslike version."
+msgstr "Malĝusta fonema versio."
+
+#: modules/speller/default/readonly_ws.cpp:934
+msgid "Affix flags found in word but no affix file given."
+msgstr "Afiks-flagoj estis trovataj en la vorto sed sen iu ajn afiks-dosiero."
+
+#: modules/speller/default/readonly_ws.cpp:972
+msgid "The total word length, with soundslike data, is larger than 240 characters."
+msgstr "La entuta vortlongo, kun fonema datumaro, estas pli ol 240 signoj."
+
+#: modules/speller/default/multi_ws.cpp:58
+msgid "There must be at least one \"add\" line."
+msgstr "Devas esti minimume unu linio \"add\"."
+
+#: modules/speller/default/suggest.cpp:1403
+msgid "one of ultra, fast, normal, slow, or bad-spellers"
+msgstr "unu el ultra, fast, normal, slow, aŭ bad-spellers"
+
+#: modules/speller/default/data.cpp:404
+msgid "is not one of the allowed types"
+msgstr "ne estas unu el la permesataj tipoj"
+
+#: modules/speller/default/speller_impl.cpp:241
+msgid "The personal word list is unavailable."
+msgstr "La persona vortlisto ne disponeblas."
+
+#: modules/speller/default/speller_impl.cpp:248
+msgid "The session word list is unavailable."
+msgstr "La seanca vortlisto ne disponeblas."
+
+#: modules/speller/default/speller_impl.cpp:255
+msgid "The main word list is unavailable."
+msgstr "La ĉefa vortlisto ne disponeblas."
+
+#: modules/filter/tex.cpp:255 modules/filter/tex.cpp:262
+msgid "a string of 'o','O','p',or 'P'"
+msgstr "ĉeno el 'o','O','p', aŭ 'P'"
+
+#. TRANSLATORS: Like the strings in config.cpp, all strings in *-filter.opt
+#. should be under 50 characters, begin with a lower case character and
+#. not include any trailing punctuation marks.
+#: modules/filter/context-filter.info:7
+msgid "experimental filter for hiding delimited contexts"
+msgstr "eksperimenta filtrilo por kaŝi limigit-kuntekstojn"
+
+#: modules/filter/context-filter.info:13
+msgid "context delimiters (separated by spaces)"
+msgstr "kuntekstaj limigiloj (apartitaj per spacoj)"
+
+#: modules/filter/context-filter.info:21
+msgid "swaps visible and invisible text"
+msgstr "permutas videblan kaj nevideblan tekston"
+
+#: modules/filter/email-filter.info:7
+msgid "filter for skipping quoted text in email messages"
+msgstr "filtrilo por salti cititan tekston en retmesaĝoj"
+
+#: modules/filter/email-filter.info:13
+msgid "email quote characters"
+msgstr "retpoŝtaj citilaj signoj"
+
+#: modules/filter/email-filter.info:21
+msgid "num chars that can appear before the quote char"
+msgstr "nombro da signoj kiuj povas aperi antaŭ la citilo"
+
+#: modules/filter/html-filter.info:9
+msgid "filter for dealing with HTML documents"
+msgstr "filtrilo por trakti dokumentojn HTML"
+
+#: modules/filter/html-filter.info:15
+msgid "HTML attributes to always check"
+msgstr "atributoj HTML kontrolendaj"
+
+#: modules/filter/html-filter.info:21
+msgid "HTML tags to always skip the contents of"
+msgstr "markoj HTML kies enhavo estu preterpasata"
+
+#: modules/filter/markdown-filter.info:8
+#, fuzzy
+#| msgid "filter for dealing with Texinfo documents"
+msgid "filter for Markdown/CommonMark documents"
+msgstr "filtrilo por trakti dokumentojn Texinfo"
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
+msgstr ""
+
+#: modules/filter/nroff-filter.info:7
+msgid "filter for dealing with Nroff documents"
+msgstr "filtrilo por trakti dokumentojn Nroff"
+
+#: modules/filter/sgml-filter.info:9
+msgid "filter for dealing with generic SGML/XML documents"
+msgstr "filtrilo por trakti ĝeneralan dokumenton SGML/XML"
+
+#: modules/filter/sgml-filter.info:15
+msgid "SGML attributes to always check"
+msgstr "atributoj SGML kontrolendaj"
+
+#: modules/filter/sgml-filter.info:20
+msgid "SGML tags to always skip the contents of"
+msgstr "atributoj SGML kies enhavo estu preterpasata"
+
+#: modules/filter/tex-filter.info:7
+msgid "filter for dealing with TeX/LaTeX documents"
+msgstr "filtro por trakti dokumentojn TeX/LaTeX"
+
+#: modules/filter/tex-filter.info:15
+msgid "check TeX comments"
+msgstr "kontroli komentojn TeX"
+
+#: modules/filter/tex-filter.info:21
+msgid "TeX commands"
+msgstr "komandoj TeX"
+
+#: modules/filter/texinfo-filter.info:7
+msgid "filter for dealing with Texinfo documents"
+msgstr "filtrilo por trakti dokumentojn Texinfo"
+
+#: modules/filter/texinfo-filter.info:13
+msgid "Texinfo commands to ignore the parameters of"
+msgstr "komandoj Texinfo kies parametroj estu malatentataj"
+
+#: modules/filter/texinfo-filter.info:41
+msgid "Texinfo environments to ignore"
+msgstr "medioj Texinfo kiuj estu preteratentataj"
+
+#: modules/filter/url-filter.info:7
+msgid "filter to skip URL like constructs"
+msgstr "filtrilo por preterpasi konstruojn similajn al URL"
+
+#: modules/filter/modes/ccpp.amf:8
+msgid "mode for checking C++ comments and string literals"
+msgstr "reĝimo por kontroli komentojn C++ & ĉenliteraĵojn"
+
+#: modules/filter/modes/comment.amf:5
+msgid "mode to check any lines starting with a #"
+msgstr "reĝimo por kontroli iun ajn linion kiu komencas per #"
+
+#: modules/filter/modes/email.amf:5
+msgid "mode for skipping quoted text in email messages"
+msgstr "reĝimo por salti cititan tekston en retmesaĝoj"
+
+#: modules/filter/modes/html.amf:10
+msgid "mode for checking HTML documents"
+msgstr "reĝimo por kontroli dokumentojn HTML"
+
+#: modules/filter/modes/markdown.amf:10
+#, fuzzy
+#| msgid "mode for checking Nroff documents"
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr "reĝimo por kontroli dokumentojn Nroff"
+
+#: modules/filter/modes/none.amf:5
+msgid "mode to disable all filters"
+msgstr "reĝimo por malebligi ĉiujn filtrilojn"
+
+#: modules/filter/modes/nroff.amf:7
+msgid "mode for checking Nroff documents"
+msgstr "reĝimo por kontroli dokumentojn Nroff"
+
+#: modules/filter/modes/perl.amf:8
+msgid "mode for checking Perl comments and string literals"
+msgstr "reĝimo por kontroli komentojn Perl & ĉenliteraĵojn"
+
+#: modules/filter/modes/sgml.amf:8
+msgid "mode for checking generic SGML/XML documents"
+msgstr "reĝimo por kontroli ĝeneralajn dokumentoj SGML/XML"
+
+#: modules/filter/modes/tex.amf:7
+msgid "mode for checking TeX/LaTeX documents"
+msgstr "reĝimo por kontroli dokumentojn TeX/LaTeX"
+
+#: modules/filter/modes/texinfo.amf:7
+msgid "mode for checking Texinfo documents"
+msgstr "reĝimo por kontroli dokumentojn Texinfo"
+
+#: modules/filter/modes/url.amf:5
+msgid "mode to skip URL like constructs (default mode)"
+msgstr "reĝimo por salti URL-similajn konstruojn (aprioras)"
msgstr ""
"Project-Id-Version: aspell 0.60.6\n"
"Report-Msgid-Bugs-To: kevina@gnu.org\n"
-"POT-Creation-Date: 2011-07-04 03:25-0600\n"
+"POT-Creation-Date: 2019-07-29 02:38-0400\n"
"PO-Revision-Date: 2009-04-24 18:04+0200\n"
"Last-Translator: Francisco Molinero <paco@byasl.com>\n"
"Language-Team: Spanish <es@li.org>\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: common/info.cpp:232
msgid "ASPELL_CONF env var"
msgstr "variable de entorno ASPELL_CONF"
-#. TRANSLATORS: The remaing strings in config.cpp should be kept
+#. TRANSLATORS: The remaining strings in config.cpp should be kept
#. under 50 characters, begin with a lower case character and not
#. include any trailing punctuation marks.
#: common/config.cpp:1360
#. TRANSLATORS: It is OK if this is longer than 50 chars
#: common/config.cpp:1475
msgid "indicator for affix flags in word lists -- CURRENTLY IGNORED"
-msgstr ""
-"indicador para banderas de afijos en listas de palabras -- ACTUALMENTE "
-"IGNORADO"
+msgstr "indicador para banderas de afijos en listas de palabras -- ACTUALMENTE IGNORADO"
#: common/config.cpp:1477
msgid "use affix compression when creating dictionaries"
#: common/config.cpp:1510
msgid "time load time and suggest time in pipe mode"
-msgstr ""
-"tiempo de demora de carga y tiempo de demora sugerida en el modo de tubería"
+msgstr "tiempo de demora de carga y tiempo de demora sugerida en el modo de tubería"
-#: common/convert.cpp:303 common/convert.cpp:429
+#: common/convert.cpp:303 common/convert.cpp:497
#, c-format
-msgid ""
-"This could also mean that the file \"%s\" could not be opened for reading or "
-"does not exist."
-msgstr ""
-"Esto también podría significar que el archivo «%s» no pudo abrirse para "
-"escritura,o que no existe."
+msgid "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
+msgstr "Esto también podría significar que el archivo «%s» no pudo abrirse para escritura,o que no existe."
-#: common/convert.cpp:552 common/convert.cpp:659 common/convert.cpp:705
+#: common/convert.cpp:582 common/convert.cpp:689 common/convert.cpp:735
#, c-format
msgid "The Unicode code point U+%04X is unsupported."
msgstr "El código Unicode U+%04X no está permitido"
-#: common/convert.cpp:829
-#, c-format
+#: common/convert.cpp:859
+#, fuzzy, c-format
+#| msgid "Invalid UTF-8 sequence at position %d."
msgid "Invalid UTF-8 sequence at position %ld."
-msgstr "Secuencia UTF-8 incorrecta en la posición %ld."
+msgstr "Secuencia UTF-8 incorrecta en la posición %d."
#: common/errors.cpp:27
msgid "Operation Not Supported: %what:1"
# MAL!
#: common/errors.cpp:147
-msgid ""
-"The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%"
-"key:1\"."
-msgstr ""
-"El valor «%valor:2» no está %accepted:3 y por lo tanto es inválido para la "
-"clave «%key:1»."
+msgid "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
+msgstr "El valor «%valor:2» no está %accepted:3 y por lo tanto es inválido para la clave «%key:1»."
#: common/errors.cpp:163
msgid "The key \"%key:1\" is not a string."
msgstr "La clave «%key:1» no es una lista."
#: common/errors.cpp:195
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"reset-"
-"\"."
-msgstr ""
-"La clave «%key:1» no admite parámetros cuando lleva el prefijo «reset-»."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
+msgstr "La clave «%key:1» no admite parámetros cuando lleva el prefijo «reset-»."
#: common/errors.cpp:203
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by an \"enable-"
-"\"."
-msgstr ""
-"La clave «%key:1» no admite parámetros cuando lleva el prefijo «enable-»."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by an \"enable-\"."
+msgstr "La clave «%key:1» no admite parámetros cuando lleva el prefijo «enable-»."
#: common/errors.cpp:211
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" "
-"or \"disable-\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
msgstr ""
"La clave «%key:1» no admite parámetros cuando lleva el prefijo «dont-» o \n"
"«disable-»."
#: common/errors.cpp:219
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"clear-"
-"\"."
-msgstr ""
-"La clave «%key:1» no recibe parámetros cuando lleva el prefijo «clear-»."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
+msgstr "La clave «%key:1» no recibe parámetros cuando lleva el prefijo «clear-»."
#: common/errors.cpp:235
#, c-format
#: common/errors.cpp:299
#, c-format
-msgid ""
-"The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be "
-"stripped."
-msgstr ""
-"La condición «%cond:1» no garantiza que «%strip:2» se pueda mostrar siempre."
+msgid "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
+msgstr "La condición «%cond:1» no garantiza que «%strip:2» se pueda mostrar siempre."
#: common/errors.cpp:307
#, c-format
-msgid ""
-"The file \"%file:1\" is not in the proper format. Expected the file to be in "
-"\"%exp:2\" not \"%got:3\"."
+msgid "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
msgstr ""
"El archivo «%file:1» no está en el formato adecuado. Se esperaba que \n"
"estuviera en «%exp:2» en lugar de en «%got:3»"
#: common/errors.cpp:403
msgid "The affix flag '%aff:1' can not be applied to word \"%word:2\"."
-msgstr ""
-"La bandera de afijo «%aff:1» no tiene aplicación en la palabra «%word:2»."
+msgstr "La bandera de afijo «%aff:1» no tiene aplicación en la palabra «%word:2»."
#: common/errors.cpp:451
msgid "not a version number"
#: common/errors.cpp:635
#, c-format
msgid "\"%mode:1\" error while extend Aspell modes. (out of memory?)"
-msgstr ""
-"Error en «%mode:1» mientras se extendían los modos de Aspell (¿Memoria "
-"agotada?)"
+msgstr "Error en «%mode:1» mientras se extendían los modos de Aspell (¿Memoria agotada?)"
#: common/errors.cpp:651
#, c-format
msgid "\"%mode:1\": no start for magic search given for magic \"%magic:2\"."
-msgstr ""
-"«%mode:1»: no hay comienzo para la búsqueda mágica dada por el «%magic:2» "
-"mágico."
+msgstr "«%mode:1»: no hay comienzo para la búsqueda mágica dada por el «%magic:2» mágico."
#: common/errors.cpp:659
#, c-format
msgid "\"%mode:1\": no range for magic search given for magic \"%magic:2\"."
-msgstr ""
-"«%mode:1»: no hay rango para la búsqueda mágica dada por el «%magic:2» "
-"mágico."
+msgstr "«%mode:1»: no hay rango para la búsqueda mágica dada por el «%magic:2» mágico."
#: common/errors.cpp:667
#, c-format
msgid "\"%mode:1\": no magic expression available for magic \"%magic:2\"."
-msgstr ""
-"«%mode:1»: no hay ninguna expresión mágica disponible para el «%magic:2» "
-"mágico."
+msgstr "«%mode:1»: no hay ninguna expresión mágica disponible para el «%magic:2» mágico."
#: common/errors.cpp:675
-msgid ""
-"\"%mode:1\": Magic \"%magic:2\": bad regular expression after location "
-"specifier; regexp reports: \"%regerr:3\"."
-msgstr ""
-"\"%mode:1\": Magic \"%magic:2\": expresión regular incorrecta después del "
-"parámetro de localización; regexp devolvió: \"%regerr:3\"."
+msgid "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
+msgstr "\"%mode:1\": Magic \"%magic:2\": expresión regular incorrecta después del parámetro de localización; regexp devolvió: \"%regerr:3\"."
#: common/errors.cpp:691
#, c-format
msgid "Unhandled Error: "
msgstr "Error no manejado: "
-#: prog/aspell.cpp:97
+#: prog/aspell.cpp:98
#, c-format
msgid "Error: %s\n"
msgstr "Error: %s\n"
-#: prog/aspell.cpp:102
+#: prog/aspell.cpp:103
msgid "Error: "
msgstr "Error: "
-#: prog/aspell.cpp:203
+#: prog/aspell.cpp:204
msgid "enter Email mode."
msgstr "entrar modo Email"
-#: prog/aspell.cpp:204
+#: prog/aspell.cpp:205
msgid "enter HTML mode."
msgstr "entrar en modo HTML."
-#: prog/aspell.cpp:205
+#: prog/aspell.cpp:206
msgid "enter TeX mode."
msgstr "entrar modo TeX"
-#: prog/aspell.cpp:206
+#: prog/aspell.cpp:207
msgid "enter Nroff mode."
msgstr "entrar en modo Nroff."
-#: prog/aspell.cpp:312
+#: prog/aspell.cpp:313
#, c-format
msgid "Invalid Option: %s"
msgstr "Opción inválida: %s"
-#: prog/aspell.cpp:319
+#: prog/aspell.cpp:320
msgid " does not take any parameters."
msgstr " no admite ningún parámetro"
-#: prog/aspell.cpp:332 prog/aspell.cpp:392
+#: prog/aspell.cpp:333 prog/aspell.cpp:393
#, c-format
msgid "You must specify a parameter for \"%s\"."
msgstr "Debe especificar un parámetro para «%s»."
-#: prog/aspell.cpp:381
+#: prog/aspell.cpp:382
msgid "You must specify an action"
msgstr "Tiene que especificar una acción"
-#: prog/aspell.cpp:389 prog/aspell.cpp:452 prog/aspell.cpp:474
+#: prog/aspell.cpp:390 prog/aspell.cpp:453 prog/aspell.cpp:475
#, c-format
msgid "Unknown Action: %s"
msgstr "Acción desconocida: %s"
-#: prog/aspell.cpp:395
+#: prog/aspell.cpp:396
#, c-format
msgid "Error: You must specify at least %d parameters for \"%s\".\n"
msgstr "Error: Debe especificar al menos %d parámetros para \"%s\".\n"
-#: prog/aspell.cpp:637
+#: prog/aspell.cpp:638
msgid "Invalid Input"
msgstr "Entrada inválida"
-#: prog/aspell.cpp:710
+#: prog/aspell.cpp:711
#, c-format
msgid "WARNING: Unable to enter Nroff mode: %s\n"
msgstr "AVISO: Incapaz de entrar en modo Nroff: %s\n"
-#: prog/aspell.cpp:731
+#: prog/aspell.cpp:732
msgid "Time to load word list: "
msgstr "Tiempo para cargar la lista de palabras: "
-#: prog/aspell.cpp:929
+#: prog/aspell.cpp:930
#, c-format
msgid "Suggestion Time: %f\n"
msgstr "Tiempo de la sugerencia: %f\n"
-#: prog/aspell.cpp:972
+#: prog/aspell.cpp:973
msgid "You must specify a file name."
msgstr "Debe especificar un nombre de archivo."
-#: prog/aspell.cpp:975
+#: prog/aspell.cpp:976
msgid "Only one file name may be specified."
msgstr "Sólo se puede especificar un nombre de archivo."
-#: prog/aspell.cpp:985
+#: prog/aspell.cpp:986
#, c-format
msgid "Could not open the file \"%s\" for reading"
msgstr "No se puede abrir «%s» para leer"
-#: prog/aspell.cpp:998
+#: prog/aspell.cpp:999
#, c-format
msgid "Invalid keymapping: %s"
msgstr "Mapa de teclado no válido: %s"
-#: prog/aspell.cpp:1020
+#: prog/aspell.cpp:1014
+#, fuzzy, c-format
+#| msgid "\"%expression:1\" is not a valid regular expression."
+msgid "\"%s\" is not a regular file"
+msgstr "«%expression:1» no es una expresión regular válida."
+
+#: prog/aspell.cpp:1025
#, c-format
msgid "Could not open the file \"%s\" for writing. File not saved."
msgstr "No se pudo abrir «%s» para escritura. El archivo no se guardó."
-#: prog/aspell.cpp:1033
+#: prog/aspell.cpp:1038
msgid "Ignore"
msgstr "Ignorar"
-#: prog/aspell.cpp:1034
+#: prog/aspell.cpp:1039
msgid "Ignore all"
msgstr "Ignorar todos"
-#: prog/aspell.cpp:1035
+#: prog/aspell.cpp:1040
msgid "Replace"
msgstr "Sustituir"
-#: prog/aspell.cpp:1036
+#: prog/aspell.cpp:1041
msgid "Replace all"
msgstr "Sustituir todos"
-#: prog/aspell.cpp:1037
+#: prog/aspell.cpp:1042
msgid "Add"
msgstr "Añadir"
-#: prog/aspell.cpp:1038
+#: prog/aspell.cpp:1043
msgid "Add Lower"
msgstr "Añadir minúsculas"
-#: prog/aspell.cpp:1039
+#: prog/aspell.cpp:1044
msgid "Abort"
msgstr "Abortar"
-#: prog/aspell.cpp:1040
+#: prog/aspell.cpp:1045
msgid "Exit"
msgstr "Salir"
# FUZZY
-#: prog/aspell.cpp:1116
+#: prog/aspell.cpp:1121
msgid "Are you sure you want to abort (y/n)? "
msgstr "¿Está seguro que quiere interrumpir la operación (s/n)? "
#. TRANSLATORS: The user may input any of these characters to say "yes".
#. MUST ONLY CONSIST OF ASCII CHARACTERS.
-#: prog/aspell.cpp:1120
+#: prog/aspell.cpp:1125
msgid "Yy"
msgstr "Ss"
# sustituir ... a: ...
-#: prog/aspell.cpp:1148
+#: prog/aspell.cpp:1153
msgid "With: "
msgstr "con: "
-#: prog/aspell.cpp:1165
+#: prog/aspell.cpp:1170
msgid "Sorry that is an invalid choice!"
msgstr "Disculpe, ¡la selección no es válida!"
-#: prog/aspell.cpp:1386
+#: prog/aspell.cpp:1391
msgid "Sorry \"filter\" is currently unimplemented.\n"
msgstr "Disculpe, pero «filter» no está implementado actualmente.\n"
-#: prog/aspell.cpp:1520
+#: prog/aspell.cpp:1525
msgid "Can't merge a master word list yet. Sorry."
msgstr "Lo siento. Todavía no se puede mezclar un vocabulario principal."
-#: prog/aspell.cpp:1544
+#: prog/aspell.cpp:1549
msgid "Sorry \"create/merge personal\" is currently unimplemented.\n"
msgstr "Lo siento «create/merge personal» está actualmente sin implementar.\n"
-#: prog/aspell.cpp:1553 prog/aspell.cpp:1609
+#: prog/aspell.cpp:1558 prog/aspell.cpp:1614
#, c-format
msgid "Sorry I won't overwrite \"%s\""
msgstr "Disculpe, no voy a sobreescribir «%s»"
-#: prog/aspell.cpp:1600
+#: prog/aspell.cpp:1605
msgid "Sorry \"create/merge repl\" is currently unimplemented.\n"
msgstr "Lo siento «create/merge repl» está actualmente sin implementar.\n"
-#: prog/aspell.cpp:1872
+#: prog/aspell.cpp:1877
#, c-format
msgid "\"%s\" is not a valid flag for the \"munch-list\" command."
msgstr "«%s» no es una bandera válida para la orden «munch-list»"
#. TRANSLATORS: These should all be formated to fit in 80 column or
#. less
-#: prog/aspell.cpp:2799
+#: prog/aspell.cpp:2804
msgid "Usage: aspell [options] <command>"
msgstr "Uso: aspell [opciones] <orden>"
-#: prog/aspell.cpp:2800
+#: prog/aspell.cpp:2805
msgid "<command> is one of:"
msgstr "<orden> es una de:"
-#: prog/aspell.cpp:2801
+#: prog/aspell.cpp:2806
msgid " -?|usage display a brief usage message"
msgstr " -?|usage muestra un mensaje sobre su uso"
-#: prog/aspell.cpp:2802
+#: prog/aspell.cpp:2807
msgid " help display a detailed help message"
msgstr " help muestra un mensaje detallado de ayuda"
-#: prog/aspell.cpp:2803
+#: prog/aspell.cpp:2808
msgid " -c|check <file> to check a file"
msgstr " -c|check <archivo> para comprobar un archivo"
-#: prog/aspell.cpp:2804
+#: prog/aspell.cpp:2809
msgid " -a|pipe \"ispell -a\" compatibility mode"
msgstr " -a|pipe modo de compatibilidad con «ispell -a»"
-#: prog/aspell.cpp:2805
+#: prog/aspell.cpp:2810
msgid " [dump] config dumps the current configuration to stdout"
msgstr " [dump] config vuelca la configuración actual a la salida estándar"
-#: prog/aspell.cpp:2806
+#: prog/aspell.cpp:2811
msgid " config <key> prints the current value of an option"
msgstr "congif<key>\timprime el valor actuald de una opción"
-#: prog/aspell.cpp:2807
+#: prog/aspell.cpp:2812
msgid " [dump] dicts | filters | modes"
msgstr " [dump] dicc | filtros | modos"
-#: prog/aspell.cpp:2808
+#: prog/aspell.cpp:2813
msgid " lists available dictionaries / filters / filter modes"
msgstr " lista los diccionarios / filtros / modos de filtrado disponibles"
-#: prog/aspell.cpp:2809
+#: prog/aspell.cpp:2814
msgid "[options] is any of the following:"
msgstr "[options] es cualquiera de los siguientes:"
-#: prog/aspell.cpp:2822
-msgid ""
-" list produce a list of misspelled words from standard input"
-msgstr ""
-" list produce una lista de palabras mal escritas desde la entrada estándar"
+#: prog/aspell.cpp:2827
+msgid " list produce a list of misspelled words from standard input"
+msgstr " list produce una lista de palabras mal escritas desde la entrada estándar"
-#: prog/aspell.cpp:2825
-msgid ""
-" soundslike returns the sounds like equivalent for each word entered"
-msgstr ""
-" soundslike devuelve el equivalente fonético de cada palabra introducida"
+#: prog/aspell.cpp:2830
+msgid " soundslike returns the sounds like equivalent for each word entered"
+msgstr " soundslike devuelve el equivalente fonético de cada palabra introducida"
-#: prog/aspell.cpp:2826
+#: prog/aspell.cpp:2831
msgid " munch generate possible root words and affixes"
msgstr " munch genera posibles raíces y afijos de palabras"
-#: prog/aspell.cpp:2827
+#: prog/aspell.cpp:2832
msgid " expand [1-4] expands affix flags"
msgstr " expand [1-4] expande las banderas no fijas"
-#: prog/aspell.cpp:2828
-msgid ""
-" clean [strict] cleans a word list so that every line is a valid word"
-msgstr ""
-" clean [strict] limpia una lista de palabras de forma que cada línea sea "
-"una palabra válida"
+#: prog/aspell.cpp:2833
+msgid " clean [strict] cleans a word list so that every line is a valid word"
+msgstr " clean [strict] limpia una lista de palabras de forma que cada línea sea una palabra válida"
-#: prog/aspell.cpp:2830
+#: prog/aspell.cpp:2835
msgid " -v|version prints a version line"
msgstr " -v|version imprime una línea de versión"
-#: prog/aspell.cpp:2831
+#: prog/aspell.cpp:2836
msgid " munch-list [simple] [single|multi] [keep]"
msgstr " munch-list [simple] [single|multi] [keep]"
-#: prog/aspell.cpp:2832
+#: prog/aspell.cpp:2837
msgid " reduce the size of a word list via affix compression"
-msgstr ""
-" reduce el tamaño de una lista de palabras via compresión de afijos."
+msgstr " reduce el tamaño de una lista de palabras via compresión de afijos."
-#: prog/aspell.cpp:2833
+#: prog/aspell.cpp:2838
msgid " conv <from> <to> [<norm-form>]"
msgstr " conv <origen> <destino> [<forma-norm>]"
-#: prog/aspell.cpp:2834
+#: prog/aspell.cpp:2839
msgid " converts from one encoding to another"
msgstr " convierte de un código a otro"
-#: prog/aspell.cpp:2835
+#: prog/aspell.cpp:2840
msgid " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
-msgstr ""
-" norm (<mapa de normalización> | <origen> <mapa-norm> <destino>)[<forma-"
-"norm>]"
+msgstr " norm (<mapa de normalización> | <origen> <mapa-norm> <destino>)[<forma-norm>]"
-#: prog/aspell.cpp:2836
+#: prog/aspell.cpp:2841
msgid " perform Unicode normalization"
msgstr " realizar normalización Unicode"
-#: prog/aspell.cpp:2839
+#: prog/aspell.cpp:2844
msgid " dump|create|merge master|personal|repl [<name>]"
msgstr " dump|create|merge master|personal|repl [<nombre>]"
-#: prog/aspell.cpp:2840
-msgid ""
-" dumps, creates or merges a master, personal, or replacement dictionary."
-msgstr ""
-" vuelca, crea o mezcla un diccionario maestro, personal o de reemplazo."
+#: prog/aspell.cpp:2845
+msgid " dumps, creates or merges a master, personal, or replacement dictionary."
+msgstr " vuelca, crea o mezcla un diccionario maestro, personal o de reemplazo."
#. TRANSLATORS: "none", "internal" and "strict" are literal values
#. and should not be translated.
-#: prog/aspell.cpp:2844
-msgid ""
-" <norm-form> normalization form to use, either none, internal, or "
-"strict"
-msgstr ""
-" <forma-norm> forma de normalización a utilizar, ya sea none, internal o "
-"strict"
-
-#: prog/aspell.cpp:2854
-#, c-format
+#: prog/aspell.cpp:2849
+msgid " <norm-form> normalization form to use, either none, internal, or strict"
+msgstr " <forma-norm> forma de normalización a utilizar, ya sea none, internal o strict"
+
+#: prog/aspell.cpp:2859
+#, fuzzy, c-format
+#| msgid ""
+#| "\n"
+#| "Aspell %s. Copyright 2000-2004 by Kevin Atkinson.\n"
+#| "\n"
msgid ""
"\n"
"Aspell %s. Copyright 2000-2011 by Kevin Atkinson.\n"
"\n"
msgstr ""
"\n"
-"Aspell %s. Copyright 2000-2011 por Kevin Atkinson.\n"
+"Aspell %s. Copyright 2000-2004 por Kevin Atkinson.\n"
"\n"
-#: prog/aspell.cpp:2888
+#: prog/aspell.cpp:2893
msgid ""
"Available Dictionaries:\n"
" Dictionaries can be selected directly via the \"-d\" or \"master\"\n"
msgstr ""
"Diccionarios disponibles:\n"
" Los diccionarios pueden seleccionarse mediante las\n"
-" opciones «-d» o «master». También pueden seleccionarse indirectamente "
-"mediante las opciones «lang», «variety» y «size».\n"
+" opciones «-d» o «master». También pueden seleccionarse indirectamente mediante las opciones «lang», «variety» y «size».\n"
-#: prog/aspell.cpp:2909
+#: prog/aspell.cpp:2914
msgid ""
"Available Filters (and associated options):\n"
" Filters can be added or removed via the \"filter\" option.\n"
"Filtros disponibles (y opciones asociadas):\n"
" Los filtros pueden añadirse o quitarse a través de la opción «filter».\n"
-#: prog/aspell.cpp:2916
+#: prog/aspell.cpp:2921
#, c-format
msgid ""
"\n"
" filtro %s: %s\n"
#. TRANSLATORS: This should be formated to fit in 80 column or less
-#: prog/aspell.cpp:2933
+#: prog/aspell.cpp:2938
msgid ""
"Available Filter Modes:\n"
" Filter Modes are reconfigured combinations of filters optimized for\n"
" type from the extension, and possibility the contents, of the file.\n"
msgstr ""
"Modos de filtro disponibles:\n"
-" Los modos de filtro son combinaciones reconfiguradas de filtros "
-"optimizadas para\n"
-" archivos de un tipo específico. Los modos se seleccionan a través de la "
-"opción \"mode\".\n"
-" Esto sucederá implícitamente si Aspell es capaz de identificar el tipo "
-"del\n"
+" Los modos de filtro son combinaciones reconfiguradas de filtros optimizadas para\n"
+" archivos de un tipo específico. Los modos se seleccionan a través de la opción \"mode\".\n"
+" Esto sucederá implícitamente si Aspell es capaz de identificar el tipo del\n"
" archivo por su extensión, y posiblemente los contenidos, del archivo.\n"
#: prog/check_funs.cpp:287
#: modules/speller/default/language.cpp:492
#, c-format
msgid "The character '%s' (U+%02X) may not appear at the beginning of a word."
-msgstr ""
-"El carácter '%s' (U+%02X) no puede aparecer al principio de una palabra."
+msgstr "El carácter '%s' (U+%02X) no puede aparecer al principio de una palabra."
#: modules/speller/default/language.cpp:494
#: modules/speller/default/language.cpp:503
#, c-format
-msgid ""
-"The character '%s' (U+%02X) must be followed by an alphabetic character."
-msgstr ""
-"El carácter '%s' (U+%02X) debe tener a continuación un carácter alfabético."
+msgid "The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgstr "El carácter '%s' (U+%02X) debe tener a continuación un carácter alfabético."
#: modules/speller/default/language.cpp:496
msgid "Does not contain any alphabetic characters."
msgstr "El carácter '%s' (U+%02X) no puede aparecer en medio de una palabra."
#: modules/speller/default/language.cpp:508
-msgid ""
-"The character '\\r' (U+0D) may not appear at the end of a word. This "
-"probably means means that the file is using MS-DOS EOL instead of Unix EOL."
-msgstr ""
-"El carácter «\\r» (U+0D) no puede aparecer al final de una palabra. Eso "
-"probablemente signifique que el archivo está usando el fin de línea de MS-"
-"DOS en lugar del de Unix."
+msgid "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgstr "El carácter «\\r» (U+0D) no puede aparecer al final de una palabra. Eso probablemente signifique que el archivo está usando el fin de línea de MS-DOS en lugar del de Unix."
#: modules/speller/default/language.cpp:511
#, c-format
msgid "Warning: Removing inapplicable affix '%s' from word %s.\n"
msgstr "Aviso: Borrando afijo inaplicable '%s' de la palabra %s.\n"
-#: modules/speller/default/language.cpp:674
+#: modules/speller/default/language.cpp:675
#, c-format
msgid "Warning: %s Skipping string.\n"
msgstr "Aviso: Omitiendo cadena %s.\n"
-#: modules/speller/default/language.cpp:732
+#: modules/speller/default/language.cpp:733
msgid "The total length is larger than 240 characters."
msgstr "La longitud total es mayor de 240 caracteres."
-#: modules/speller/default/language.cpp:736
+#: modules/speller/default/language.cpp:737
#, c-format
msgid "Warning: %s Skipping word.\n"
msgstr "Aviso: Omitiendo palabra %s.\n"
msgstr "Posible recuento incorrecto."
#: modules/speller/default/readonly_ws.cpp:362
+msgid "Incompatible hash function."
+msgstr ""
+
+#: modules/speller/default/readonly_ws.cpp:440
msgid "Wrong endian order."
msgstr "Orden endian equivocada."
-#: modules/speller/default/readonly_ws.cpp:385
+#: modules/speller/default/readonly_ws.cpp:463
msgid "Wrong soundslike."
msgstr "Pronunciación incorrecta."
-#: modules/speller/default/readonly_ws.cpp:391
+#: modules/speller/default/readonly_ws.cpp:469
msgid "Wrong soundslike version."
msgstr "Versión de pronunciación incorrecta."
-#: modules/speller/default/readonly_ws.cpp:853
+#: modules/speller/default/readonly_ws.cpp:934
msgid "Affix flags found in word but no affix file given."
-msgstr ""
-"Se encontraron banderas de afijo en la palabra pero no se ha especificado "
-"archivo de afijos."
+msgstr "Se encontraron banderas de afijo en la palabra pero no se ha especificado archivo de afijos."
-#: modules/speller/default/readonly_ws.cpp:891
-msgid ""
-"The total word length, with soundslike data, is larger than 240 characters."
-msgstr ""
-"La longitud total de la palabra, con los datos de pronunciación, es mayor de "
-"240 caracteres."
+#: modules/speller/default/readonly_ws.cpp:972
+msgid "The total word length, with soundslike data, is larger than 240 characters."
+msgstr "La longitud total de la palabra, con los datos de pronunciación, es mayor de 240 caracteres."
#: modules/speller/default/multi_ws.cpp:58
msgid "There must be at least one \"add\" line."
msgid "HTML tags to always skip the contents of"
msgstr "etiquetas HTML para saltar el contenido de"
+#: modules/filter/markdown-filter.info:8
+#, fuzzy
+#| msgid "filter for dealing with Texinfo documents"
+msgid "filter for Markdown/CommonMark documents"
+msgstr "filtro para trabajar con documentos Texinfo"
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
+msgstr ""
+
#: modules/filter/nroff-filter.info:7
msgid "filter for dealing with Nroff documents"
msgstr "filtro para tratar con documentos Nroff"
msgid "mode for checking HTML documents"
msgstr "modo para comprobar documentos HTML"
+#: modules/filter/modes/markdown.amf:10
+#, fuzzy
+#| msgid "mode for checking Nroff documents"
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr "modo para comprobar documentos Nroff"
+
#: modules/filter/modes/none.amf:5
msgid "mode to disable all filters"
msgstr "modo para desactivar todos los filtros"
#~ " and help for filters matching <expr> if installed\n"
#~ " -c|check <file> to check a file\n"
#~ " -a|pipe \"ispell -a\" compatibility mode\n"
-#~ " -l|list produce a list of misspelled words from standard "
-#~ "input\n"
+#~ " -l|list produce a list of misspelled words from standard input\n"
#~ " [dump] config [-e <expr>] dumps the current configuration to stdout\n"
#~ " config [+e <expr>] <key> prints the current value of an option\n"
-#~ " soundslike returns the sounds like equivalent for each word "
-#~ "entered\n"
+#~ " soundslike returns the sounds like equivalent for each word entered\n"
#~ " filter passes standard input through filters\n"
#~ " -v|version prints a version line\n"
#~ " dump|create|merge master|personal|repl [word list]\n"
-#~ " dumps, creates or merges a master, personal, or replacement word "
-#~ "list.\n"
+#~ " dumps, creates or merges a master, personal, or replacement word list.\n"
#~ "\n"
#~ " <expr> regular expression matching filtername(s) or `all'\n"
#~ "\n"
#~ " -?|help dar esta lista de ayuda\n"
#~ " -c|check <file> averiguar ortografía de <file>\\n\"\n"
#~ " -a|pipe modo de compatibilidad con «ispell -a»\n"
-#~ " -l|list generar una lista de palabras mal escritas de la "
-#~ "entrada\n"
+#~ " -l|list generar una lista de palabras mal escritas de la entrada\n"
#~ " estándar.\n"
-#~ " [dump] config mostrar la configuración corriente en la salida "
-#~ "estándar.\n"
+#~ " [dump] config mostrar la configuración corriente en la salida estándar.\n"
#~ " config <key> mostrar el valor de la opción\n"
#~ " soundslike para cada palabra de entrada producir su equivalente\n"
#~ " «soundslike»\n"
# Finnish messages for aspell.
# Copyright © 2010 Kevin Atkinson
+# Copyright © 2011 Free Software Foundation, Inc.
# This file is distributed under the same license as the aspell package.
# Jorma Karvonen <karvonen.jorma@gmail.com>, 2011.
#
msgid ""
msgstr ""
-"Project-Id-Version: aspell 0.60.6\n"
+"Project-Id-Version: aspell 0.60.7\n"
"Report-Msgid-Bugs-To: kevina@gnu.org\n"
-"POT-Creation-Date: 2011-07-04 03:25-0600\n"
-"PO-Revision-Date: 2011-03-06 09:03+0200\n"
+"POT-Creation-Date: 2019-07-29 02:38-0400\n"
+"PO-Revision-Date: 2011-07-11 11:21+0200\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
+"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: fi\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: common/info.cpp:232
#: common/info.cpp:569
msgid "in the form \"<name> <value>\""
-msgstr "muodossa \"<nimi> <arvo>\""
+msgstr "muodossa ”<nimi> <arvo>”"
#: common/config.cpp:74
msgid "string"
#: common/config.cpp:74
msgid "boolean"
-msgstr "boolean"
+msgstr "totuusarvo"
#: common/config.cpp:74
msgid "list"
msgid "ASPELL_CONF env var"
msgstr "ASPELL_CONF env var"
-#. TRANSLATORS: The remaing strings in config.cpp should be kept
+#. TRANSLATORS: The remaining strings in config.cpp should be kept
#. under 50 characters, begin with a lower case character and not
#. include any trailing punctuation marks.
#: common/config.cpp:1360
#: common/config.cpp:1477
msgid "use affix compression when creating dictionaries"
-msgstr "käytä liitetiivistystä sanakirjoja luotaessa"
+msgstr "käytä liitepakkausta sanakirjoja luotaessa"
#: common/config.cpp:1479
msgid "remove invalid affix flags"
#: common/config.cpp:1504
msgid "keymapping for check mode: \"aspell\" or \"ispell\""
-msgstr "näppäinkartoitus tarkistustilalle: ”aspell” tai ”ispell”"
+msgstr "näppäinkuvaus tarkistustilalle: ”aspell” tai ”ispell”"
#: common/config.cpp:1506
msgid "reverse the order of the suggest list"
msgid "time load time and suggest time in pipe mode"
msgstr "aikalatausaika ja suositusaika putkitilassa"
-#: common/convert.cpp:303 common/convert.cpp:429
+#: common/convert.cpp:303 common/convert.cpp:497
#, c-format
-msgid ""
-"This could also mean that the file \"%s\" could not be opened for reading or "
-"does not exist."
-msgstr ""
-"Tämä voisi myös tarkoittaa, että tiedostoa ”%s” ei voitu avata lukemista "
-"varten tai sitä ei ole olemassa."
+msgid "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
+msgstr "Tämä voisi myös tarkoittaa, että tiedostoa ”%s” ei voitu avata lukemista varten tai sitä ei ole olemassa."
-#: common/convert.cpp:552 common/convert.cpp:659 common/convert.cpp:705
+#: common/convert.cpp:582 common/convert.cpp:689 common/convert.cpp:735
#, c-format
msgid "The Unicode code point U+%04X is unsupported."
msgstr "Unicode-merkkiä U+%04X ei tueta."
-#: common/convert.cpp:829
+#: common/convert.cpp:859
#, c-format
msgid "Invalid UTF-8 sequence at position %ld."
msgstr "Virheellinen UTF-8 -sekvenssi sijainnissa %ld."
# Tämän lauseen suomennoksen jäsentäminen ei onnistu. Testattaessa vain %accepted:3-teksti näkyy suomenkielisenä.
#: common/errors.cpp:147
-msgid ""
-"The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%"
-"key:1\"."
-msgstr ""
-"Arvo ”%value:2” ei ole %accepted:3 ja se on siten virheellinen valitsimelle "
-"”%key:1”."
+msgid "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
+msgstr "Arvo ”%value:2” ei ole %accepted:3 ja se on siten virheellinen valitsimelle ”%key:1”."
#: common/errors.cpp:163
msgid "The key \"%key:1\" is not a string."
msgstr "Valitsin ”%key:1” ei ole luettelo."
#: common/errors.cpp:195
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"reset-"
-"\"."
-msgstr ""
-"Valitsin ”%key:1” ei ota mitään parametreja kun sen etuliitteenä on ”reset-”."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
+msgstr "Valitsin ”%key:1” ei ota mitään parametreja kun sen etuliitteenä on ”reset-”."
#: common/errors.cpp:203
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by an \"enable-"
-"\"."
-msgstr ""
-"Valitsin ”%key:1” ei ota mitään parametreja kun sen etuliitteenä on "
-"”enable-”."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by an \"enable-\"."
+msgstr "Valitsin ”%key:1” ei ota mitään parametreja kun sen etuliitteenä on ”enable-”."
#: common/errors.cpp:211
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" "
-"or \"disable-\"."
-msgstr ""
-"Valitsin ”%key:1” ei ota mitään parametreja kun sen etuliitteenä on ”dont-” "
-"tai ”disable-”."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
+msgstr "Valitsin ”%key:1” ei ota mitään parametreja kun sen etuliitteenä on ”dont-” tai ”disable-”."
#: common/errors.cpp:219
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"clear-"
-"\"."
-msgstr ""
-"Valitsin ”%key:1” ei ota mitään parametreja kun sen etuliitteenä on ”clear-”."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
+msgstr "Valitsin ”%key:1” ei ota mitään parametreja kun sen etuliitteenä on ”clear-”."
#: common/errors.cpp:235
#, c-format
#: common/errors.cpp:283
#, c-format
msgid "Affix '%aff:1' is corrupt."
-msgstr "Liite '%aff:1' on rikkoutunut."
+msgstr "Liite ’%aff:1’ on rikkoutunut."
#: common/errors.cpp:291
#, c-format
#: common/errors.cpp:299
#, c-format
-msgid ""
-"The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be "
-"stripped."
+msgid "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
msgstr "Ehto ”%cond:1” ei takaa, että ”%strip:2” voidaan aina riisua."
#: common/errors.cpp:307
#, c-format
-msgid ""
-"The file \"%file:1\" is not in the proper format. Expected the file to be in "
-"\"%exp:2\" not \"%got:3\"."
-msgstr ""
-"Tiedosto ”%file:1” ei ole oikeaa muotoa. Tiedoston odotettiin olevan ”%"
-"exp:2” ei ”%got:3”."
+msgid "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
+msgstr "Tiedosto ”%file:1” ei ole oikeaa muotoa. Tiedoston odotettiin olevan ”%exp:2” ei ”%got:3”."
#: common/errors.cpp:323
#, c-format
#: common/errors.cpp:395
msgid "The affix flag '%aff:1' is invalid for word \"%word:2\"."
-msgstr "Liitelippu '%aff:1' on virheellinen sanalle ”%word:2”."
+msgstr "Liitelippu ’%aff:1’ on virheellinen sanalle ”%word:2”."
#: common/errors.cpp:403
msgid "The affix flag '%aff:1' can not be applied to word \"%word:2\"."
-msgstr "Liitelippu '%aff:1' ei voida liittää sanaan ”%word:2”."
+msgstr "Liitelippu ’%aff:1’ ei voida liittää sanaan ”%word:2”."
#: common/errors.cpp:451
msgid "not a version number"
#: common/errors.cpp:627
#, c-format
msgid "Unknown mode: \"%mode:1\"."
-msgstr "Tuntematon tila: \"%mode:1\"."
+msgstr "Tuntematon tila: ”%mode:1”."
#: common/errors.cpp:635
#, c-format
#: common/errors.cpp:651
#, c-format
msgid "\"%mode:1\": no start for magic search given for magic \"%magic:2\"."
-msgstr ""
-"”%mode:1”: annetulla ”%magic:2”-magiikalla ei ole alkua magiikkaetsinnälle."
+msgstr "”%mode:1”: annetulla ”%magic:2”-magiikalla ei ole alkua magiikkaetsinnälle."
#: common/errors.cpp:659
#, c-format
msgid "\"%mode:1\": no range for magic search given for magic \"%magic:2\"."
-msgstr ""
-"”%mode:1”: annetulla ”%magic:2”-magiikalla ei ole lukualuetta "
-"magiikkaetsintään."
+msgstr "”%mode:1”: annetulla ”%magic:2”-magiikalla ei ole lukualuetta magiikkaetsintään."
#: common/errors.cpp:667
#, c-format
msgstr "”%mode:1”: ”%magic:2”-magiikalla ei ole maagista lauseketta."
#: common/errors.cpp:675
-msgid ""
-"\"%mode:1\": Magic \"%magic:2\": bad regular expression after location "
-"specifier; regexp reports: \"%regerr:3\"."
-msgstr ""
-"”%mode:1”: Magiikka ”%magic:2”: väärä säännöllinen lauseke sijaintimääreen "
-"jälkeen; regexp ilmoittaa: ”%regerr:3”."
+msgid "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
+msgstr "”%mode:1”: Magiikka ”%magic:2”: väärä säännöllinen lauseke sijaintimääreen jälkeen; regexp ilmoittaa: ”%regerr:3”."
#: common/errors.cpp:691
#, c-format
msgid "Unhandled Error: "
msgstr "Käsittelemätön virhe: "
-#: prog/aspell.cpp:97
+#: prog/aspell.cpp:98
#, c-format
msgid "Error: %s\n"
msgstr "Virhe: %s\n"
-#: prog/aspell.cpp:102
+#: prog/aspell.cpp:103
msgid "Error: "
msgstr "Virhe: "
-#: prog/aspell.cpp:203
+#: prog/aspell.cpp:204
msgid "enter Email mode."
msgstr "siirry sähköpostitilaan."
-#: prog/aspell.cpp:204
+#: prog/aspell.cpp:205
msgid "enter HTML mode."
msgstr "siirry HTML-tilaan."
-#: prog/aspell.cpp:205
+#: prog/aspell.cpp:206
msgid "enter TeX mode."
msgstr "siirry TeX-tilaan."
-#: prog/aspell.cpp:206
+#: prog/aspell.cpp:207
msgid "enter Nroff mode."
msgstr "siirry Nroff-tilaan."
-#: prog/aspell.cpp:312
+#: prog/aspell.cpp:313
#, c-format
msgid "Invalid Option: %s"
msgstr "Virheellinen valitsin: %s"
-#: prog/aspell.cpp:319
+#: prog/aspell.cpp:320
msgid " does not take any parameters."
msgstr " ei ota parametrejä."
-#: prog/aspell.cpp:332 prog/aspell.cpp:392
+#: prog/aspell.cpp:333 prog/aspell.cpp:393
#, c-format
msgid "You must specify a parameter for \"%s\"."
msgstr "Kohteelle ”%s” on määriteltävä parametri."
-#: prog/aspell.cpp:381
+#: prog/aspell.cpp:382
msgid "You must specify an action"
msgstr "Toiminto on määriteltävä"
-#: prog/aspell.cpp:389 prog/aspell.cpp:452 prog/aspell.cpp:474
+#: prog/aspell.cpp:390 prog/aspell.cpp:453 prog/aspell.cpp:475
#, c-format
msgid "Unknown Action: %s"
msgstr "Tuntematon toiminto: %s"
-#: prog/aspell.cpp:395
+#: prog/aspell.cpp:396
#, c-format
msgid "Error: You must specify at least %d parameters for \"%s\".\n"
msgstr "Virhe: On määriteltävä vähintään %d parametria kohteelle ”%s”.\n"
-#: prog/aspell.cpp:637
+#: prog/aspell.cpp:638
msgid "Invalid Input"
msgstr "Virheellinen syöte"
-#: prog/aspell.cpp:710
+#: prog/aspell.cpp:711
#, c-format
msgid "WARNING: Unable to enter Nroff mode: %s\n"
msgstr "VAROITUS: Ei kyetä siirtymään Nroff-tilaan: %s\n"
-#: prog/aspell.cpp:731
+#: prog/aspell.cpp:732
msgid "Time to load word list: "
msgstr "Aika ladata sanaluettelo: "
-#: prog/aspell.cpp:929
+#: prog/aspell.cpp:930
#, c-format
msgid "Suggestion Time: %f\n"
msgstr "Suositusaika: %f\n"
-#: prog/aspell.cpp:972
+#: prog/aspell.cpp:973
msgid "You must specify a file name."
msgstr "Tiedostonimi on määriteltävä."
-#: prog/aspell.cpp:975
+#: prog/aspell.cpp:976
msgid "Only one file name may be specified."
msgstr "Saadaan määritellä vain yksi tiedostonimi."
-#: prog/aspell.cpp:985
+#: prog/aspell.cpp:986
#, c-format
msgid "Could not open the file \"%s\" for reading"
msgstr "Ei voitu avata tiedostoa ”%s” lukemista varten"
-#: prog/aspell.cpp:998
+#: prog/aspell.cpp:999
#, c-format
msgid "Invalid keymapping: %s"
-msgstr "Virheellinen näppäinkartoitus: %s"
+msgstr "Virheellinen näppäinkuvaus: %s"
+
+#: prog/aspell.cpp:1014
+#, fuzzy, c-format
+#| msgid "\"%expression:1\" is not a valid regular expression."
+msgid "\"%s\" is not a regular file"
+msgstr "”%expression:1” ei ole kelvollinen säännöllinen lauseke."
-#: prog/aspell.cpp:1020
+#: prog/aspell.cpp:1025
#, c-format
msgid "Could not open the file \"%s\" for writing. File not saved."
-msgstr ""
-"Ei voitu avata tiedostoa ”%s” kirjoittamista varten. Tiedostoa ei "
-"tallennettu."
+msgstr "Ei voitu avata tiedostoa ”%s” kirjoittamista varten. Tiedostoa ei tallennettu."
-#: prog/aspell.cpp:1033
+#: prog/aspell.cpp:1038
msgid "Ignore"
msgstr "Ohita"
-#: prog/aspell.cpp:1034
+#: prog/aspell.cpp:1039
msgid "Ignore all"
msgstr "Ohita kaikki"
-#: prog/aspell.cpp:1035
+#: prog/aspell.cpp:1040
msgid "Replace"
msgstr "Korvaa"
-#: prog/aspell.cpp:1036
+#: prog/aspell.cpp:1041
msgid "Replace all"
msgstr "Korvaa kaikki"
-#: prog/aspell.cpp:1037
+#: prog/aspell.cpp:1042
msgid "Add"
msgstr "Lisää"
-#: prog/aspell.cpp:1038
+#: prog/aspell.cpp:1043
msgid "Add Lower"
msgstr "Lisää alempi"
-#: prog/aspell.cpp:1039
+#: prog/aspell.cpp:1044
msgid "Abort"
msgstr "Keskeytä"
-#: prog/aspell.cpp:1040
+#: prog/aspell.cpp:1045
msgid "Exit"
msgstr "Poistu"
-#: prog/aspell.cpp:1116
+#: prog/aspell.cpp:1121
msgid "Are you sure you want to abort (y/n)? "
msgstr "Oletko varma, että haluat keskeyttää (y/n)? "
#. TRANSLATORS: The user may input any of these characters to say "yes".
#. MUST ONLY CONSIST OF ASCII CHARACTERS.
-#: prog/aspell.cpp:1120
+#: prog/aspell.cpp:1125
msgid "Yy"
msgstr "YyKk"
-#: prog/aspell.cpp:1148
+#: prog/aspell.cpp:1153
msgid "With: "
msgstr ": "
-#: prog/aspell.cpp:1165
+#: prog/aspell.cpp:1170
msgid "Sorry that is an invalid choice!"
msgstr "Tuo on virheellinen valinta!"
-#: prog/aspell.cpp:1386
+#: prog/aspell.cpp:1391
msgid "Sorry \"filter\" is currently unimplemented.\n"
msgstr "Valitsin ”filter” on nykyisin toteuttamaton.\n"
-#: prog/aspell.cpp:1520
+#: prog/aspell.cpp:1525
msgid "Can't merge a master word list yet. Sorry."
msgstr "Ei voida vielä yhdistää pääsanaluetteloa."
-#: prog/aspell.cpp:1544
+#: prog/aspell.cpp:1549
msgid "Sorry \"create/merge personal\" is currently unimplemented.\n"
msgstr "Valitsin ”create/merge personal” on nykyisin toteuttamaton.\n"
-#: prog/aspell.cpp:1553 prog/aspell.cpp:1609
+#: prog/aspell.cpp:1558 prog/aspell.cpp:1614
#, c-format
msgid "Sorry I won't overwrite \"%s\""
msgstr "Ei korvata kohdetta ”%s”"
-#: prog/aspell.cpp:1600
+#: prog/aspell.cpp:1605
msgid "Sorry \"create/merge repl\" is currently unimplemented.\n"
msgstr "Valitsin ”create/merge repl” on nykyisin toteuttamaton.\n"
-#: prog/aspell.cpp:1872
+#: prog/aspell.cpp:1877
#, c-format
msgid "\"%s\" is not a valid flag for the \"munch-list\" command."
msgstr "”%s” ei ole kelvollinen lippu ”munch-list”-komennolle."
#. TRANSLATORS: These should all be formated to fit in 80 column or
#. less
-#: prog/aspell.cpp:2799
+#: prog/aspell.cpp:2804
msgid "Usage: aspell [options] <command>"
msgstr "Käyttö: aspell [valitsimet] <komento>"
-#: prog/aspell.cpp:2800
+#: prog/aspell.cpp:2805
msgid "<command> is one of:"
msgstr "<komento> on yksi seuraavista:"
-#: prog/aspell.cpp:2801
+#: prog/aspell.cpp:2806
msgid " -?|usage display a brief usage message"
msgstr " -?|usage näytä lyhyt käyttöviesti"
-#: prog/aspell.cpp:2802
+#: prog/aspell.cpp:2807
msgid " help display a detailed help message"
msgstr " help näytä yksityiskohtainen opasteviesti"
-#: prog/aspell.cpp:2803
+#: prog/aspell.cpp:2808
msgid " -c|check <file> to check a file"
msgstr " -c|check <tiedosto> tiedoston tarkistamiseen"
-#: prog/aspell.cpp:2804
+#: prog/aspell.cpp:2809
msgid " -a|pipe \"ispell -a\" compatibility mode"
msgstr " -a|pipe ”ispell -a”-yhteensopivuustila"
-#: prog/aspell.cpp:2805
+#: prog/aspell.cpp:2810
msgid " [dump] config dumps the current configuration to stdout"
msgstr " [dump] config tulostaa nykyisen asetuksen vakiotulosteeseen"
-#: prog/aspell.cpp:2806
+#: prog/aspell.cpp:2811
msgid " config <key> prints the current value of an option"
msgstr " config <valitsin> tulostaa valitsimen nykyisen arvon"
# sanat dicts, filters ja modes ovat literaaliparametreja, joita ei pidä suomentaa.
-#: prog/aspell.cpp:2807
+#: prog/aspell.cpp:2812
msgid " [dump] dicts | filters | modes"
msgstr " [dump] dicts | filters | modes"
-#: prog/aspell.cpp:2808
+#: prog/aspell.cpp:2813
msgid " lists available dictionaries / filters / filter modes"
-msgstr ""
-" luettelee saatavilla olevat sanakirjat / suodattimet / suodatintilat"
+msgstr " luettelee saatavilla olevat sanakirjat / suodattimet / suodatintilat"
-#: prog/aspell.cpp:2809
+#: prog/aspell.cpp:2814
msgid "[options] is any of the following:"
msgstr "[valitsimet] ovat mikä tahansa seuraavista:"
-#: prog/aspell.cpp:2822
-msgid ""
-" list produce a list of misspelled words from standard input"
-msgstr ""
-" list tuottaa luettelon vakiosyötteeseen "
-"väärinkirjoitetuista sanoista"
+#: prog/aspell.cpp:2827
+msgid " list produce a list of misspelled words from standard input"
+msgstr " list tuottaa luettelon vakiosyötteeseen väärinkirjoitetuista sanoista"
-#: prog/aspell.cpp:2825
-msgid ""
-" soundslike returns the sounds like equivalent for each word entered"
-msgstr ""
-" soundslike palauttaa äänenkaltaisen yhtäläisyyden jokaiselle "
-"kirjoitetulle sanalle"
+#: prog/aspell.cpp:2830
+msgid " soundslike returns the sounds like equivalent for each word entered"
+msgstr " soundslike palauttaa äänenkaltaisen yhtäläisyyden jokaiselle kirjoitetulle sanalle"
-#: prog/aspell.cpp:2826
+#: prog/aspell.cpp:2831
msgid " munch generate possible root words and affixes"
msgstr " munch tuottaa mahdolliset sanavartalosanat ja liitteet"
-#: prog/aspell.cpp:2827
+#: prog/aspell.cpp:2832
msgid " expand [1-4] expands affix flags"
msgstr " expand [1-4] laajentaa liitelippuja"
-#: prog/aspell.cpp:2828
-msgid ""
-" clean [strict] cleans a word list so that every line is a valid word"
-msgstr ""
-" clean [strict] puhdistaa sanaluetteloa niin että jokainen rivi on "
-"kelvollinen sana"
+#: prog/aspell.cpp:2833
+msgid " clean [strict] cleans a word list so that every line is a valid word"
+msgstr " clean [strict] puhdistaa sanaluetteloa niin että jokainen rivi on kelvollinen sana"
-#: prog/aspell.cpp:2830
+#: prog/aspell.cpp:2835
msgid " -v|version prints a version line"
msgstr " -v|version tulostaa versiorivin"
-#: prog/aspell.cpp:2831
+#: prog/aspell.cpp:2836
msgid " munch-list [simple] [single|multi] [keep]"
msgstr " munch-list [simple] [single|multi] [keep]"
-#: prog/aspell.cpp:2832
+#: prog/aspell.cpp:2837
msgid " reduce the size of a word list via affix compression"
-msgstr " pienentää sanaluettelon kokoa liitteiden tiivistämisellä"
+msgstr " pienentää sanaluettelon kokoa liitteiden pakkauksella"
-#: prog/aspell.cpp:2833
+#: prog/aspell.cpp:2838
msgid " conv <from> <to> [<norm-form>]"
msgstr " conv <lähde> <kohde> [<normalisointimuoto>]"
-#: prog/aspell.cpp:2834
+#: prog/aspell.cpp:2839
msgid " converts from one encoding to another"
msgstr " muuntaa lähdekoodauksesta kohdekoodaukseen"
-#: prog/aspell.cpp:2835
+#: prog/aspell.cpp:2840
msgid " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
-msgstr ""
-" norm (<normalisointikartta> | <lähde> <normalisointikartta> <kohde>) "
-"[<normalisointimuoto>]"
+msgstr " norm (<normalisointikuvaus> | <lähde> <normalisointikuvaus> <kohde>) [<normalisointimuoto>]"
-#: prog/aspell.cpp:2836
+#: prog/aspell.cpp:2841
msgid " perform Unicode normalization"
msgstr " suorittaa Unicode-normalisoinnin"
-#: prog/aspell.cpp:2839
+#: prog/aspell.cpp:2844
msgid " dump|create|merge master|personal|repl [<name>]"
msgstr " dump|create|merge master|personal|repl [<nimi>]"
-#: prog/aspell.cpp:2840
-msgid ""
-" dumps, creates or merges a master, personal, or replacement dictionary."
-msgstr ""
-" tulostaa, luo tai yhdistää pää-, henkilökohtaisen, tai korvaussanakirjan."
+#: prog/aspell.cpp:2845
+msgid " dumps, creates or merges a master, personal, or replacement dictionary."
+msgstr " tulostaa, luo tai yhdistää pää-, henkilökohtaisen, tai korvaussanakirjan."
#. TRANSLATORS: "none", "internal" and "strict" are literal values
#. and should not be translated.
-#: prog/aspell.cpp:2844
-msgid ""
-" <norm-form> normalization form to use, either none, internal, or "
-"strict"
-msgstr ""
-" <normalisointimuoto> käytettävä normalisointimuoto on joko none, internal, "
-"tai strict"
+#: prog/aspell.cpp:2849
+msgid " <norm-form> normalization form to use, either none, internal, or strict"
+msgstr " <normalisointimuoto> käytettävä normalisointimuoto on joko none, internal, tai strict"
-#: prog/aspell.cpp:2854
+#: prog/aspell.cpp:2859
#, c-format
msgid ""
"\n"
"\n"
msgstr ""
"\n"
-"Aspell %s. Copyright 2000-2114, Kevin Atkinson.\n"
+"Aspell %s. Copyright 2000-2011, Kevin Atkinson.\n"
"\n"
-#: prog/aspell.cpp:2888
+#: prog/aspell.cpp:2893
msgid ""
"Available Dictionaries:\n"
" Dictionaries can be selected directly via the \"-d\" or \"master\"\n"
" Ne voidaan valita myös epäsuorasti valitsimilla ”lang”, ”variety”,\n"
" ”size”.\n"
-#: prog/aspell.cpp:2909
+#: prog/aspell.cpp:2914
msgid ""
"Available Filters (and associated options):\n"
" Filters can be added or removed via the \"filter\" option.\n"
"Käytettävissä olevat suodattimet (ja niihin liittyvät valitsimet):\n"
" Suodattimia voidaan lisätä tai poistaa ”filter”-valitsimen avulla.\n"
-#: prog/aspell.cpp:2916
+#: prog/aspell.cpp:2921
#, c-format
msgid ""
"\n"
" %s-suodatin: %s\n"
#. TRANSLATORS: This should be formated to fit in 80 column or less
-#: prog/aspell.cpp:2933
+#: prog/aspell.cpp:2938
msgid ""
"Available Filter Modes:\n"
" Filter Modes are reconfigured combinations of filters optimized for\n"
msgstr ""
"Käytettävissä olevat suodatintilat:\n"
" Suodatintilat ovat suodattimien optiomoinnin uudelleenasetuksen\n"
-" yhdistelmiä tietyntyyppisille tiedostoille. Tila valitaan \"mode\"\n"
+" yhdistelmiä tietyntyyppisille tiedostoille. Tila valitaan ”mode”\n"
" -valitsimella. Tämä tapahtuu implisiittisesti jos Aspell kykenee\n"
" tunnistamaan tiedostotyypin tiedostotarkentimesta ja mahdollisesti\n"
" tiedoston sisällöstä.\n"
#: modules/speller/default/language.cpp:492
#, c-format
msgid "The character '%s' (U+%02X) may not appear at the beginning of a word."
-msgstr "Merkki '%s' (U+%02X) ei ehkä esiinny sanan alussa."
+msgstr "Merkki ’%s’ (U+%02X) ei ehkä esiinny sanan alussa."
#: modules/speller/default/language.cpp:494
#: modules/speller/default/language.cpp:503
#, c-format
-msgid ""
-"The character '%s' (U+%02X) must be followed by an alphabetic character."
-msgstr "Merkkiä '%s' (U+%02X) on seurattava aakkosnumeerinen merkki."
+msgid "The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgstr "Merkkiä ’%s’ (U+%02X) on seurattava aakkosnumeerinen merkki."
#: modules/speller/default/language.cpp:496
msgid "Does not contain any alphabetic characters."
#: modules/speller/default/language.cpp:501
#, c-format
msgid "The character '%s' (U+%02X) may not appear in the middle of a word."
-msgstr "Merkki '%s' (U+%02X) ei ehkä esiinny sanan keskellä."
+msgstr "Merkki ’%s’ (U+%02X) ei ehkä esiinny sanan keskellä."
#: modules/speller/default/language.cpp:508
-msgid ""
-"The character '\\r' (U+0D) may not appear at the end of a word. This "
-"probably means means that the file is using MS-DOS EOL instead of Unix EOL."
-msgstr ""
-"Merkki '\\r' (U+0D) ei ehkä esiinny sanan lopussa. Tämä luultavasti "
-"tarkoittaa, että tiedosto käyttää MS-DOS EOL -rivinloppumerkkiä eikä Unix "
-"EOL -rivinloppumerkkiä."
+msgid "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgstr "Merkki ’\\r’ (U+0D) ei ehkä esiinny sanan lopussa. Tämä luultavasti tarkoittaa, että tiedosto käyttää MS-DOS EOL -rivinloppumerkkiä eikä Unix EOL -rivinloppumerkkiä."
#: modules/speller/default/language.cpp:511
#, c-format
msgid "The character '%s' (U+%02X) may not appear at the end of a word."
-msgstr "Merkki '%s' (U+%02X) ei ehkä esiinny sanan lopussa."
+msgstr "Merkki ’%s’ (U+%02X) ei ehkä esiinny sanan lopussa."
#: modules/speller/default/language.cpp:543
#, c-format
msgid "Warning: Removing invalid affix '%s' from word %s.\n"
-msgstr "Varoitus: Virheellisen liitteen '%s' poistaminen sanasta %s.\n"
+msgstr "Varoitus: Virheellisen liitteen ’%s’ poistaminen sanasta %s.\n"
#: modules/speller/default/language.cpp:544
#, c-format
msgid "Warning: Removing inapplicable affix '%s' from word %s.\n"
-msgstr "Varoitus: Poistetaan sopimaton liite '%s' sanasta %s.\n"
+msgstr "Varoitus: Poistetaan sopimaton liite ’%s’ sanasta %s.\n"
-#: modules/speller/default/language.cpp:674
+#: modules/speller/default/language.cpp:675
#, c-format
msgid "Warning: %s Skipping string.\n"
msgstr "Varoitus: %s ohitetaan merkkijono.\n"
-#: modules/speller/default/language.cpp:732
+#: modules/speller/default/language.cpp:733
msgid "The total length is larger than 240 characters."
msgstr "Yhteispituus on suurempi kuin 240 merkkiä."
-#: modules/speller/default/language.cpp:736
+#: modules/speller/default/language.cpp:737
#, c-format
msgid "Warning: %s Skipping word.\n"
msgstr "Varoitus: %s Ohitetaan sana.\n"
msgstr "Mahdollisesti väärä lukumäärä."
#: modules/speller/default/readonly_ws.cpp:362
+msgid "Incompatible hash function."
+msgstr "Yhteensopimaton tiivistefunktio."
+
+#: modules/speller/default/readonly_ws.cpp:440
msgid "Wrong endian order."
msgstr "Väärä tavujärjestys."
-#: modules/speller/default/readonly_ws.cpp:385
+#: modules/speller/default/readonly_ws.cpp:463
msgid "Wrong soundslike."
msgstr "Väärä äänenkaltainen."
-#: modules/speller/default/readonly_ws.cpp:391
+#: modules/speller/default/readonly_ws.cpp:469
msgid "Wrong soundslike version."
msgstr "Väärä äänenkaltainen versio."
-#: modules/speller/default/readonly_ws.cpp:853
+#: modules/speller/default/readonly_ws.cpp:934
msgid "Affix flags found in word but no affix file given."
msgstr "Liiteliput löytyivät sanassa, mutta liitetiedostoa ei ole annettu."
-#: modules/speller/default/readonly_ws.cpp:891
-msgid ""
-"The total word length, with soundslike data, is larger than 240 characters."
-msgstr ""
-"Kokonaissanapituus, äänenkaltaisella tiedolla, on laajempi kuin 240 merkkiä."
+#: modules/speller/default/readonly_ws.cpp:972
+msgid "The total word length, with soundslike data, is larger than 240 characters."
+msgstr "Kokonaissanapituus, äänenkaltaisella tiedolla, on laajempi kuin 240 merkkiä."
#: modules/speller/default/multi_ws.cpp:58
msgid "There must be at least one \"add\" line."
#: modules/filter/tex.cpp:255 modules/filter/tex.cpp:262
msgid "a string of 'o','O','p',or 'P'"
-msgstr "seuraavien merkkien merkkijono: 'o','O','p',tai 'P'"
+msgstr "seuraavien merkkien merkkijono: ’o’,’O’,’p’,tai ’P’"
#. TRANSLATORS: Like the strings in config.cpp, all strings in *-filter.opt
#. should be under 50 characters, begin with a lower case character and
msgid "HTML tags to always skip the contents of"
msgstr "HTML-tunnisteet, jotka aina ohitetaan sisällössä"
+#: modules/filter/markdown-filter.info:8
+#, fuzzy
+#| msgid "filter for dealing with Texinfo documents"
+msgid "filter for Markdown/CommonMark documents"
+msgstr "suodatin Texinfo-asiakirjojen käsittelemiseen"
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
+msgstr ""
+
#: modules/filter/nroff-filter.info:7
msgid "filter for dealing with Nroff documents"
msgstr "suodatin Nroff-asiakirjojen käsittelemiseen"
msgid "mode for checking HTML documents"
msgstr "tila HTML-asiakirjojen tarkistamiseen"
+#: modules/filter/modes/markdown.amf:10
+#, fuzzy
+#| msgid "mode for checking Nroff documents"
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr "tila Nroff-asiakirjojen tarkistamiseen"
+
#: modules/filter/modes/none.amf:5
msgid "mode to disable all filters"
msgstr "tila ottaa pois käytöstä kaikki suodattimet"
#~ msgid "enter Debctrl mode."
#~ msgstr "siirry Debctrl-tilaan."
-#~ msgid ""
-#~ "The value \"%value:2\" is not \"%accepted:3\" and is thus invalid for the "
-#~ "key \"%key:1\"."
-#~ msgstr ""
-#~ "Arvo ”%value:2” ei ole ”%accepted:3” ja se on siten virheellinen "
-#~ "valitsimelle ”%key:1”."
+#~ msgid "The value \"%value:2\" is not \"%accepted:3\" and is thus invalid for the key \"%key:1\"."
+#~ msgstr "Arvo ”%value:2” ei ole ”%accepted:3” ja se on siten virheellinen valitsimelle ”%key:1”."
# -*- mode: po; buffer-file-coding-system: iso-8859-1; default-input-method: latin-1-prefix -*-
#
# French messages for GNU Aspell
-# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2008 Th. Thomas
+# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2008, 2011 Th. Thomas
# This file is distributed under the same license as the aspell package.
# Note: this file was distributed under the modified BSD license, but the
# Translation Project Robot does not accept it.
#
-# Thierry Thomas <thierry@pompo.net>, 2008.
+# Thierry Thomas <thierry@pompo.net>, 2011.
#
msgid ""
msgstr ""
-"Project-Id-Version: aspell 0.60.6\n"
+"Project-Id-Version: aspell 0.60.7\n"
"Report-Msgid-Bugs-To: kevina@gnu.org\n"
-"POT-Creation-Date: 2011-07-04 03:25-0600\n"
-"PO-Revision-Date: 2008-05-02 10:36+0200\n"
+"POT-Creation-Date: 2019-07-29 02:38-0400\n"
+"PO-Revision-Date: 2011-07-12 19:36+0200\n"
"Last-Translator: Thierry Thomas <thierry@pompo.net>\n"
"Language-Team: French <traduc@traduc.org>\n"
+"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: common/info.cpp:232
msgid "ASPELL_CONF env var"
msgstr "ASPELL_CONF env var"
-#. TRANSLATORS: The remaing strings in config.cpp should be kept
+#. TRANSLATORS: The remaining strings in config.cpp should be kept
#. under 50 characters, begin with a lower case character and not
#. include any trailing punctuation marks.
#: common/config.cpp:1360
#. TRANSLATORS: It is OK if this is longer than 50 chars
#: common/config.cpp:1388
msgid "ignore accents when checking words -- CURRENTLY IGNORED"
-msgstr ""
-"ignorer les accents lors de la vérification -- NON PRIS EN COMPTE "
-"ACTUELLEMENT"
+msgstr "ignorer les accents lors de la vérification -- NON PRIS EN COMPTE ACTUELLEMENT"
#: common/config.cpp:1390
msgid "ignore case when checking words"
#. TRANSLATORS: It is OK if this is longer than 50 chars
#: common/config.cpp:1475
msgid "indicator for affix flags in word lists -- CURRENTLY IGNORED"
-msgstr ""
-"indicateur des fanions affixes dans les listes de mots -- NON PRIS EN COMPTE "
-"ACTUELLEMENT"
+msgstr "indicateur des fanions affixes dans les listes de mots -- NON PRIS EN COMPTE ACTUELLEMENT"
#: common/config.cpp:1477
msgid "use affix compression when creating dictionaries"
msgid "time load time and suggest time in pipe mode"
msgstr "durée, temps de chargement et de rech. en mode pipe"
-#: common/convert.cpp:303 common/convert.cpp:429
+#: common/convert.cpp:303 common/convert.cpp:497
#, c-format
-msgid ""
-"This could also mean that the file \"%s\" could not be opened for reading or "
-"does not exist."
-msgstr ""
-"Cela peut aussi vouloir dire que le fichier « %s » peut être ouvert en "
-"lecture ou n'existe pas."
+msgid "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
+msgstr "Cela peut aussi vouloir dire que le fichier « %s » ne peut être ouvert en lecture ou n'existe pas."
-#: common/convert.cpp:552 common/convert.cpp:659 common/convert.cpp:705
+#: common/convert.cpp:582 common/convert.cpp:689 common/convert.cpp:735
#, c-format
msgid "The Unicode code point U+%04X is unsupported."
msgstr "Le code Unicode U+%04X n'est pas supporté."
-#: common/convert.cpp:829
+#: common/convert.cpp:859
#, c-format
msgid "Invalid UTF-8 sequence at position %ld."
msgstr "Séquence UTF-8 invalide à la position %ld."
msgstr "La clef « %key:1 » est invalide car différente de %accepted:2."
#: common/errors.cpp:147
-msgid ""
-"The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%"
-"key:1\"."
-msgstr ""
-"La valeur « %value:2 » est différente de %accepted:3 ; elle est donc "
-"invalide pour la clef « %key:1 »."
+msgid "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
+msgstr "La valeur « %value:2 » est différente de %accepted:3 ; elle est donc invalide pour la clef « %key:1 »."
#: common/errors.cpp:163
msgid "The key \"%key:1\" is not a string."
msgstr "La clef « %key:1 » n'est pas une liste."
#: common/errors.cpp:195
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"reset-"
-"\"."
-msgstr ""
-"La clef « %key:1 » n'a pas de paramètre si elle est préfixée par « reset- »."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
+msgstr "La clef « %key:1 » n'a pas de paramètre si elle est préfixée par « reset- »."
#: common/errors.cpp:203
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by an \"enable-"
-"\"."
-msgstr ""
-"La clef « %key:1 » n'accepte pas de paramètre quand elle est préfixée par "
-"« enable- »."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by an \"enable-\"."
+msgstr "La clef « %key:1 » n'accepte pas de paramètre quand elle est préfixée par « enable- »."
#: common/errors.cpp:211
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" "
-"or \"disable-\"."
-msgstr ""
-"La clef « %key:1 » n'a pas de paramètre si elle est préfixée par « dont- » "
-"ou « disable- »."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
+msgstr "La clef « %key:1 » n'a pas de paramètre si elle est préfixée par « dont- » ou « disable- »."
#: common/errors.cpp:219
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"clear-"
-"\"."
-msgstr ""
-"La clef « %key:1 » n'a pas de paramètre si elle est préfixée par « clear- »."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
+msgstr "La clef « %key:1 » n'a pas de paramètre si elle est préfixée par « clear- »."
#: common/errors.cpp:235
#, c-format
#: common/errors.cpp:267
#, c-format
msgid "Expected language \"%lang:1\" but got \"%prev:2\"."
-msgstr ""
-"La langue attendue était « %lang:1 » mais « %prev:2 » a été rencontrée."
+msgstr "La langue attendue était « %lang:1 » mais « %prev:2 » a été rencontrée."
#: common/errors.cpp:283
#, c-format
#: common/errors.cpp:299
#, c-format
-msgid ""
-"The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be "
-"stripped."
-msgstr ""
-"La condition « %cond:1 » ne garantit pas que « %strip:2 » soit toujours "
-"enlevé."
+msgid "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
+msgstr "La condition « %cond:1 » ne garantit pas que « %strip:2 » soit toujours enlevé."
#: common/errors.cpp:307
#, c-format
-msgid ""
-"The file \"%file:1\" is not in the proper format. Expected the file to be in "
-"\"%exp:2\" not \"%got:3\"."
-msgstr ""
-"Le fichier « %file:1 » n'est pas au format attendu. Le fichier doit être en "
-"« %exp:2 », pas en « %got:3 »"
+msgid "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
+msgstr "Le fichier « %file:1 » n'est pas au format attendu. Le fichier doit être en « %exp:2 », pas en « %got:3 »"
#: common/errors.cpp:323
#, c-format
#: common/errors.cpp:635
#, c-format
msgid "\"%mode:1\" error while extend Aspell modes. (out of memory?)"
-msgstr ""
-"erreur « %mode:1 » en étendant les modes d'Aspell. (manque de mémoire ?)"
+msgstr "erreur « %mode:1 » en étendant les modes d'Aspell. (manque de mémoire ?)"
# TODO : à revoir.
#: common/errors.cpp:651
#, c-format
msgid "\"%mode:1\": no start for magic search given for magic \"%magic:2\"."
-msgstr ""
-"« %mode:1 » : pas de début pour la recherche magique donnée pour « %"
-"magic:2 »."
+msgstr "« %mode:1 » : pas de début pour la recherche magique donnée pour « %magic:2 »."
# TODO : à revoir.
#: common/errors.cpp:659
#, c-format
msgid "\"%mode:1\": no range for magic search given for magic \"%magic:2\"."
-msgstr ""
-"« %mode:1 » : pas d'intervalle pour la recherche magique donnée pour « %"
-"magic:2 »."
+msgstr "« %mode:1 » : pas d'intervalle pour la recherche magique donnée pour « %magic:2 »."
# TODO : à revoir.
#: common/errors.cpp:667
# TODO : à revoir.
#: common/errors.cpp:675
-msgid ""
-"\"%mode:1\": Magic \"%magic:2\": bad regular expression after location "
-"specifier; regexp reports: \"%regerr:3\"."
-msgstr ""
-"« %mode:1 » : « %magic:2 » : mauvaise expression rationnelle après la "
-"position : « %regerr:3 »."
+msgid "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
+msgstr "« %mode:1 » : « %magic:2 » : mauvaise expression rationnelle après la position : « %regerr:3 »."
#: common/errors.cpp:691
#, c-format
msgid "Unhandled Error: "
msgstr "Erreur imprévue : "
-#: prog/aspell.cpp:97
+#: prog/aspell.cpp:98
#, c-format
msgid "Error: %s\n"
msgstr "Erreur : %s\n"
-#: prog/aspell.cpp:102
+#: prog/aspell.cpp:103
msgid "Error: "
msgstr "Erreur : "
-#: prog/aspell.cpp:203
+#: prog/aspell.cpp:204
msgid "enter Email mode."
msgstr "entrer en mode courrier."
-#: prog/aspell.cpp:204
+#: prog/aspell.cpp:205
msgid "enter HTML mode."
msgstr "entrer en mode HTML."
-#: prog/aspell.cpp:205
+#: prog/aspell.cpp:206
msgid "enter TeX mode."
msgstr "entrer en mode TeX."
-#: prog/aspell.cpp:206
+#: prog/aspell.cpp:207
msgid "enter Nroff mode."
msgstr "entrer en mode Nroff."
-#: prog/aspell.cpp:312
+#: prog/aspell.cpp:313
#, c-format
msgid "Invalid Option: %s"
msgstr "Option invalide : %s"
-#: prog/aspell.cpp:319
+#: prog/aspell.cpp:320
msgid " does not take any parameters."
msgstr " n'accepte aucun paramètre."
-#: prog/aspell.cpp:332 prog/aspell.cpp:392
+#: prog/aspell.cpp:333 prog/aspell.cpp:393
#, c-format
msgid "You must specify a parameter for \"%s\"."
msgstr "Vous devez passer un paramètre à « %s »."
-#: prog/aspell.cpp:381
+#: prog/aspell.cpp:382
msgid "You must specify an action"
msgstr "Vous devez indiquer une action"
-#: prog/aspell.cpp:389 prog/aspell.cpp:452 prog/aspell.cpp:474
+#: prog/aspell.cpp:390 prog/aspell.cpp:453 prog/aspell.cpp:475
#, c-format
msgid "Unknown Action: %s"
msgstr "Action inconnue : %s"
-#: prog/aspell.cpp:395
+#: prog/aspell.cpp:396
#, c-format
msgid "Error: You must specify at least %d parameters for \"%s\".\n"
msgstr "Erreur : vous devez passer au moins %d paramètres à « %s ».\n"
-#: prog/aspell.cpp:637
+#: prog/aspell.cpp:638
msgid "Invalid Input"
msgstr "Entrée invalide"
-#: prog/aspell.cpp:710
+#: prog/aspell.cpp:711
#, c-format
msgid "WARNING: Unable to enter Nroff mode: %s\n"
msgstr "AVERTISSEMENT : impossible de passer en mode Nroff : %s\n"
-#: prog/aspell.cpp:731
+#: prog/aspell.cpp:732
msgid "Time to load word list: "
msgstr "Temps de chargement du dictionnaire :"
-#: prog/aspell.cpp:929
+#: prog/aspell.cpp:930
#, c-format
msgid "Suggestion Time: %f\n"
msgstr "Temps de suggestion : %f\n"
-#: prog/aspell.cpp:972
+#: prog/aspell.cpp:973
msgid "You must specify a file name."
msgstr "Vous devez indiquer un nom de fichier."
-#: prog/aspell.cpp:975
+#: prog/aspell.cpp:976
msgid "Only one file name may be specified."
msgstr "Un seul nom de fichier peut être passé."
-#: prog/aspell.cpp:985
+#: prog/aspell.cpp:986
#, c-format
msgid "Could not open the file \"%s\" for reading"
msgstr "Impossible d'ouvrir le fichier « %s » en lecture"
-#: prog/aspell.cpp:998
+#: prog/aspell.cpp:999
#, c-format
msgid "Invalid keymapping: %s"
msgstr "Correspondance de touches invalide : %s"
-#: prog/aspell.cpp:1020
+#: prog/aspell.cpp:1014
+#, fuzzy, c-format
+#| msgid "\"%expression:1\" is not a valid regular expression."
+msgid "\"%s\" is not a regular file"
+msgstr "« %expression:2 » n'est pas une expression rationnelle valide."
+
+#: prog/aspell.cpp:1025
#, c-format
msgid "Could not open the file \"%s\" for writing. File not saved."
-msgstr ""
-"Impossible d'ouvrir le fichier « %s » en écriture. Fichier non enregistré."
+msgstr "Impossible d'ouvrir le fichier « %s » en écriture. Fichier non enregistré."
-#: prog/aspell.cpp:1033
+#: prog/aspell.cpp:1038
msgid "Ignore"
msgstr "Ignorer"
-#: prog/aspell.cpp:1034
+#: prog/aspell.cpp:1039
msgid "Ignore all"
msgstr "Ignorer tout"
-#: prog/aspell.cpp:1035
+#: prog/aspell.cpp:1040
msgid "Replace"
msgstr "Remplacer"
-#: prog/aspell.cpp:1036
+#: prog/aspell.cpp:1041
msgid "Replace all"
msgstr "Remplacer tout"
-#: prog/aspell.cpp:1037
+#: prog/aspell.cpp:1042
msgid "Add"
msgstr "Ajouter"
-#: prog/aspell.cpp:1038
+#: prog/aspell.cpp:1043
msgid "Add Lower"
msgstr "Ajouter minus."
-#: prog/aspell.cpp:1039
+#: prog/aspell.cpp:1044
msgid "Abort"
msgstr "Abandon"
-#: prog/aspell.cpp:1040
+#: prog/aspell.cpp:1045
msgid "Exit"
msgstr "Sortir"
-#: prog/aspell.cpp:1116
+#: prog/aspell.cpp:1121
msgid "Are you sure you want to abort (y/n)? "
msgstr "Voulez-vous vraiment abandonner (o/n) ?"
#. TRANSLATORS: The user may input any of these characters to say "yes".
#. MUST ONLY CONSIST OF ASCII CHARACTERS.
-#: prog/aspell.cpp:1120
+#: prog/aspell.cpp:1125
msgid "Yy"
msgstr "OoYy"
# remplacer ... par : ...
-#: prog/aspell.cpp:1148
+#: prog/aspell.cpp:1153
msgid "With: "
msgstr "par : "
-#: prog/aspell.cpp:1165
+#: prog/aspell.cpp:1170
msgid "Sorry that is an invalid choice!"
msgstr "Désolé, choix invalide !"
-#: prog/aspell.cpp:1386
+#: prog/aspell.cpp:1391
msgid "Sorry \"filter\" is currently unimplemented.\n"
msgstr "« filter » n'est pas encore implémenté.\n"
-#: prog/aspell.cpp:1520
+#: prog/aspell.cpp:1525
msgid "Can't merge a master word list yet. Sorry."
-msgstr ""
-"Impossible de fusionner un dictionnaire principal pour l'instant. Désolé."
+msgstr "Impossible de fusionner un dictionnaire principal pour l'instant. Désolé."
-#: prog/aspell.cpp:1544
+#: prog/aspell.cpp:1549
msgid "Sorry \"create/merge personal\" is currently unimplemented.\n"
msgstr ""
"La création et la fusion de dictionnaires personnels ne sont \n"
"pas encore implémentées.\n"
-#: prog/aspell.cpp:1553 prog/aspell.cpp:1609
+#: prog/aspell.cpp:1558 prog/aspell.cpp:1614
#, c-format
msgid "Sorry I won't overwrite \"%s\""
msgstr "Désolé, je ne peux pas écraser « %s »"
-#: prog/aspell.cpp:1600
+#: prog/aspell.cpp:1605
msgid "Sorry \"create/merge repl\" is currently unimplemented.\n"
msgstr ""
"La création et la fusion de listes de remplacement ne sont \n"
"pas encore implémentées.\n"
-#: prog/aspell.cpp:1872
+#: prog/aspell.cpp:1877
#, c-format
msgid "\"%s\" is not a valid flag for the \"munch-list\" command."
msgstr "« %s » n'est pas valide pour la commande « munch-list »."
#. TRANSLATORS: These should all be formated to fit in 80 column or
#. less
-#: prog/aspell.cpp:2799
+#: prog/aspell.cpp:2804
msgid "Usage: aspell [options] <command>"
msgstr "Utilisation : aspell [options] <commande>"
-#: prog/aspell.cpp:2800
+#: prog/aspell.cpp:2805
msgid "<command> is one of:"
msgstr "<commande> à choisir parmi :"
-#: prog/aspell.cpp:2801
+#: prog/aspell.cpp:2806
msgid " -?|usage display a brief usage message"
msgstr " -?|usage affiche une brève notice"
-#: prog/aspell.cpp:2802
+#: prog/aspell.cpp:2807
msgid " help display a detailed help message"
msgstr " help affiche un message d'aide détaillé"
-#: prog/aspell.cpp:2803
+#: prog/aspell.cpp:2808
msgid " -c|check <file> to check a file"
msgstr " -c|check <fich> vérifier un fichier"
-#: prog/aspell.cpp:2804
+#: prog/aspell.cpp:2809
msgid " -a|pipe \"ispell -a\" compatibility mode"
msgstr " -a|pipe mode compatible avec « ispell -a »"
-#: prog/aspell.cpp:2805
+#: prog/aspell.cpp:2810
msgid " [dump] config dumps the current configuration to stdout"
msgstr " [dump] config affiche la config. en cours sur la sortie standard"
-#: prog/aspell.cpp:2806
+#: prog/aspell.cpp:2811
msgid " config <key> prints the current value of an option"
msgstr " config <clé> affiche la valeur courante d'une option"
-#: prog/aspell.cpp:2807
+#: prog/aspell.cpp:2812
msgid " [dump] dicts | filters | modes"
msgstr " [dump] dicts | filters | modes"
-#: prog/aspell.cpp:2808
+#: prog/aspell.cpp:2813
msgid " lists available dictionaries / filters / filter modes"
msgstr " liste les dictionnaires disponibles / les filtres / les modes"
-#: prog/aspell.cpp:2809
+#: prog/aspell.cpp:2814
msgid "[options] is any of the following:"
msgstr "[options] à prendre parmi :"
-#: prog/aspell.cpp:2822
-msgid ""
-" list produce a list of misspelled words from standard input"
-msgstr ""
-" list liste les mots mal orthographiés à partir de l'entrée "
-"standard"
+#: prog/aspell.cpp:2827
+msgid " list produce a list of misspelled words from standard input"
+msgstr " list liste les mots mal orthographiés à partir de l'entrée standard"
-#: prog/aspell.cpp:2825
-msgid ""
-" soundslike returns the sounds like equivalent for each word entered"
-msgstr ""
-" soundslike retourne les phonèmes équivalents à chaque mot saisi"
+#: prog/aspell.cpp:2830
+msgid " soundslike returns the sounds like equivalent for each word entered"
+msgstr " soundslike retourne les phonèmes équivalents à chaque mot saisi"
-#: prog/aspell.cpp:2826
+#: prog/aspell.cpp:2831
msgid " munch generate possible root words and affixes"
msgstr " munch génère les racines et les affixes possibles"
# TODO: à revoir
-#: prog/aspell.cpp:2827
+#: prog/aspell.cpp:2832
msgid " expand [1-4] expands affix flags"
msgstr " expand [1-4] étend les fanions affixes"
-#: prog/aspell.cpp:2828
-msgid ""
-" clean [strict] cleans a word list so that every line is a valid word"
+#: prog/aspell.cpp:2833
+msgid " clean [strict] cleans a word list so that every line is a valid word"
msgstr " clean [strict] nettoie une liste de mots des termes invalides"
-#: prog/aspell.cpp:2830
+#: prog/aspell.cpp:2835
msgid " -v|version prints a version line"
msgstr " -v|version affiche la version"
-#: prog/aspell.cpp:2831
+#: prog/aspell.cpp:2836
msgid " munch-list [simple] [single|multi] [keep]"
msgstr " munch-list [simple] [single|multi] [keep]"
-#: prog/aspell.cpp:2832
+#: prog/aspell.cpp:2837
msgid " reduce the size of a word list via affix compression"
msgstr " réduit la taille d'une liste de mots par compression des affixes"
-#: prog/aspell.cpp:2833
+#: prog/aspell.cpp:2838
msgid " conv <from> <to> [<norm-form>]"
msgstr " conv <de> <vers> [<norm-form>]"
-#: prog/aspell.cpp:2834
+#: prog/aspell.cpp:2839
msgid " converts from one encoding to another"
msgstr " convertit d'un encodage vers un autre"
-#: prog/aspell.cpp:2835
+#: prog/aspell.cpp:2840
msgid " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
msgstr " norm (<norm-map> | <de> <norm-map> <vers>) [<norm-form>]"
-#: prog/aspell.cpp:2836
+#: prog/aspell.cpp:2841
msgid " perform Unicode normalization"
msgstr " effectuer la normalisation Unicode"
-#: prog/aspell.cpp:2839
+#: prog/aspell.cpp:2844
msgid " dump|create|merge master|personal|repl [<name>]"
msgstr " dump|create|merge master|personal|repl [<nom>]"
-#: prog/aspell.cpp:2840
-msgid ""
-" dumps, creates or merges a master, personal, or replacement dictionary."
-msgstr ""
-" affiche, crée ou fusionne un dico. ppal., personnel, ou une liste de "
-"rempl."
+#: prog/aspell.cpp:2845
+msgid " dumps, creates or merges a master, personal, or replacement dictionary."
+msgstr " affiche, crée ou fusionne un dico. ppal., personnel, ou une liste de rempl."
#. TRANSLATORS: "none", "internal" and "strict" are literal values
#. and should not be translated.
-#: prog/aspell.cpp:2844
-msgid ""
-" <norm-form> normalization form to use, either none, internal, or "
-"strict"
-msgstr ""
-" <norm-form> normalisation à utiliser, soit none, internal, ou strict"
+#: prog/aspell.cpp:2849
+msgid " <norm-form> normalization form to use, either none, internal, or strict"
+msgstr " <norm-form> normalisation à utiliser, soit none, internal, ou strict"
-#: prog/aspell.cpp:2854
+#: prog/aspell.cpp:2859
#, c-format
msgid ""
"\n"
"Aspell %s. Copyright 2000-2011 par Kevin Atkinson.\n"
"\n"
-#: prog/aspell.cpp:2888
+#: prog/aspell.cpp:2893
msgid ""
"Available Dictionaries:\n"
" Dictionaries can be selected directly via the \"-d\" or \"master\"\n"
" \"variety\", and \"size\" options.\n"
msgstr ""
"Dictionnaires disponibles :\n"
-" Les dictionnaires peuvent être choisis par l'option « -d » ou "
-"« master »\n"
+" Les dictionnaires peuvent être choisis par l'option « -d » ou « master »\n"
" Ils peuvent aussi être choisis indirectement par les options « lang »,\n"
" « variety », et « size ».\n"
-#: prog/aspell.cpp:2909
+#: prog/aspell.cpp:2914
msgid ""
"Available Filters (and associated options):\n"
" Filters can be added or removed via the \"filter\" option.\n"
"Filtres disponibles (et options associées) :\n"
" Des filtres peuvent être ajoutés ou retirés par l'option « filter ».\n"
-#: prog/aspell.cpp:2916
+#: prog/aspell.cpp:2921
#, c-format
msgid ""
"\n"
" %s filtre : %s\n"
#. TRANSLATORS: This should be formated to fit in 80 column or less
-#: prog/aspell.cpp:2933
+#: prog/aspell.cpp:2938
msgid ""
"Available Filter Modes:\n"
" Filter Modes are reconfigured combinations of filters optimized for\n"
msgstr ""
"Modes de filtrage disponibles :\n"
" Les modes de filtrage sont des combinaisons de filtres optimisés pour\n"
-" des fichiers d'un type donné. Un mode est sélectionné par l'option "
-"« mode ».\n"
-" Ça se fera implicitement si Aspell est capable d'identifier le type du "
-"fichier\n"
+" des fichiers d'un type donné. Un mode est sélectionné par l'option « mode ».\n"
+" Ça se fera implicitement si Aspell est capable d'identifier le type du fichier\n"
" à partir de son extension, et éventuellement de son contenu.\n"
#: prog/check_funs.cpp:287
#: modules/speller/default/language.cpp:494
#: modules/speller/default/language.cpp:503
#, c-format
-msgid ""
-"The character '%s' (U+%02X) must be followed by an alphabetic character."
-msgstr ""
-"Le caractère '%s' (U+%02X) doit être suivi d'un caractère alphabétique."
+msgid "The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgstr "Le caractère '%s' (U+%02X) doit être suivi d'un caractère alphabétique."
#: modules/speller/default/language.cpp:496
msgid "Does not contain any alphabetic characters."
msgstr "Le caractère '%s' (U+%02X) ne peut pas apparaître au milieu d'un mot."
#: modules/speller/default/language.cpp:508
-msgid ""
-"The character '\\r' (U+0D) may not appear at the end of a word. This "
-"probably means means that the file is using MS-DOS EOL instead of Unix EOL."
-msgstr ""
-"Le caractère '\\r' (U+0D) ne peut pas se trouver à la fin d'un mot. Cela "
-"signifie probablement que le fichier utilise des fins de ligne MS-DOS au "
-"lieu d'Unix."
+msgid "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgstr "Le caractère '\\r' (U+0D) ne peut pas se trouver à la fin d'un mot. Cela signifie probablement que le fichier utilise des fins de ligne MS-DOS au lieu d'Unix."
#: modules/speller/default/language.cpp:511
#, c-format
msgid "Warning: Removing inapplicable affix '%s' from word %s.\n"
msgstr "Attention : suppression de l'affixe inapplicable « %s » du mot %s.\n"
-#: modules/speller/default/language.cpp:674
+#: modules/speller/default/language.cpp:675
#, c-format
msgid "Warning: %s Skipping string.\n"
msgstr "Attention : %s chaîne ignorée.\n"
-#: modules/speller/default/language.cpp:732
+#: modules/speller/default/language.cpp:733
msgid "The total length is larger than 240 characters."
msgstr "La longueur totale dépasse 240 caractères."
-#: modules/speller/default/language.cpp:736
+#: modules/speller/default/language.cpp:737
#, c-format
msgid "Warning: %s Skipping word.\n"
msgstr "Attention : %s mot ignoré.\n"
msgstr "Décompte probablement incorrect."
#: modules/speller/default/readonly_ws.cpp:362
+msgid "Incompatible hash function."
+msgstr "Fonction de hachage incompatible."
+
+#: modules/speller/default/readonly_ws.cpp:440
msgid "Wrong endian order."
msgstr "Système de poids erroné (endian)."
-#: modules/speller/default/readonly_ws.cpp:385
+#: modules/speller/default/readonly_ws.cpp:463
msgid "Wrong soundslike."
msgstr "Phonème erroné."
-#: modules/speller/default/readonly_ws.cpp:391
+#: modules/speller/default/readonly_ws.cpp:469
msgid "Wrong soundslike version."
msgstr "Version erronée de phonème."
-#: modules/speller/default/readonly_ws.cpp:853
+#: modules/speller/default/readonly_ws.cpp:934
msgid "Affix flags found in word but no affix file given."
-msgstr ""
-"Fanions affixes retrouvés dans le mot mais aucun fichier affixe fourni."
+msgstr "Fanions affixes retrouvés dans le mot mais aucun fichier affixe fourni."
-#: modules/speller/default/readonly_ws.cpp:891
-msgid ""
-"The total word length, with soundslike data, is larger than 240 characters."
+#: modules/speller/default/readonly_ws.cpp:972
+msgid "The total word length, with soundslike data, is larger than 240 characters."
msgstr "La longueur totale du mot, phonèmes inclus, dépasse 240 caractères."
#: modules/speller/default/multi_ws.cpp:58
msgid "HTML tags to always skip the contents of"
msgstr "balises HTML dont on ignore le contenu"
+#: modules/filter/markdown-filter.info:8
+#, fuzzy
+#| msgid "filter for dealing with Texinfo documents"
+msgid "filter for Markdown/CommonMark documents"
+msgstr "filtre pour traiter les documents Texinfo"
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
+msgstr ""
+
#: modules/filter/nroff-filter.info:7
msgid "filter for dealing with Nroff documents"
msgstr "filtre pour traiter les documents Nroff"
msgid "mode for checking HTML documents"
msgstr "mode de vérif. des pages HTML"
+#: modules/filter/modes/markdown.amf:10
+#, fuzzy
+#| msgid "mode for checking Nroff documents"
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr "mode de vérif. des pages Nroff"
+
#: modules/filter/modes/none.amf:5
msgid "mode to disable all filters"
msgstr "mode sans aucun filtre"
--- /dev/null
+# Friulian messages for GNU ASPELL.
+# Copyright (C) 2017 Kevin Atkinson
+# This file is distributed under the same license as the aspell package.
+# Fabio Tomat <f.t.public@gmail.com>, 2017.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: aspell 0.60.7\n"
+"Report-Msgid-Bugs-To: kevina@gnu.org\n"
+"POT-Creation-Date: 2019-07-29 02:38-0400\n"
+"PO-Revision-Date: 2018-03-24 22:24+0100\n"
+"Last-Translator: Fabio Tomat <f.t.public@gmail.com>\n"
+"Language-Team: Friulian <f.t.public@gmail.com>\n"
+"Language: fur\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Poedit 2.0.6\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: common/info.cpp:232
+msgid "a number between 0 and 1"
+msgstr "un numar tra 0 e 1"
+
+#: common/info.cpp:569
+msgid "in the form \"<name> <value>\""
+msgstr "te forme \"<non> <valôr>\""
+
+#: common/config.cpp:74
+msgid "string"
+msgstr "stringhe"
+
+#: common/config.cpp:74
+msgid "integer"
+msgstr "intîr"
+
+#: common/config.cpp:74
+msgid "boolean"
+msgstr "boolean"
+
+#: common/config.cpp:74
+msgid "list"
+msgstr "liste"
+
+#. TRANSLATORS: "true" and "false" are literal
+#. * values and should not be translated.
+#: common/config.cpp:978
+msgid "either \"true\" or \"false\""
+msgstr "a sielte tra \"true\" o \"false\""
+
+#: common/config.cpp:997
+msgid "a positive integer"
+msgstr "un intîr positîf"
+
+#: common/config.cpp:1125
+msgid "# default: "
+msgstr "# predefinît: "
+
+#: common/config.cpp:1188
+#, c-format
+msgid ""
+"\n"
+"#######################################################################\n"
+"#\n"
+"# Filter: %s\n"
+"# %s\n"
+"#\n"
+"# configured as follows:\n"
+"\n"
+msgstr ""
+"\n"
+"#######################################################################\n"
+"#\n"
+"# Filtri: %s\n"
+"# %s\n"
+"#\n"
+"# configurât cussì:\n"
+"\n"
+
+#: common/config.cpp:1286
+msgid "ASPELL_CONF env var"
+msgstr "var. di ambient ASPELL_CONF"
+
+#. TRANSLATORS: The remaining strings in config.cpp should be kept
+#. under 50 characters, begin with a lower case character and not
+#. include any trailing punctuation marks.
+#: common/config.cpp:1360
+msgid "main configuration file"
+msgstr "file di configurazion principâl"
+
+#: common/config.cpp:1362
+msgid "location of main configuration file"
+msgstr "posizion dal file di configurazion principâl"
+
+#: common/config.cpp:1365
+msgid "location of language data files"
+msgstr "posizion dai file di dâts des lenghis"
+
+#: common/config.cpp:1367
+msgid "create dictionary aliases"
+msgstr "cree i alias dal dizionari"
+
+#: common/config.cpp:1369
+msgid "location of the main word list"
+msgstr "posizion de liste di peraulis principâl"
+
+#: common/config.cpp:1371
+msgid "encoding to expect data to be in"
+msgstr "codifiche che si spiete che dâts a vedin"
+
+#: common/config.cpp:1373
+msgid "add or removes a filter"
+msgstr "al zonte o al gjave un filtri"
+
+#: common/config.cpp:1375
+msgid "path(s) aspell looks for filters"
+msgstr "percors dulà che aspell al cîr i filtris"
+
+#: common/config.cpp:1379
+msgid "filter mode"
+msgstr "modalitât filtri"
+
+#: common/config.cpp:1381
+msgid "extra dictionaries to use"
+msgstr "dizionaris adizionâi di doprâ"
+
+#: common/config.cpp:1383
+msgid "location for personal files"
+msgstr "posizion pai file personâi"
+
+#: common/config.cpp:1385
+msgid "ignore words <= n chars"
+msgstr "ignore peraulis <= n caratars"
+
+#. TRANSLATORS: It is OK if this is longer than 50 chars
+#: common/config.cpp:1388
+msgid "ignore accents when checking words -- CURRENTLY IGNORED"
+msgstr "ignore acents tal control ortografic -- PAL MOMENT IGNORÂT"
+
+#: common/config.cpp:1390
+msgid "ignore case when checking words"
+msgstr "ignore maiusculis tal control ortografic"
+
+#: common/config.cpp:1392
+msgid "ignore commands to store replacement pairs"
+msgstr "ignore i comants che a salvin lis cubiis di sostituzion"
+
+#: common/config.cpp:1394 common/config.cpp:1461
+msgid "extra information for the word list"
+msgstr "informazions adizionâls pe liste des peraulis"
+
+#: common/config.cpp:1396
+msgid "keyboard definition to use for typo analysis"
+msgstr "gjenar di tastiere di doprâ pe analisi dai erôrs di batidure"
+
+#: common/config.cpp:1398
+msgid "language code"
+msgstr "codiç de lenghe"
+
+#: common/config.cpp:1400
+msgid "deprecated, use lang instead"
+msgstr "deplorât, doprâ invezit lang"
+
+#: common/config.cpp:1402
+msgid "location of local language data files"
+msgstr "posizion dai file locâi di dâts des lenghis"
+
+#: common/config.cpp:1404
+msgid "base name of the main dictionary to use"
+msgstr "non base de cartele principâl di doprâ"
+
+#: common/config.cpp:1408
+msgid "set module name"
+msgstr "stabilìs il non dal modul"
+
+#: common/config.cpp:1410
+msgid "search order for modules"
+msgstr "ordin di ricercje pai modui"
+
+#: common/config.cpp:1412
+msgid "enable Unicode normalization"
+msgstr "abilite normalizazion Unicode"
+
+#: common/config.cpp:1414
+msgid "Unicode normalization required for current lang"
+msgstr "Normalizazion Unicode necessarie pe lenghe atuâl"
+
+#. TRANSLATORS: the values after the ':' are literal
+#. values and should not be translated.
+#: common/config.cpp:1418
+msgid "Unicode normalization form: none, nfd, nfc, comp"
+msgstr "Forme di normalizazion Unicode: none, nfd, nfc, comp"
+
+#: common/config.cpp:1420
+msgid "avoid lossy conversions when normalization"
+msgstr "evite conversions cun pierditis inte normalizazion"
+
+#: common/config.cpp:1422
+msgid "personal configuration file"
+msgstr "file di configurazion personâl"
+
+#: common/config.cpp:1425
+msgid "personal dictionary file name"
+msgstr "non file dal dizionari personâl"
+
+#: common/config.cpp:1428
+msgid "prefix directory"
+msgstr "cartele prefìs"
+
+#: common/config.cpp:1430
+msgid "replacements list file name"
+msgstr "non dal file de liste des sostituzions"
+
+#: common/config.cpp:1433
+msgid "consider run-together words legal"
+msgstr "considere legâls lis peraulis compostis"
+
+#: common/config.cpp:1435
+msgid "maximum number that can be strung together"
+msgstr "numar massim di peraulis metudis adun"
+
+#: common/config.cpp:1437
+msgid "minimal length of interior words"
+msgstr "lungjece minime des peraulis internis"
+
+#: common/config.cpp:1439
+msgid "save replacement pairs on save all"
+msgstr "salve cubiis di sostituzion se si salve dut"
+
+#: common/config.cpp:1441
+msgid "set the prefix based on executable location"
+msgstr "stabilìs il prefìs in base ae posizion dal eseguibil"
+
+#: common/config.cpp:1443
+msgid "size of the word list"
+msgstr "dimension de liste des peraulis"
+
+#: common/config.cpp:1445
+msgid "no longer used"
+msgstr "no doprât plui"
+
+#: common/config.cpp:1447
+msgid "suggestion mode"
+msgstr "modalitât sugjeriment"
+
+#. TRANSLATORS: "sug-mode" is a literal value and should not be
+#. translated.
+#: common/config.cpp:1451
+msgid "edit distance to use, override sug-mode default"
+msgstr "modifiche la distance di doprâ, passe parsore dal predefinît sug-mode"
+
+#: common/config.cpp:1453
+msgid "use typo analysis, override sug-mode default"
+msgstr "dopre analisi dai erôrs di batidure, passe parsore dal predefinît sug-mode"
+
+#: common/config.cpp:1455
+msgid "use replacement tables, override sug-mode default"
+msgstr "dopre tabelis di sostituzion, passe parsore dal predefinît sug-mode"
+
+#: common/config.cpp:1457
+msgid "characters to insert when a word is split"
+msgstr "caratars di inserî cuant che une peraule e ven dividude"
+
+#: common/config.cpp:1459
+msgid "use personal, replacement & session dictionaries"
+msgstr "dopre dizionaris personâi, di sostituzion e di session"
+
+#: common/config.cpp:1463
+msgid "search path for word list information files"
+msgstr "percors di ricercje pai file des informazions de liste di peraulis"
+
+#: common/config.cpp:1465
+msgid "enable warnings"
+msgstr "abilite avertiments"
+
+#. TRANSLATORS: It is OK if this is longer than 50 chars
+#: common/config.cpp:1475
+msgid "indicator for affix flags in word lists -- CURRENTLY IGNORED"
+msgstr ""
+
+#: common/config.cpp:1477
+msgid "use affix compression when creating dictionaries"
+msgstr ""
+
+#: common/config.cpp:1479
+msgid "remove invalid affix flags"
+msgstr ""
+
+#: common/config.cpp:1481
+msgid "attempts to clean words so that they are valid"
+msgstr "al cîr di netâ lis peraulis cussì che a sedin validis"
+
+#: common/config.cpp:1483
+msgid "compute soundslike on demand rather than storing"
+msgstr "calcole il foneme su richieste invezit che archiviâ"
+
+#: common/config.cpp:1485
+msgid "partially expand affixes for better suggestions"
+msgstr ""
+
+#: common/config.cpp:1487
+msgid "skip invalid words"
+msgstr "salte lis peraulis no validis"
+
+#: common/config.cpp:1489
+msgid "check if affix flags are valid"
+msgstr ""
+
+#: common/config.cpp:1491
+msgid "check if words are valid"
+msgstr "controle se lis peraulis a son validis"
+
+#: common/config.cpp:1498
+msgid "create a backup file by appending \".bak\""
+msgstr "cree un file di backup zontant \".bak\""
+
+#: common/config.cpp:1500
+msgid "use byte offsets instead of character offsets"
+msgstr ""
+
+#: common/config.cpp:1502
+msgid "create missing root/affix combinations"
+msgstr ""
+
+#: common/config.cpp:1504
+msgid "keymapping for check mode: \"aspell\" or \"ispell\""
+msgstr ""
+
+#: common/config.cpp:1506
+msgid "reverse the order of the suggest list"
+msgstr "invertìs l'ordin de liste di sugjeriments"
+
+#: common/config.cpp:1508
+msgid "suggest possible replacements"
+msgstr "sugjerìs sostituzions pussibilis"
+
+#: common/config.cpp:1510
+msgid "time load time and suggest time in pipe mode"
+msgstr ""
+
+#: common/convert.cpp:303 common/convert.cpp:497
+#, c-format
+msgid "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
+msgstr "Chest al pues ancje significâ che il file \"%s\" nol pues jessi viert pe leture o nol esist."
+
+#: common/convert.cpp:582 common/convert.cpp:689 common/convert.cpp:735
+#, c-format
+msgid "The Unicode code point U+%04X is unsupported."
+msgstr "Il pont dal codiç Unicode U+%04X nol è supuartât."
+
+#: common/convert.cpp:859
+#, c-format
+msgid "Invalid UTF-8 sequence at position %ld."
+msgstr "Secuence UTF-8 no valide ae posizion %ld."
+
+#: common/errors.cpp:27
+msgid "Operation Not Supported: %what:1"
+msgstr "Operazion no supuartade: %what:1"
+
+#: common/errors.cpp:43
+msgid "The method \"%what:1\" is unimplemented in \"%where:2\"."
+msgstr "Il metodi \"%what:1\" nol è implementât in \"%where:2\"."
+
+#: common/errors.cpp:51
+#, c-format
+msgid "%file:1:"
+msgstr "%file:1:"
+
+#: common/errors.cpp:59
+#, c-format
+msgid "The file \"%file:1\" can not be opened"
+msgstr "Il file \"%file:1\" nol pues jessi viert"
+
+#: common/errors.cpp:67
+#, c-format
+msgid "The file \"%file:1\" can not be opened for reading."
+msgstr "Il file \"%file:1\" nol pues jessi viert pe leture."
+
+#: common/errors.cpp:75
+#, c-format
+msgid "The file \"%file:1\" can not be opened for writing."
+msgstr "Il file \"%file:1\" nol pues jessi viert pe scriture."
+
+#: common/errors.cpp:83
+#, c-format
+msgid "The file name \"%file:1\" is invalid."
+msgstr "Il non dal file \"%file:1\" nol è valit."
+
+#: common/errors.cpp:91
+#, c-format
+msgid "The file \"%file:1\" is not in the proper format."
+msgstr "Il file \"%file:1\" nol è tal formât just."
+
+#: common/errors.cpp:107
+#, c-format
+msgid "The directory \"%dir:1\" can not be opened for reading."
+msgstr "La cartele \"%dir:1\" no pues jessi vierte pe leture."
+
+#: common/errors.cpp:123
+msgid "The key \"%key:1\" is unknown."
+msgstr "La clâf \"%key:1\" no je cognossude."
+
+#: common/errors.cpp:131
+msgid "The value for option \"%key:1\" can not be changed."
+msgstr "Il valôr pe opzion \"%key:1\" nol pues jessi cambiât."
+
+#: common/errors.cpp:139
+msgid "The key \"%key:1\" is not %accepted:2 and is thus invalid."
+msgstr "La clâf \"%key:1\" no je %accepted:2 e duncje no je valide."
+
+#: common/errors.cpp:147
+msgid "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
+msgstr "Il valôr \"%value:2\" nol è %accepted:3 e duncje nol è valit pe clâf \"%key:1\"."
+
+#: common/errors.cpp:163
+msgid "The key \"%key:1\" is not a string."
+msgstr "La clâf \"%key:1\" no je une stringhe."
+
+#: common/errors.cpp:171
+msgid "The key \"%key:1\" is not an integer."
+msgstr "La clâf \"%key:1\" no je un intîr."
+
+#: common/errors.cpp:179
+msgid "The key \"%key:1\" is not a boolean."
+msgstr "La clâf \"%key:1\" no je un boolean."
+
+#: common/errors.cpp:187
+msgid "The key \"%key:1\" is not a list."
+msgstr "La clâf \"%key:1\" no je une liste."
+
+#: common/errors.cpp:195
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
+msgstr "La clâf \"%key:1\" no vûl nissun parametri cuant che si met denant un \"reset-\"."
+
+#: common/errors.cpp:203
+msgid "The key \"%key:1\" does not take any parameters when prefixed by an \"enable-\"."
+msgstr "La clâf \"%key:1\" no vûl nissun parametri cuant che si met denant un \"enable-\"."
+
+#: common/errors.cpp:211
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
+msgstr "La clâf \"%key:1\" no vûl nissun parametri cuant che si met denant un \"dont-\" o un \"disable-\"."
+
+#: common/errors.cpp:219
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
+msgstr "La clâf \"%key:1\" no vûl nissun parametri cuant che si met denant un \"clear-\"."
+
+#: common/errors.cpp:235
+#, c-format
+msgid "The language \"%lang:1\" is not known."
+msgstr "La lenghe \"%lang:1\" no je cognossude."
+
+#: common/errors.cpp:243
+#, c-format
+msgid "The soundslike \"%sl:2\" is not known."
+msgstr "Il foneme \"%sl:2\" nol è cognossût."
+
+#: common/errors.cpp:251
+#, c-format
+msgid "The language \"%lang:1\" is not supported."
+msgstr "La lenghe \"%lang:1\" no je supuartade."
+
+#: common/errors.cpp:259
+#, c-format
+msgid "No word lists can be found for the language \"%lang:1\"."
+msgstr "Nissune liste di peraulis e pues jessi cjatade pe lenghe \"%lang:1\"."
+
+#: common/errors.cpp:267
+#, c-format
+msgid "Expected language \"%lang:1\" but got \"%prev:2\"."
+msgstr "Si spietave la lenghe \"%lang:1\" ma si à vût \"%prev:2\"."
+
+#: common/errors.cpp:283
+#, c-format
+msgid "Affix '%aff:1' is corrupt."
+msgstr ""
+
+#: common/errors.cpp:291
+#, c-format
+msgid "The condition \"%cond:1\" is invalid."
+msgstr "La condizion \"%cond:1\" no je valide."
+
+#: common/errors.cpp:299
+#, c-format
+msgid "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
+msgstr "La condizion \"%cond:1\" no garantìs che \"%strip:2\" al podedi jessi simpri gjavât."
+
+#: common/errors.cpp:307
+#, c-format
+msgid "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
+msgstr "Il file \"%file:1\" nol è tal formât just. Si spietave che il file al fos in \"%exp:2\" e no \"%got:3\"."
+
+#: common/errors.cpp:323
+#, c-format
+msgid "The encoding \"%encod:1\" is not known."
+msgstr "La codifiche \"%encod:1\" no je cognossude."
+
+#: common/errors.cpp:331
+#, c-format
+msgid "The encoding \"%encod:1\" is not supported."
+msgstr "La codifiche \"%encod:1\" no je supuartade."
+
+#: common/errors.cpp:339
+#, c-format
+msgid "The conversion from \"%encod:1\" to \"%encod2:2\" is not supported."
+msgstr "La conversion di \"%encod:1\" a \"%encod2:2\" no je supuartade."
+
+#: common/errors.cpp:379
+#, c-format
+msgid "The string \"%str:1\" is invalid."
+msgstr "La stringhe \"%str:1\" no je valide."
+
+#: common/errors.cpp:387
+msgid "The word \"%word:1\" is invalid."
+msgstr "La peraule \"%word:1\" no je valide."
+
+#: common/errors.cpp:395
+msgid "The affix flag '%aff:1' is invalid for word \"%word:2\"."
+msgstr ""
+
+#: common/errors.cpp:403
+msgid "The affix flag '%aff:1' can not be applied to word \"%word:2\"."
+msgstr ""
+
+#: common/errors.cpp:451
+msgid "not a version number"
+msgstr "no un numar di version"
+
+#: common/errors.cpp:467
+msgid "dlopen returned \"%return:1\"."
+msgstr "dlopen al à tornât \"%return:1\"."
+
+#: common/errors.cpp:475
+#, c-format
+msgid "The file \"%filter:1\" does not contain any filters."
+msgstr "Il file \"%filter:1\" nol conten nissun filtri."
+
+#: common/errors.cpp:483
+#, c-format
+msgid "The filter \"%filter:1\" does not exist."
+msgstr "Il filtri \"%filter:1\" nol esist."
+
+#: common/errors.cpp:491 common/errors.cpp:587
+msgid "Confused by version control."
+msgstr "Confondût dal control di version."
+
+#: common/errors.cpp:499
+msgid "Aspell version does not match filter's requirement."
+msgstr "La version di Aspell no corispuint ai recuisîts dal filtri."
+
+#: common/errors.cpp:507
+msgid "Filter option already exists."
+msgstr "La opzion dal filtri e esist za."
+
+#: common/errors.cpp:515
+msgid "Use option modifiers only within named option."
+msgstr ""
+
+#: common/errors.cpp:523
+msgid "Option modifier unknown."
+msgstr ""
+
+#: common/errors.cpp:531
+msgid "Error setting filter description."
+msgstr "Erôr tal stabilî la descrizion dal filtri."
+
+#: common/errors.cpp:547
+msgid "Empty option specifier."
+msgstr ""
+
+#: common/errors.cpp:555
+#, c-format
+msgid "Option \"%option:1\" possibly specified prior to filter."
+msgstr ""
+
+#: common/errors.cpp:563
+msgid "Unknown mode description key \"%key:1\"."
+msgstr ""
+
+#: common/errors.cpp:571
+#, c-format
+msgid "Expecting \"%modekey:1\" key."
+msgstr ""
+
+#: common/errors.cpp:579
+msgid "Version specifier missing key: \"aspell\"."
+msgstr ""
+
+#: common/errors.cpp:595
+msgid "Aspell version does not match mode's requirement."
+msgstr "La version di Aspell no corispuint ai recuisîts de modalitât."
+
+#: common/errors.cpp:603
+msgid "Missing magic mode expression."
+msgstr ""
+
+#: common/errors.cpp:611
+#, c-format
+msgid "Empty extension at char %char:1."
+msgstr ""
+
+#: common/errors.cpp:619
+#, c-format
+msgid "\"%mode:1\" error"
+msgstr "erôr \"%mode:1\""
+
+#: common/errors.cpp:627
+#, c-format
+msgid "Unknown mode: \"%mode:1\"."
+msgstr "Modalitât no cognossude: \"%mode:1\"."
+
+#: common/errors.cpp:635
+#, c-format
+msgid "\"%mode:1\" error while extend Aspell modes. (out of memory?)"
+msgstr ""
+
+#: common/errors.cpp:651
+#, c-format
+msgid "\"%mode:1\": no start for magic search given for magic \"%magic:2\"."
+msgstr ""
+
+#: common/errors.cpp:659
+#, c-format
+msgid "\"%mode:1\": no range for magic search given for magic \"%magic:2\"."
+msgstr ""
+
+#: common/errors.cpp:667
+#, c-format
+msgid "\"%mode:1\": no magic expression available for magic \"%magic:2\"."
+msgstr ""
+
+#: common/errors.cpp:675
+msgid "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
+msgstr ""
+
+#: common/errors.cpp:691
+#, c-format
+msgid "\"%expression:1\" is not a valid regular expression."
+msgstr ""
+
+#: common/posib_err.cpp:100
+msgid "Unhandled Error: "
+msgstr "Erôr no gjestît: "
+
+#: prog/aspell.cpp:98
+#, c-format
+msgid "Error: %s\n"
+msgstr "Erôr: %s\n"
+
+#: prog/aspell.cpp:103
+msgid "Error: "
+msgstr "Erôr: "
+
+#: prog/aspell.cpp:204
+msgid "enter Email mode."
+msgstr "jentre te modalitât E-mail."
+
+#: prog/aspell.cpp:205
+msgid "enter HTML mode."
+msgstr "jentre te modalitât HTML."
+
+#: prog/aspell.cpp:206
+msgid "enter TeX mode."
+msgstr "jentre te modalitât TeX."
+
+#: prog/aspell.cpp:207
+msgid "enter Nroff mode."
+msgstr "jentre te modalitât Nroff."
+
+#: prog/aspell.cpp:313
+#, c-format
+msgid "Invalid Option: %s"
+msgstr "Opzion no valide: %s"
+
+#: prog/aspell.cpp:320
+msgid " does not take any parameters."
+msgstr " nol cjape nissun parametri."
+
+#: prog/aspell.cpp:333 prog/aspell.cpp:393
+#, c-format
+msgid "You must specify a parameter for \"%s\"."
+msgstr "Si scugne specificâ un parametri par \"%s\"."
+
+#: prog/aspell.cpp:382
+msgid "You must specify an action"
+msgstr "Si scugne specificâ une azion"
+
+#: prog/aspell.cpp:390 prog/aspell.cpp:453 prog/aspell.cpp:475
+#, c-format
+msgid "Unknown Action: %s"
+msgstr "Azion no cognossude: %s"
+
+#: prog/aspell.cpp:396
+#, c-format
+msgid "Error: You must specify at least %d parameters for \"%s\".\n"
+msgstr "Erôr: Si scugne specificâ almancul %d parametris par \"%s\".\n"
+
+#: prog/aspell.cpp:638
+msgid "Invalid Input"
+msgstr "Input no valit"
+
+#: prog/aspell.cpp:711
+#, c-format
+msgid "WARNING: Unable to enter Nroff mode: %s\n"
+msgstr "ATENZION: impussibil jentrâ in modalitât Nroff: %s\n"
+
+#: prog/aspell.cpp:732
+msgid "Time to load word list: "
+msgstr ""
+
+#: prog/aspell.cpp:930
+#, c-format
+msgid "Suggestion Time: %f\n"
+msgstr ""
+
+#: prog/aspell.cpp:973
+msgid "You must specify a file name."
+msgstr "Si scugne specificâ un non di file."
+
+#: prog/aspell.cpp:976
+msgid "Only one file name may be specified."
+msgstr "Dome un non di file al pues jessi specificât."
+
+#: prog/aspell.cpp:986
+#, c-format
+msgid "Could not open the file \"%s\" for reading"
+msgstr "Impussibil vierzi il file \"%s\" pe leture"
+
+#: prog/aspell.cpp:999
+#, c-format
+msgid "Invalid keymapping: %s"
+msgstr ""
+
+#: prog/aspell.cpp:1014
+#, c-format
+msgid "\"%s\" is not a regular file"
+msgstr ""
+
+#: prog/aspell.cpp:1025
+#, c-format
+msgid "Could not open the file \"%s\" for writing. File not saved."
+msgstr "Impussibil vierzi il file \"%s\" pe scriture. File no salvât."
+
+#: prog/aspell.cpp:1038
+msgid "Ignore"
+msgstr "Ignore"
+
+#: prog/aspell.cpp:1039
+msgid "Ignore all"
+msgstr "Ignore dut"
+
+#: prog/aspell.cpp:1040
+msgid "Replace"
+msgstr "Sostituìs"
+
+#: prog/aspell.cpp:1041
+msgid "Replace all"
+msgstr "Sostituìs dut"
+
+#: prog/aspell.cpp:1042
+msgid "Add"
+msgstr "Zonte"
+
+#: prog/aspell.cpp:1043
+msgid "Add Lower"
+msgstr ""
+
+#: prog/aspell.cpp:1044
+msgid "Abort"
+msgstr "Interomp"
+
+#: prog/aspell.cpp:1045
+msgid "Exit"
+msgstr "Jes"
+
+#: prog/aspell.cpp:1121
+msgid "Are you sure you want to abort (y/n)? "
+msgstr "Sigûrs di interompi? y(sì)/n(no) "
+
+#. TRANSLATORS: The user may input any of these characters to say "yes".
+#. MUST ONLY CONSIST OF ASCII CHARACTERS.
+#: prog/aspell.cpp:1125
+msgid "Yy"
+msgstr "Ss"
+
+#: prog/aspell.cpp:1153
+msgid "With: "
+msgstr "Cun: "
+
+#: prog/aspell.cpp:1170
+msgid "Sorry that is an invalid choice!"
+msgstr "Mi displâs chê no je une sielte valide!"
+
+#: prog/aspell.cpp:1391
+msgid "Sorry \"filter\" is currently unimplemented.\n"
+msgstr ""
+
+#: prog/aspell.cpp:1525
+msgid "Can't merge a master word list yet. Sorry."
+msgstr ""
+
+#: prog/aspell.cpp:1549
+msgid "Sorry \"create/merge personal\" is currently unimplemented.\n"
+msgstr ""
+
+#: prog/aspell.cpp:1558 prog/aspell.cpp:1614
+#, c-format
+msgid "Sorry I won't overwrite \"%s\""
+msgstr "Mi displâs, no sorescrivarai \"%s\""
+
+#: prog/aspell.cpp:1605
+msgid "Sorry \"create/merge repl\" is currently unimplemented.\n"
+msgstr ""
+
+#: prog/aspell.cpp:1877
+#, c-format
+msgid "\"%s\" is not a valid flag for the \"munch-list\" command."
+msgstr ""
+
+#. TRANSLATORS: These should all be formated to fit in 80 column or
+#. less
+#: prog/aspell.cpp:2804
+msgid "Usage: aspell [options] <command>"
+msgstr "Ûs: aspell [opzions] <comant>"
+
+#: prog/aspell.cpp:2805
+msgid "<command> is one of:"
+msgstr "<comant> al è un tra:"
+
+#: prog/aspell.cpp:2806
+msgid " -?|usage display a brief usage message"
+msgstr ""
+
+#: prog/aspell.cpp:2807
+msgid " help display a detailed help message"
+msgstr ""
+
+#: prog/aspell.cpp:2808
+msgid " -c|check <file> to check a file"
+msgstr ""
+
+#: prog/aspell.cpp:2809
+msgid " -a|pipe \"ispell -a\" compatibility mode"
+msgstr ""
+
+#: prog/aspell.cpp:2810
+msgid " [dump] config dumps the current configuration to stdout"
+msgstr ""
+
+#: prog/aspell.cpp:2811
+msgid " config <key> prints the current value of an option"
+msgstr ""
+
+#: prog/aspell.cpp:2812
+msgid " [dump] dicts | filters | modes"
+msgstr ""
+
+#: prog/aspell.cpp:2813
+msgid " lists available dictionaries / filters / filter modes"
+msgstr ""
+
+#: prog/aspell.cpp:2814
+msgid "[options] is any of the following:"
+msgstr ""
+
+#: prog/aspell.cpp:2827
+msgid " list produce a list of misspelled words from standard input"
+msgstr ""
+
+#: prog/aspell.cpp:2830
+msgid " soundslike returns the sounds like equivalent for each word entered"
+msgstr ""
+
+#: prog/aspell.cpp:2831
+msgid " munch generate possible root words and affixes"
+msgstr ""
+
+#: prog/aspell.cpp:2832
+msgid " expand [1-4] expands affix flags"
+msgstr ""
+
+#: prog/aspell.cpp:2833
+msgid " clean [strict] cleans a word list so that every line is a valid word"
+msgstr ""
+
+#: prog/aspell.cpp:2835
+msgid " -v|version prints a version line"
+msgstr ""
+
+#: prog/aspell.cpp:2836
+msgid " munch-list [simple] [single|multi] [keep]"
+msgstr ""
+
+#: prog/aspell.cpp:2837
+msgid " reduce the size of a word list via affix compression"
+msgstr ""
+
+#: prog/aspell.cpp:2838
+msgid " conv <from> <to> [<norm-form>]"
+msgstr ""
+
+#: prog/aspell.cpp:2839
+msgid " converts from one encoding to another"
+msgstr ""
+
+#: prog/aspell.cpp:2840
+msgid " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
+msgstr ""
+
+#: prog/aspell.cpp:2841
+msgid " perform Unicode normalization"
+msgstr ""
+
+#: prog/aspell.cpp:2844
+msgid " dump|create|merge master|personal|repl [<name>]"
+msgstr ""
+
+#: prog/aspell.cpp:2845
+msgid " dumps, creates or merges a master, personal, or replacement dictionary."
+msgstr ""
+
+#. TRANSLATORS: "none", "internal" and "strict" are literal values
+#. and should not be translated.
+#: prog/aspell.cpp:2849
+msgid " <norm-form> normalization form to use, either none, internal, or strict"
+msgstr ""
+
+#: prog/aspell.cpp:2859
+#, c-format
+msgid ""
+"\n"
+"Aspell %s. Copyright 2000-2011 by Kevin Atkinson.\n"
+"\n"
+msgstr ""
+"\n"
+"Aspell %s. Copyright 2000-2011 di Kevin Atkinson.\n"
+"\n"
+
+#: prog/aspell.cpp:2893
+msgid ""
+"Available Dictionaries:\n"
+" Dictionaries can be selected directly via the \"-d\" or \"master\"\n"
+" option. They can also be selected indirectly via the \"lang\",\n"
+" \"variety\", and \"size\" options.\n"
+msgstr ""
+
+#: prog/aspell.cpp:2914
+msgid ""
+"Available Filters (and associated options):\n"
+" Filters can be added or removed via the \"filter\" option.\n"
+msgstr ""
+
+#: prog/aspell.cpp:2921
+#, c-format
+msgid ""
+"\n"
+" %s filter: %s\n"
+msgstr ""
+"\n"
+" %s filter: %s\n"
+
+#. TRANSLATORS: This should be formated to fit in 80 column or less
+#: prog/aspell.cpp:2938
+msgid ""
+"Available Filter Modes:\n"
+" Filter Modes are reconfigured combinations of filters optimized for\n"
+" files of a specific type. A mode is selected via the \"mode\" option.\n"
+" This will happen implicitly if Aspell is able to identify the file\n"
+" type from the extension, and possibility the contents, of the file.\n"
+msgstr ""
+
+#: prog/check_funs.cpp:287
+msgid "Error: Stdin not a terminal."
+msgstr ""
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:774
+msgid "Enter"
+msgstr "Jentre"
+
+#: prog/check_funs.cpp:776
+msgid "Accept Changes"
+msgstr "Acete modifichis"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:779
+msgid "Backspace"
+msgstr "CessâIndaûr"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:781
+msgid "Control-H"
+msgstr "Control-H"
+
+#: prog/check_funs.cpp:782
+msgid "Delete the previous character"
+msgstr "Scancele il caratar precedent"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:785
+msgid "Left"
+msgstr "Çampe"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:787
+msgid "Control-B"
+msgstr "Control-B"
+
+#: prog/check_funs.cpp:788
+msgid "Move Back one space"
+msgstr "Torne indaûr di un spazi"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:791
+msgid "Right"
+msgstr "Diestre"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:793
+msgid "Control-F"
+msgstr "Control-F"
+
+#: prog/check_funs.cpp:794
+msgid "Move Forward one space"
+msgstr "Va indenant di un spazi"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:797
+msgid "Home"
+msgstr "Inizi"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:799
+msgid "Control-A"
+msgstr "Control-A"
+
+#: prog/check_funs.cpp:800
+msgid "Move to the beginning of the line"
+msgstr "Va al inizi de rie"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:803
+msgid "End"
+msgstr "Fin"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:805
+msgid "Control-E"
+msgstr "Control-E"
+
+#: prog/check_funs.cpp:806
+msgid "Move to the end of the line"
+msgstr "Va ae fin de rie"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:809
+msgid "Delete"
+msgstr "Canc"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:811
+msgid "Control-D"
+msgstr "Control-D"
+
+#: prog/check_funs.cpp:812
+msgid "Delete the next character"
+msgstr "Scancele il prossim caratar"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:816
+msgid "Control-K"
+msgstr "Control-K"
+
+#: prog/check_funs.cpp:817
+msgid "Kill all characters to the EOL"
+msgstr "Scancele ducj i caratars fin ae fin de rie"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:821
+msgid "Control-C"
+msgstr "Control-C"
+
+#: prog/check_funs.cpp:822
+msgid "Abort This Operation"
+msgstr "Bandone cheste operazion"
+
+#: modules/speller/default/language.cpp:103
+msgid "This is probably because: "
+msgstr "Chest forsit al è parcè che: "
+
+#: modules/speller/default/language.cpp:110
+msgid "The required field \"name\" is missing."
+msgstr "Il cjamp necessari \"name\" al mancje."
+
+#: modules/speller/default/language.cpp:488
+msgid "Empty string."
+msgstr "Stringhe vueide."
+
+#: modules/speller/default/language.cpp:492
+#, c-format
+msgid "The character '%s' (U+%02X) may not appear at the beginning of a word."
+msgstr "Il caratar '%s' (U+%02X) al podarès no vignî fûr al inizi di une peraule."
+
+#: modules/speller/default/language.cpp:494
+#: modules/speller/default/language.cpp:503
+#, c-format
+msgid "The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgstr "Il caratar '%s' (U+%02X) al scugne vê daûr un caratar alfabetic."
+
+#: modules/speller/default/language.cpp:496
+msgid "Does not contain any alphabetic characters."
+msgstr "Nol conten nissun caratar alfabetic."
+
+#: modules/speller/default/language.cpp:501
+#, c-format
+msgid "The character '%s' (U+%02X) may not appear in the middle of a word."
+msgstr "Il caratar '%s' (U+%02X) al podarès no vignî fûr tal mieç di une peraule."
+
+#: modules/speller/default/language.cpp:508
+msgid "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgstr "Il caratar '\\r' (U+0D) al podarès no vignî fûr ae fin di une peraule. Chest forsit al significheche il file al sta doprant il EOL di MS-DOS invezit che chel di Unix."
+
+#: modules/speller/default/language.cpp:511
+#, c-format
+msgid "The character '%s' (U+%02X) may not appear at the end of a word."
+msgstr "Il caratar '%s' (U+%02X) al podarès no vignî fûr ae fin di une peraule."
+
+#: modules/speller/default/language.cpp:543
+#, c-format
+msgid "Warning: Removing invalid affix '%s' from word %s.\n"
+msgstr ""
+
+#: modules/speller/default/language.cpp:544
+#, c-format
+msgid "Warning: Removing inapplicable affix '%s' from word %s.\n"
+msgstr ""
+
+#: modules/speller/default/language.cpp:675
+#, c-format
+msgid "Warning: %s Skipping string.\n"
+msgstr "Avertiment: %s si salte la stringhe.\n"
+
+#: modules/speller/default/language.cpp:733
+msgid "The total length is larger than 240 characters."
+msgstr "La lungjece totâl e je plui grande di 240 caratars."
+
+#: modules/speller/default/language.cpp:737
+#, c-format
+msgid "Warning: %s Skipping word.\n"
+msgstr "Avertiment: %s si salte la peraule.\n"
+
+#: modules/speller/default/affix.cpp:426
+msgid "Possibly incorrect count."
+msgstr "Probabil cont inesat."
+
+#: modules/speller/default/readonly_ws.cpp:362
+msgid "Incompatible hash function."
+msgstr "Funzion hash no compatibile."
+
+#: modules/speller/default/readonly_ws.cpp:440
+msgid "Wrong endian order."
+msgstr "Ordin endian sbaliât."
+
+#: modules/speller/default/readonly_ws.cpp:463
+msgid "Wrong soundslike."
+msgstr "Foneme sbaliât."
+
+#: modules/speller/default/readonly_ws.cpp:469
+msgid "Wrong soundslike version."
+msgstr "Version dal foneme sbaliade."
+
+#: modules/speller/default/readonly_ws.cpp:934
+msgid "Affix flags found in word but no affix file given."
+msgstr ""
+
+#: modules/speller/default/readonly_ws.cpp:972
+msgid "The total word length, with soundslike data, is larger than 240 characters."
+msgstr "La lungjece totâl de peraule, cui dâts foneme, e je plui grande di 240 caratars."
+
+#: modules/speller/default/multi_ws.cpp:58
+msgid "There must be at least one \"add\" line."
+msgstr "E scugne jessi almancul une rie \"add\"."
+
+#: modules/speller/default/suggest.cpp:1403
+msgid "one of ultra, fast, normal, slow, or bad-spellers"
+msgstr ""
+
+#: modules/speller/default/data.cpp:404
+msgid "is not one of the allowed types"
+msgstr ""
+
+#: modules/speller/default/speller_impl.cpp:241
+msgid "The personal word list is unavailable."
+msgstr ""
+
+#: modules/speller/default/speller_impl.cpp:248
+msgid "The session word list is unavailable."
+msgstr ""
+
+#: modules/speller/default/speller_impl.cpp:255
+msgid "The main word list is unavailable."
+msgstr ""
+
+#: modules/filter/tex.cpp:255 modules/filter/tex.cpp:262
+msgid "a string of 'o','O','p',or 'P'"
+msgstr "une stringhe di 'o','O','p' o 'P'"
+
+#. TRANSLATORS: Like the strings in config.cpp, all strings in *-filter.opt
+#. should be under 50 characters, begin with a lower case character and
+#. not include any trailing punctuation marks.
+#: modules/filter/context-filter.info:7
+msgid "experimental filter for hiding delimited contexts"
+msgstr ""
+
+#: modules/filter/context-filter.info:13
+msgid "context delimiters (separated by spaces)"
+msgstr ""
+
+#: modules/filter/context-filter.info:21
+msgid "swaps visible and invisible text"
+msgstr ""
+
+#: modules/filter/email-filter.info:7
+msgid "filter for skipping quoted text in email messages"
+msgstr ""
+
+#: modules/filter/email-filter.info:13
+msgid "email quote characters"
+msgstr ""
+
+#: modules/filter/email-filter.info:21
+msgid "num chars that can appear before the quote char"
+msgstr ""
+
+#: modules/filter/html-filter.info:9
+msgid "filter for dealing with HTML documents"
+msgstr ""
+
+#: modules/filter/html-filter.info:15
+msgid "HTML attributes to always check"
+msgstr ""
+
+#: modules/filter/html-filter.info:21
+msgid "HTML tags to always skip the contents of"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:8
+#, fuzzy
+#| msgid "filter for dealing with Texinfo documents"
+msgid "filter for Markdown/CommonMark documents"
+msgstr "filtri par vê a ce fâ cui documents Texinfo"
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
+msgstr ""
+
+#: modules/filter/nroff-filter.info:7
+msgid "filter for dealing with Nroff documents"
+msgstr ""
+
+#: modules/filter/sgml-filter.info:9
+msgid "filter for dealing with generic SGML/XML documents"
+msgstr ""
+
+#: modules/filter/sgml-filter.info:15
+msgid "SGML attributes to always check"
+msgstr ""
+
+#: modules/filter/sgml-filter.info:20
+msgid "SGML tags to always skip the contents of"
+msgstr ""
+
+#: modules/filter/tex-filter.info:7
+msgid "filter for dealing with TeX/LaTeX documents"
+msgstr ""
+
+#: modules/filter/tex-filter.info:15
+msgid "check TeX comments"
+msgstr "controle coments TeX"
+
+#: modules/filter/tex-filter.info:21
+msgid "TeX commands"
+msgstr "comants TeX"
+
+#: modules/filter/texinfo-filter.info:7
+msgid "filter for dealing with Texinfo documents"
+msgstr "filtri par vê a ce fâ cui documents Texinfo"
+
+#: modules/filter/texinfo-filter.info:13
+msgid "Texinfo commands to ignore the parameters of"
+msgstr "comants Texinfo par ignorâ i parametris di"
+
+#: modules/filter/texinfo-filter.info:41
+msgid "Texinfo environments to ignore"
+msgstr "ambients Texinfo di ignorâ"
+
+#: modules/filter/url-filter.info:7
+msgid "filter to skip URL like constructs"
+msgstr ""
+
+#: modules/filter/modes/ccpp.amf:8
+msgid "mode for checking C++ comments and string literals"
+msgstr ""
+
+#: modules/filter/modes/comment.amf:5
+msgid "mode to check any lines starting with a #"
+msgstr "modalitât par controlâ dutis lis riis che a tachin cuntun #"
+
+#: modules/filter/modes/email.amf:5
+msgid "mode for skipping quoted text in email messages"
+msgstr ""
+
+#: modules/filter/modes/html.amf:10
+msgid "mode for checking HTML documents"
+msgstr "modalitât par controlâ i documents HTML"
+
+#: modules/filter/modes/markdown.amf:10
+#, fuzzy
+#| msgid "mode for checking Nroff documents"
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr "modalitât par controlâ i documents Nroff"
+
+#: modules/filter/modes/none.amf:5
+msgid "mode to disable all filters"
+msgstr "modalitât par disabilitâ ducj i filtris"
+
+#: modules/filter/modes/nroff.amf:7
+msgid "mode for checking Nroff documents"
+msgstr "modalitât par controlâ i documents Nroff"
+
+#: modules/filter/modes/perl.amf:8
+msgid "mode for checking Perl comments and string literals"
+msgstr ""
+
+#: modules/filter/modes/sgml.amf:8
+msgid "mode for checking generic SGML/XML documents"
+msgstr "modalitât par controlâ i documents SGML/XML gjenerics"
+
+#: modules/filter/modes/tex.amf:7
+msgid "mode for checking TeX/LaTeX documents"
+msgstr "modalitât par controlâ i documents TeX/LaTeX"
+
+#: modules/filter/modes/texinfo.amf:7
+msgid "mode for checking Texinfo documents"
+msgstr "modalitât par controlâ i documents Texinfo"
+
+#: modules/filter/modes/url.amf:5
+msgid "mode to skip URL like constructs (default mode)"
+msgstr ""
# Copyright (C) 2003 Kevin Atkinson
# This file is distributed under the same license as the aspell package.
# Kevin Patrick Scannell <scannell@SLU.EDU>, 2003, 2004, 2005, 2006.
-#
msgid ""
msgstr ""
-"Project-Id-Version: aspell 0.60.5\n"
+"Project-Id-Version: aspell 0.60.7\n"
"Report-Msgid-Bugs-To: kevina@gnu.org\n"
-"POT-Creation-Date: 2011-07-04 03:25-0600\n"
-"PO-Revision-Date: 2007-01-31 06:24-05:00\n"
+"POT-Creation-Date: 2019-07-29 02:38-0400\n"
+"PO-Revision-Date: 2013-05-09 06:24-05:00\n"
"Last-Translator: Kevin Patrick Scannell <kscanne@gmail.com>\n"
"Language-Team: Irish <gaeilge-gnulinux@lists.sourceforge.net>\n"
+"Language: ga\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
#: common/info.cpp:232
msgid "a number between 0 and 1"
"# Scagaire: %s\n"
"# %s\n"
"#\n"
-"# cumraithe mar leanas:\n"
+"# cumraithe mar a leanas:\n"
"\n"
#: common/config.cpp:1286
msgid "ASPELL_CONF env var"
msgstr "ASPELL_CONF athróg thimp"
-#. TRANSLATORS: The remaing strings in config.cpp should be kept
+#. TRANSLATORS: The remaining strings in config.cpp should be kept
#. under 50 characters, begin with a lower case character and not
#. include any trailing punctuation marks.
#: common/config.cpp:1360
#: common/config.cpp:1371
msgid "encoding to expect data to be in"
-msgstr "an t-ionchódú lena bhfuiltear ag súil"
+msgstr "an t-ionchódú a bhfuiltear ag súil leis"
#: common/config.cpp:1373
msgid "add or removes a filter"
-msgstr "cuir scagaire ar obair, nó cuir as feidhm"
+msgstr "cuir scagaire ar siúl, nó cuir as feidhm é"
#: common/config.cpp:1375
msgid "path(s) aspell looks for filters"
#: common/config.cpp:1383
msgid "location for personal files"
-msgstr "suíomh chomhaid phearsanta"
+msgstr "suíomh na gcomhad pearsanta"
#: common/config.cpp:1385
msgid "ignore words <= n chars"
#. TRANSLATORS: It is OK if this is longer than 50 chars
#: common/config.cpp:1388
msgid "ignore accents when checking words -- CURRENTLY IGNORED"
-msgstr "déan neamhshuim ar síntí fada -- NACH IN ÚSÁID FAOI LÁTHAIR"
+msgstr "déan neamhshuim ar shíntí fada -- NACH IN ÚSÁID FAOI LÁTHAIR"
#: common/config.cpp:1390
msgid "ignore case when checking words"
-msgstr "déan neamhshuim ar ceannlitreacha/litreacha beaga"
+msgstr "déan neamhshuim ar cheannlitreacha/litreacha beaga"
#: common/config.cpp:1392
msgid "ignore commands to store replacement pairs"
#: common/config.cpp:1404
msgid "base name of the main dictionary to use"
-msgstr "bunainm an fhoclóra phríomha"
+msgstr "bunainm an phríomhfhoclóra"
#: common/config.cpp:1408
msgid "set module name"
-msgstr "ainmnigh modúl"
+msgstr "socraigh ainm an mhodúil"
#: common/config.cpp:1410
msgid "search order for modules"
#: common/config.cpp:1414
msgid "Unicode normalization required for current lang"
-msgstr "Tá gá le normalú Unicode leis an dteanga seo"
+msgstr "Tá gá le normalú Unicode leis an teanga seo"
#. TRANSLATORS: the values after the ':' are literal
#. values and should not be translated.
#: common/config.cpp:1420
msgid "avoid lossy conversions when normalization"
-msgstr "seachain tiontuithe neamhfhoirfe le linn normalú"
+msgstr "seachain tiontuithe caillteacha le linn normalaithe"
#: common/config.cpp:1422
msgid "personal configuration file"
#: common/config.cpp:1425
msgid "personal dictionary file name"
-msgstr "ainm comhaid d'fhoclóir pearsanta"
+msgstr "ainm an fhoclóra phearsanta"
#: common/config.cpp:1428
msgid "prefix directory"
#: common/config.cpp:1430
msgid "replacements list file name"
-msgstr "ainm comhaid liosta athfhocal"
+msgstr "ainm an liosta athfhocal"
#: common/config.cpp:1433
msgid "consider run-together words legal"
#: common/config.cpp:1437
msgid "minimal length of interior words"
-msgstr "fad íosta d'fhocail istigh i bhfocal comhtháite"
+msgstr "fad íosta d'fhocail taobh istigh d'fhocail chomhtháite"
#: common/config.cpp:1439
msgid "save replacement pairs on save all"
#: common/config.cpp:1441
msgid "set the prefix based on executable location"
-msgstr "socraigh réimír de réir suíomh an chomhaid inrite"
+msgstr "socraigh an réimír bunaithe ar shuíomh an chomhaid inrite"
#: common/config.cpp:1443
msgid "size of the word list"
#: common/config.cpp:1445
msgid "no longer used"
-msgstr "ní úsáidtear a thuilleadh"
+msgstr "ní úsáidtear é seo a thuilleadh"
#: common/config.cpp:1447
msgid "suggestion mode"
#. TRANSLATORS: It is OK if this is longer than 50 chars
#: common/config.cpp:1475
msgid "indicator for affix flags in word lists -- CURRENTLY IGNORED"
-msgstr ""
-"táscaire do bhratacha foircinn i liostaí focal -- NACH IN ÚSÁID FAOI LÁTHAIR"
+msgstr "táscaire do bhratacha foircinn i liostaí focal -- NACH IN ÚSÁID FAOI LÁTHAIR"
#: common/config.cpp:1477
msgid "use affix compression when creating dictionaries"
msgid "time load time and suggest time in pipe mode"
msgstr "tomhais fad ama luchtaithe/molta i mód phíopa"
-#: common/convert.cpp:303 common/convert.cpp:429
+#: common/convert.cpp:303 common/convert.cpp:497
#, c-format
-msgid ""
-"This could also mean that the file \"%s\" could not be opened for reading or "
-"does not exist."
-msgstr ""
-"Is féidir fosta nach bhfuil an comhad \"%s\" ar fáil le haghaidh léamh, nó "
-"níl sé ann ar chor ar bith."
+msgid "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
+msgstr "Is féidir fosta nach bhfuil an comhad \"%s\" ar fáil le haghaidh léamh, nó níl sé ann ar chor ar bith."
-#: common/convert.cpp:552 common/convert.cpp:659 common/convert.cpp:705
+#: common/convert.cpp:582 common/convert.cpp:689 common/convert.cpp:735
#, c-format
msgid "The Unicode code point U+%04X is unsupported."
-msgstr "Ní ghlactar leis an gcarachtar Unicode U+%04X."
+msgstr "Ní ghlactar le carachtar Unicode U+%04X."
-#: common/convert.cpp:829
+#: common/convert.cpp:859
#, c-format
msgid "Invalid UTF-8 sequence at position %ld."
-msgstr "Sraith UTF-8 neamhbhailí san ionad %ld."
+msgstr "Sraith UTF-8 neamhbhailí ag ionad %ld."
#: common/errors.cpp:27
msgid "Operation Not Supported: %what:1"
-msgstr "Níl an t-oibriú seo ar fáil: %what:1"
+msgstr "Níl an oibríocht seo ar fáil: %what:1"
#: common/errors.cpp:43
msgid "The method \"%what:1\" is unimplemented in \"%where:2\"."
-msgstr "Níl an fheidhm \"%what:1\" i ngníomh i \"%where:2\"."
+msgstr "Níl an fheidhm \"%what:1\" ar fáil i \"%where:2\"."
#: common/errors.cpp:51
#, c-format
#: common/errors.cpp:59
#, c-format
msgid "The file \"%file:1\" can not be opened"
-msgstr "Ní féidir an comhad \"%file:1\" a oscailt"
+msgstr "Ní féidir comhad \"%file:1\" a oscailt"
#: common/errors.cpp:67
#, c-format
msgid "The file \"%file:1\" can not be opened for reading."
-msgstr "Ní féidir an comhad \"%file:1\" a oscailt chun é a léamh."
+msgstr "Ní féidir comhad \"%file:1\" a oscailt chun é a léamh."
#: common/errors.cpp:75
#, c-format
msgid "The file \"%file:1\" can not be opened for writing."
-msgstr "Ní féidir an comhad \"%file:1\" a oscailt chun scríobh air."
+msgstr "Ní féidir comhad \"%file:1\" a oscailt chun scríobh air."
#: common/errors.cpp:83
#, c-format
#: common/errors.cpp:91
#, c-format
msgid "The file \"%file:1\" is not in the proper format."
-msgstr "Níl an comhad \"%file:1\" san fhormáid chuí."
+msgstr "Níl comhad \"%file:1\" san fhormáid oiriúnach."
#: common/errors.cpp:107
#, c-format
msgid "The directory \"%dir:1\" can not be opened for reading."
-msgstr "Ní féidir an chomhadlann \"%dir:1\" a oscailt chun é a léamh."
+msgstr "Ní féidir comhadlann \"%dir:1\" a oscailt chun é a léamh."
#: common/errors.cpp:123
msgid "The key \"%key:1\" is unknown."
msgstr "Ní ghlactar le heochair \"%key:1\" agus is neamhbhailí í mar sin."
#: common/errors.cpp:147
-msgid ""
-"The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%"
-"key:1\"."
-msgstr ""
-"Ní ghlactar leis an luach \"%value:2\"; mar sin, is neamhbhailí í don "
-"eochair \"%.key:1\"."
+msgid "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
+msgstr "Ní ghlactar leis an luach \"%value:2\"; mar sin, is neamhbhailí í don eochair \"%.key:1\"."
#: common/errors.cpp:163
msgid "The key \"%key:1\" is not a string."
-msgstr "Níl eochair \"%key:1\" ina theaghrán."
+msgstr "Ní teaghrán é an eochair \"%key:1\"."
#: common/errors.cpp:171
msgid "The key \"%key:1\" is not an integer."
-msgstr "Níl eochair \"%key:1\" ina shlánuimhir."
+msgstr "Ní slánuimhir é an eochair \"%key:1\"."
#: common/errors.cpp:179
msgid "The key \"%key:1\" is not a boolean."
-msgstr "Níl eochair \"%key:1\" ina hathróg Boole."
+msgstr "Ní athróg Boole é an eochair \"%key:1\"."
#: common/errors.cpp:187
msgid "The key \"%key:1\" is not a list."
-msgstr "Níl eochair \"%key:1\" ina liosta."
+msgstr "Ní liosta é an eochair \"%key:1\"."
#: common/errors.cpp:195
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"reset-"
-"\"."
-msgstr ""
-"Ní ghlacann eochair \"%key:1\" le haon pharaiméadar nuair atá réimír \"reset-"
-"\" uirthi."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
+msgstr "Ní ghlacann eochair \"%key:1\" le haon pharaiméadar nuair atá réimír \"reset-\" uirthi."
#: common/errors.cpp:203
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by an \"enable-"
-"\"."
-msgstr ""
-"Ní ghlacann eochair \"%key:1\" le haon pharaiméadar nuair atá réimír "
-"\"enable-\" uirthi."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by an \"enable-\"."
+msgstr "Ní ghlacann eochair \"%key:1\" le haon pharaiméadar nuair atá réimír \"enable-\" uirthi."
#: common/errors.cpp:211
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" "
-"or \"disable-\"."
-msgstr ""
-"Ní ghlacann eochair \"%key:1\" le haon pharaiméadar nuair atá réimír \"dont-"
-"\" nó \"disable-\" uirthi."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
+msgstr "Ní ghlacann eochair \"%key:1\" le haon pharaiméadar nuair atá réimír \"dont-\" nó \"disable-\" uirthi."
#: common/errors.cpp:219
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"clear-"
-"\"."
-msgstr ""
-"Ní ghlacann eochair \"%key:1\" le haon pharaiméadar nuair atá réimír \"clear-"
-"\" uirthi."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
+msgstr "Ní ghlacann eochair \"%key:1\" le haon pharaiméadar nuair atá réimír \"clear-\" uirthi."
#: common/errors.cpp:235
#, c-format
#: common/errors.cpp:283
#, c-format
msgid "Affix '%aff:1' is corrupt."
-msgstr "Tá an foirceann '%aff:1' truaillithe."
+msgstr "Tá foirceann '%aff:1' truaillithe."
#: common/errors.cpp:291
#, c-format
msgid "The condition \"%cond:1\" is invalid."
-msgstr "Tá an coinníoll \"%cond:1\" neamhbhailí."
+msgstr "Tá coinníoll \"%cond:1\" neamhbhailí."
#: common/errors.cpp:299
#, c-format
-msgid ""
-"The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be "
-"stripped."
-msgstr ""
-"Ní ráthaíocht sa choinníoll \"%cond:1\" go bhfuil \"%strip:2\" inscriosta."
+msgid "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
+msgstr "Ní ráthaíocht sa choinníoll \"%cond:1\" go bhfuil \"%strip:2\" inscriosta."
#: common/errors.cpp:307
#, c-format
-msgid ""
-"The file \"%file:1\" is not in the proper format. Expected the file to be in "
-"\"%exp:2\" not \"%got:3\"."
-msgstr ""
-"Níl an comhad \"%file:1\" san fhormáid chuí. Rabhthas ag súil leis an "
-"bhformáid \"%exp:2\", ní \"%got:3\"."
+msgid "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
+msgstr "Níl an comhad \"%file:1\" san fhormáid oiriúnach. Rabhthas ag súil leis an bhformáid \"%exp:2\", ní \"%got:3\"."
#: common/errors.cpp:323
#, c-format
#: common/errors.cpp:395
msgid "The affix flag '%aff:1' is invalid for word \"%word:2\"."
-msgstr ""
-"Tá an bratach fhoircinn '%aff:1' neamhbhailí leis an fhocal \"%word:2\"."
+msgstr "Tá an bratach fhoircinn '%aff:1' neamhbhailí leis an fhocal \"%word:2\"."
#: common/errors.cpp:403
msgid "The affix flag '%aff:1' can not be applied to word \"%word:2\"."
-msgstr ""
-"Ní féidir an bratach fhoircinn '%aff:1' a chur i bhfeidhm ar \"%word:2\"."
+msgstr "Ní féidir an bratach fhoircinn '%aff:1' a chur i bhfeidhm ar \"%word:2\"."
#: common/errors.cpp:451
msgid "not a version number"
#: common/errors.cpp:611
#, c-format
msgid "Empty extension at char %char:1."
-msgstr "Iarmhír folamh ag carachtar %char:1."
+msgstr "Iarmhír fholamh ag carachtar %char:1."
#: common/errors.cpp:619
#, c-format
#: common/errors.cpp:627
#, c-format
msgid "Unknown mode: \"%mode:1\"."
-msgstr "mód anaithnid: \"%mode:1\"."
+msgstr "Mód anaithnid: \"%mode:1\"."
#: common/errors.cpp:635
#, c-format
#: common/errors.cpp:651
#, c-format
msgid "\"%mode:1\": no start for magic search given for magic \"%magic:2\"."
-msgstr ""
-"\"%mode:1\": níl aon tosach ar cuardach draíochta le draíocht \"%magic:2\"."
+msgstr "\"%mode:1\": níl aon tosach ar cuardach draíochta le draíocht \"%magic:2\"."
#: common/errors.cpp:659
#, c-format
msgid "\"%mode:1\": no range for magic search given for magic \"%magic:2\"."
-msgstr ""
-"\"%mode:1\": níl aon raon don chuardach draíochta le draíocht \"%magic:2\"."
+msgstr "\"%mode:1\": níl aon raon don chuardach draíochta le draíocht \"%magic:2\"."
#: common/errors.cpp:667
#, c-format
msgid "\"%mode:1\": no magic expression available for magic \"%magic:2\"."
-msgstr ""
-"\"%mode:1\": níl aon fháil ar slonn draíochta le draíocht \"%magic:2\"."
+msgstr "\"%mode:1\": níl aon fháil ar slonn draíochta le draíocht \"%magic:2\"."
#: common/errors.cpp:675
-msgid ""
-"\"%mode:1\": Magic \"%magic:2\": bad regular expression after location "
-"specifier; regexp reports: \"%regerr:3\"."
-msgstr ""
-"\"%mode:1\": Draíocht \"%magic:2\": slonn ionadaíochta neamhbhailí i ndiaidh "
-"sonraitheoir suímh; teachtaireacht ón regexp: \"%regerr:3\"."
+msgid "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
+msgstr "\"%mode:1\": Draíocht \"%magic:2\": slonn ionadaíochta neamhbhailí i ndiaidh sonraitheoir suímh; teachtaireacht ón regexp: \"%regerr:3\"."
#: common/errors.cpp:691
#, c-format
msgid "Unhandled Error: "
msgstr "Earráid Gan Réiteach: "
-#: prog/aspell.cpp:97
+#: prog/aspell.cpp:98
#, c-format
msgid "Error: %s\n"
msgstr "Earráid: %s\n"
-#: prog/aspell.cpp:102
+#: prog/aspell.cpp:103
msgid "Error: "
msgstr "Earráid: "
-#: prog/aspell.cpp:203
+#: prog/aspell.cpp:204
msgid "enter Email mode."
msgstr "bain úsáid as an mhód R-phoist."
-#: prog/aspell.cpp:204
+#: prog/aspell.cpp:205
msgid "enter HTML mode."
msgstr "bain úsáid as an mhód HTML."
-#: prog/aspell.cpp:205
+#: prog/aspell.cpp:206
msgid "enter TeX mode."
msgstr "bain úsáid as an mhód TeX."
-#: prog/aspell.cpp:206
+#: prog/aspell.cpp:207
msgid "enter Nroff mode."
msgstr "bain úsáid as an mhód Nroff."
-#: prog/aspell.cpp:312
+#: prog/aspell.cpp:313
#, c-format
msgid "Invalid Option: %s"
msgstr "Rogha Neamhbhailí: %s"
-#: prog/aspell.cpp:319
+#: prog/aspell.cpp:320
msgid " does not take any parameters."
msgstr " -- ní ghlactar aon pharaiméadar."
-#: prog/aspell.cpp:332 prog/aspell.cpp:392
+#: prog/aspell.cpp:333 prog/aspell.cpp:393
#, c-format
msgid "You must specify a parameter for \"%s\"."
msgstr "Caithfidh tú paraiméadar a thabhairt do rogha \"%s\"."
-#: prog/aspell.cpp:381
+#: prog/aspell.cpp:382
msgid "You must specify an action"
-msgstr "Caithfidh tú gníomh a thabhairt"
+msgstr "Caithfidh tú gníomh a shonrú"
-#: prog/aspell.cpp:389 prog/aspell.cpp:452 prog/aspell.cpp:474
+#: prog/aspell.cpp:390 prog/aspell.cpp:453 prog/aspell.cpp:475
#, c-format
msgid "Unknown Action: %s"
msgstr "Gníomh Anaithnid: %s"
-#: prog/aspell.cpp:395
+#: prog/aspell.cpp:396
#, c-format
msgid "Error: You must specify at least %d parameters for \"%s\".\n"
-msgstr ""
-"Earráid: Caithfidh tú %d paraiméadar a thabhairt do \"%s\" ar a laghad.\n"
+msgstr "Earráid: Caithfidh tú %d paraiméadar a thabhairt do \"%s\" ar a laghad.\n"
-#: prog/aspell.cpp:637
+#: prog/aspell.cpp:638
msgid "Invalid Input"
msgstr "Ionchur Neamhbhailí"
-#: prog/aspell.cpp:710
+#: prog/aspell.cpp:711
#, c-format
msgid "WARNING: Unable to enter Nroff mode: %s\n"
msgstr "RABHADH: Ní féidir mód Nroff a chur i bhfeidhm: %s\n"
-#: prog/aspell.cpp:731
+#: prog/aspell.cpp:732
msgid "Time to load word list: "
msgstr "Fad ama chun an liosta focal a luchtú: "
-#: prog/aspell.cpp:929
+#: prog/aspell.cpp:930
#, c-format
msgid "Suggestion Time: %f\n"
-msgstr "Fad ama chun na moltaí a ghineadh: %f\n"
+msgstr "Fad ama chun na moltaí a chruthú: %f\n"
-#: prog/aspell.cpp:972
+#: prog/aspell.cpp:973
msgid "You must specify a file name."
-msgstr "Is gá ainm comhaid ar a laghad a thabhairt."
+msgstr "Ní mór duit ainm comhaid a roghnú."
-#: prog/aspell.cpp:975
+#: prog/aspell.cpp:976
msgid "Only one file name may be specified."
-msgstr "Ní cheadaítear ach aon chomhad amháin."
+msgstr "Ní cheadaítear ach comhad amháin."
-#: prog/aspell.cpp:985
+#: prog/aspell.cpp:986
#, c-format
msgid "Could not open the file \"%s\" for reading"
-msgstr "Níorbh fhéidir an comhad \"%s\" a oscailt chun é a léamh"
+msgstr "Níorbh fhéidir comhad \"%s\" a oscailt chun é a léamh"
-#: prog/aspell.cpp:998
+#: prog/aspell.cpp:999
#, c-format
msgid "Invalid keymapping: %s"
msgstr "Eochairmhapáil neamhbhailí: %s"
-#: prog/aspell.cpp:1020
+#: prog/aspell.cpp:1014
+#, fuzzy, c-format
+#| msgid "\"%expression:1\" is not a valid regular expression."
+msgid "\"%s\" is not a regular file"
+msgstr "níl \"%expression:1\" ina slonn ionadaíochta bhailí."
+
+#: prog/aspell.cpp:1025
#, c-format
msgid "Could not open the file \"%s\" for writing. File not saved."
-msgstr ""
-"Níorbh fhéidir an comhad \"%s\" a oscailt chun é a scríobh. Ní shábháladh."
+msgstr "Níorbh fhéidir comhad \"%s\" a oscailt chun é a scríobh. Níor sábháladh é."
-#: prog/aspell.cpp:1033
+#: prog/aspell.cpp:1038
msgid "Ignore"
msgstr "Déan neamhshuim"
-#: prog/aspell.cpp:1034
+#: prog/aspell.cpp:1039
msgid "Ignore all"
msgstr "Déan neamhshuim ar gach"
-#: prog/aspell.cpp:1035
+#: prog/aspell.cpp:1040
msgid "Replace"
msgstr "Ionadaigh"
-#: prog/aspell.cpp:1036
+#: prog/aspell.cpp:1041
msgid "Replace all"
-msgstr "Ionadaigh gach"
+msgstr "Ionadaigh uile"
-#: prog/aspell.cpp:1037
+#: prog/aspell.cpp:1042
msgid "Add"
msgstr "Coinnigh"
-#: prog/aspell.cpp:1038
+#: prog/aspell.cpp:1043
msgid "Add Lower"
msgstr "Coinnigh le litir bheag"
-#: prog/aspell.cpp:1039
+#: prog/aspell.cpp:1044
msgid "Abort"
msgstr "Tobscoir"
-#: prog/aspell.cpp:1040
+#: prog/aspell.cpp:1045
msgid "Exit"
msgstr "Scoir"
-#: prog/aspell.cpp:1116
+#: prog/aspell.cpp:1121
msgid "Are you sure you want to abort (y/n)? "
-msgstr "Ar mhaith leat an clár a thobscor (y/n)? "
+msgstr "An bhfuil tú cinnte gur mhaith leat an clár a thobscor (y/n)? "
#. TRANSLATORS: The user may input any of these characters to say "yes".
#. MUST ONLY CONSIST OF ASCII CHARACTERS.
-#: prog/aspell.cpp:1120
+#: prog/aspell.cpp:1125
msgid "Yy"
-msgstr "YySs"
+msgstr "YySsTt"
-#: prog/aspell.cpp:1148
+#: prog/aspell.cpp:1153
msgid "With: "
msgstr "Le: "
-#: prog/aspell.cpp:1165
+#: prog/aspell.cpp:1170
msgid "Sorry that is an invalid choice!"
msgstr "Tá brón orm; is neamhbhailí an rogha sin!"
-#: prog/aspell.cpp:1386
+#: prog/aspell.cpp:1391
msgid "Sorry \"filter\" is currently unimplemented.\n"
msgstr "Tá brón orm; níl \"filter\" ar fáil faoi láthair.\n"
-#: prog/aspell.cpp:1520
+#: prog/aspell.cpp:1525
msgid "Can't merge a master word list yet. Sorry."
msgstr "Tá brón orm; ní féidir máistirliosta focal a chumasc go fóill."
-#: prog/aspell.cpp:1544
+#: prog/aspell.cpp:1549
msgid "Sorry \"create/merge personal\" is currently unimplemented.\n"
msgstr "Tá brón orm; níl \"create/merge personal\" ar fáil faoi láthair.\n"
-#: prog/aspell.cpp:1553 prog/aspell.cpp:1609
+#: prog/aspell.cpp:1558 prog/aspell.cpp:1614
#, c-format
msgid "Sorry I won't overwrite \"%s\""
msgstr "Tá brón orm; ní féidir an comhad \"%s\" a fhorscríobh"
-#: prog/aspell.cpp:1600
+#: prog/aspell.cpp:1605
msgid "Sorry \"create/merge repl\" is currently unimplemented.\n"
msgstr "Tá brón orm; níl \"create/merge repl\" ar fáil faoi láthair.\n"
-#: prog/aspell.cpp:1872
+#: prog/aspell.cpp:1877
#, c-format
msgid "\"%s\" is not a valid flag for the \"munch-list\" command."
msgstr "ní bailí é \"%s\" mar bhratach le haghaidh \"munch-list\"."
#. TRANSLATORS: These should all be formated to fit in 80 column or
#. less
-#: prog/aspell.cpp:2799
+#: prog/aspell.cpp:2804
msgid "Usage: aspell [options] <command>"
msgstr "Úsáid: aspell [roghanna] <ordú>"
-#: prog/aspell.cpp:2800
+#: prog/aspell.cpp:2805
msgid "<command> is one of:"
msgstr "tá <ordú> ceann de:"
-#: prog/aspell.cpp:2801
+#: prog/aspell.cpp:2806
msgid " -?|usage display a brief usage message"
msgstr " -?|usage taispeáin achoimre den úsáid"
-#: prog/aspell.cpp:2802
+#: prog/aspell.cpp:2807
msgid " help display a detailed help message"
msgstr " help taispeáin mioneolas maidir leis an úsáid"
-#: prog/aspell.cpp:2803
+#: prog/aspell.cpp:2808
msgid " -c|check <file> to check a file"
msgstr " -c|check <comhad> seiceáil comhad"
-#: prog/aspell.cpp:2804
+#: prog/aspell.cpp:2809
msgid " -a|pipe \"ispell -a\" compatibility mode"
msgstr " -a|pipe mód comhoiriúnachta \"ispell -a\""
-#: prog/aspell.cpp:2805
+#: prog/aspell.cpp:2810
msgid " [dump] config dumps the current configuration to stdout"
msgstr " [dump] config taispeáin an chumraíocht reatha go stdout"
-#: prog/aspell.cpp:2806
+#: prog/aspell.cpp:2811
msgid " config <key> prints the current value of an option"
msgstr " config <eochair> taispeáin an luach de rogha"
-#: prog/aspell.cpp:2807
+#: prog/aspell.cpp:2812
msgid " [dump] dicts | filters | modes"
msgstr " [dump] dicts | filters | modes"
-#: prog/aspell.cpp:2808
+#: prog/aspell.cpp:2813
msgid " lists available dictionaries / filters / filter modes"
msgstr " taispeáin foclóirí / scagairí / móid atá ar fáil"
-#: prog/aspell.cpp:2809
+#: prog/aspell.cpp:2814
msgid "[options] is any of the following:"
msgstr "is iad [roghanna] ceann amháin nó níos mó de:"
-#: prog/aspell.cpp:2822
-msgid ""
-" list produce a list of misspelled words from standard input"
-msgstr ""
-" list taispeáin focail mhílitrithe ón ionchur caighdeánach"
+#: prog/aspell.cpp:2827
+msgid " list produce a list of misspelled words from standard input"
+msgstr " list taispeáin focail mhílitrithe ón ionchur caighdeánach"
-#: prog/aspell.cpp:2825
-msgid ""
-" soundslike returns the sounds like equivalent for each word entered"
-msgstr ""
-" soundslike aisfhill leagan `soundslike' do gach focal iontráilte"
+#: prog/aspell.cpp:2830
+msgid " soundslike returns the sounds like equivalent for each word entered"
+msgstr " soundslike aisfhill leagan `soundslike' do gach focal iontráilte"
-#: prog/aspell.cpp:2826
+#: prog/aspell.cpp:2831
msgid " munch generate possible root words and affixes"
msgstr " munch gin fréamhfhocail agus foircinn barúlacha"
-#: prog/aspell.cpp:2827
+#: prog/aspell.cpp:2832
msgid " expand [1-4] expands affix flags"
msgstr " expand [1-4] leathnaigh bratacha foircinn"
-#: prog/aspell.cpp:2828
-msgid ""
-" clean [strict] cleans a word list so that every line is a valid word"
+#: prog/aspell.cpp:2833
+msgid " clean [strict] cleans a word list so that every line is a valid word"
msgstr " clean [strict] deimhnigh go bhfuil gach focal i liosta bailí"
-#: prog/aspell.cpp:2830
+#: prog/aspell.cpp:2835
msgid " -v|version prints a version line"
msgstr " -v|version taispeáin eolas faoin leagan"
-#: prog/aspell.cpp:2831
+#: prog/aspell.cpp:2836
msgid " munch-list [simple] [single|multi] [keep]"
msgstr " munch-list [simple] [single|multi] [keep]"
-#: prog/aspell.cpp:2832
+#: prog/aspell.cpp:2837
msgid " reduce the size of a word list via affix compression"
msgstr " laghdaigh liosta focal trí chomhbhrú foircinn"
-#: prog/aspell.cpp:2833
+#: prog/aspell.cpp:2838
msgid " conv <from> <to> [<norm-form>]"
msgstr " conv <ó> <chuig> [<foirm-norm>]"
-#: prog/aspell.cpp:2834
+#: prog/aspell.cpp:2839
msgid " converts from one encoding to another"
msgstr " tiontaigh ó ionchódú go ceann eile"
-#: prog/aspell.cpp:2835
+#: prog/aspell.cpp:2840
msgid " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
msgstr " norm (<mapáil> | <ó> <mapáil> <chuig>) [<foirm-norm>]"
-#: prog/aspell.cpp:2836
+#: prog/aspell.cpp:2841
msgid " perform Unicode normalization"
msgstr " déan normalú Unicode"
-#: prog/aspell.cpp:2839
+#: prog/aspell.cpp:2844
msgid " dump|create|merge master|personal|repl [<name>]"
msgstr " dump|create|merge master|personal|repl [<ainm>]"
-#: prog/aspell.cpp:2840
-msgid ""
-" dumps, creates or merges a master, personal, or replacement dictionary."
-msgstr ""
-" dumpáil, cruthaigh, nó cumaisc foclóir máistir, pearsanta, nó athfhocal."
+#: prog/aspell.cpp:2845
+msgid " dumps, creates or merges a master, personal, or replacement dictionary."
+msgstr " dumpáil, cruthaigh, nó cumaisc foclóir máistir, pearsanta, nó athfhocal."
#. TRANSLATORS: "none", "internal" and "strict" are literal values
#. and should not be translated.
-#: prog/aspell.cpp:2844
-msgid ""
-" <norm-form> normalization form to use, either none, internal, or "
-"strict"
-msgstr ""
-" <foirm-norm> foirm normalaithe le húsáid, none, internal, nó strict"
+#: prog/aspell.cpp:2849
+msgid " <norm-form> normalization form to use, either none, internal, or strict"
+msgstr " <foirm-norm> foirm normalaithe le húsáid, none, internal, nó strict"
-#: prog/aspell.cpp:2854
+#: prog/aspell.cpp:2859
#, c-format
msgid ""
"\n"
"Aspell %s. Copyright 2000-2011 le Kevin Atkinson.\n"
"\n"
-#: prog/aspell.cpp:2888
+#: prog/aspell.cpp:2893
msgid ""
"Available Dictionaries:\n"
" Dictionaries can be selected directly via the \"-d\" or \"master\"\n"
" \"variety\", and \"size\" options.\n"
msgstr ""
"Foclóirí le fáil:\n"
-" Is féidir foclóirí a roghnú go díreach leis an rogha \"-d\" nó \"master"
-"\"\n"
+" Is féidir foclóirí a roghnú go díreach leis an rogha \"-d\" nó \"master\"\n"
" Is féidir iad a roghnú fosta leis na roghanna \"lang\", \"variety\",\n"
" agus \"size\".\n"
-#: prog/aspell.cpp:2909
+#: prog/aspell.cpp:2914
msgid ""
"Available Filters (and associated options):\n"
" Filters can be added or removed via the \"filter\" option.\n"
msgstr ""
"Scagairí le fáil (agus roghanna gaolmhara):\n"
-" Is féidir scagairí a chur isteach nó baint amach leis an rogha \"filter"
-"\".\n"
+" Is féidir scagairí a chur isteach nó baint amach leis an rogha \"filter\".\n"
-#: prog/aspell.cpp:2916
+#: prog/aspell.cpp:2921
#, c-format
msgid ""
"\n"
" %s filter: %s\n"
#. TRANSLATORS: This should be formated to fit in 80 column or less
-#: prog/aspell.cpp:2933
+#: prog/aspell.cpp:2938
msgid ""
"Available Filter Modes:\n"
" Filter Modes are reconfigured combinations of filters optimized for\n"
" type from the extension, and possibility the contents, of the file.\n"
msgstr ""
"Móid Scagtha le fáil:\n"
-" Is iad seo cnuasaigh athchumraithe de scagairí atá optamaithe le "
-"haghaidh\n"
+" Is iad seo cnuasaigh athchumraithe de scagairí atá optamaithe le haghaidh\n"
" comhaid ar leith. Roghnaigh móid leis an rogha \"mode\".\n"
-" Roghnaíonn Aspell an mód go huathoibríoch más féidir an comhad a "
-"aithint\n"
+" Roghnaíonn Aspell an mód go huathoibríoch más féidir an comhad a aithint\n"
" óna iarmhír nó (b'fhéidir) óna ábhar.\n"
#: prog/check_funs.cpp:287
#: prog/check_funs.cpp:794
msgid "Move Forward one space"
-msgstr "Ar aghaidh aon spás"
+msgstr "Ar aghaidh spás amháin"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:797
#: prog/check_funs.cpp:800
msgid "Move to the beginning of the line"
-msgstr "Téigh go tosach na líne"
+msgstr "Téigh go tús na líne"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:803
#: prog/check_funs.cpp:812
msgid "Delete the next character"
-msgstr "Scrios an carachtar seo chugainn"
+msgstr "Scrios an chéad charachtar eile"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:816
#: modules/speller/default/language.cpp:103
msgid "This is probably because: "
-msgstr "Is dócha é seo de bharr: "
+msgstr "Is dócha gur tharla sé seo de bharr: "
#: modules/speller/default/language.cpp:110
msgid "The required field \"name\" is missing."
#: modules/speller/default/language.cpp:494
#: modules/speller/default/language.cpp:503
#, c-format
-msgid ""
-"The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgid "The character '%s' (U+%02X) must be followed by an alphabetic character."
msgstr "Ní foláir carachtar aibítreach a chur tar éis '%s' (U+%02X)."
#: modules/speller/default/language.cpp:496
msgid "Does not contain any alphabetic characters."
-msgstr "Níl aon charachtar aibítreach ann."
+msgstr "Níl aon charachtair aibítreacha ann."
#: modules/speller/default/language.cpp:501
#, c-format
msgid "The character '%s' (U+%02X) may not appear in the middle of a word."
-msgstr "Ní cheadaítear an carachtar '%s' (U+%02X) sa lár focail."
+msgstr "Ní cheadaítear carachtar '%s' (U+%02X) taobh istigh d'fhocal."
#: modules/speller/default/language.cpp:508
-msgid ""
-"The character '\\r' (U+0D) may not appear at the end of a word. This "
-"probably means means that the file is using MS-DOS EOL instead of Unix EOL."
-msgstr ""
-"Ní cheadaítear '\\r' (U+0D) ag deireadh focail. Is dócha go bhfuil EOL MS-"
-"DOS sa chomhad in ionad EOL Unix."
+msgid "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgstr "Ní cheadaítear '\\r' (U+0D) ag deireadh focail. Is dócha go bhfuil EOL MS-DOS sa chomhad in ionad EOL Unix."
#: modules/speller/default/language.cpp:511
#, c-format
msgid "The character '%s' (U+%02X) may not appear at the end of a word."
-msgstr "Ní cheadaítear an carachtar '%s' (U+%02X) ag deireadh focail."
+msgstr "Ní cheadaítear carachtar '%s' (U+%02X) ag deireadh focail."
#: modules/speller/default/language.cpp:543
#, c-format
msgid "Warning: Removing inapplicable affix '%s' from word %s.\n"
msgstr "Rabhadh: Ag cealú foircinn '%s' gan úsáid ón fhocal %s.\n"
-#: modules/speller/default/language.cpp:674
+#: modules/speller/default/language.cpp:675
#, c-format
msgid "Warning: %s Skipping string.\n"
msgstr "Rabhadh: %s Ag gabháil thar theaghrán.\n"
-#: modules/speller/default/language.cpp:732
+#: modules/speller/default/language.cpp:733
msgid "The total length is larger than 240 characters."
msgstr "Tá an fad focail níos mó ná 240 carachtar ina iomláine."
-#: modules/speller/default/language.cpp:736
+#: modules/speller/default/language.cpp:737
#, c-format
msgid "Warning: %s Skipping word.\n"
msgstr "Rabhadh: %s Ag gabháil thar fhocal.\n"
msgstr "B'fhéidir líon mícheart."
#: modules/speller/default/readonly_ws.cpp:362
+msgid "Incompatible hash function."
+msgstr "Feidhm neamh-chomhoiriúnach haiseála."
+
+#: modules/speller/default/readonly_ws.cpp:440
msgid "Wrong endian order."
msgstr "Ord caolcheannach/mórcheannach mícheart."
-#: modules/speller/default/readonly_ws.cpp:385
+#: modules/speller/default/readonly_ws.cpp:463
msgid "Wrong soundslike."
msgstr "Comhad `soundslike' mícheart."
-#: modules/speller/default/readonly_ws.cpp:391
+#: modules/speller/default/readonly_ws.cpp:469
msgid "Wrong soundslike version."
msgstr "Leagan `soundslike' mícheart."
-#: modules/speller/default/readonly_ws.cpp:853
+#: modules/speller/default/readonly_ws.cpp:934
msgid "Affix flags found in word but no affix file given."
msgstr "Tá bratacha foircinn ann, ach níl aon chomhad foircinn ann."
-#: modules/speller/default/readonly_ws.cpp:891
-msgid ""
-"The total word length, with soundslike data, is larger than 240 characters."
-msgstr ""
-"Tá an fad focail, le sonraí soundslike san áireamh, níos mó ná 240 carachtar."
+#: modules/speller/default/readonly_ws.cpp:972
+msgid "The total word length, with soundslike data, is larger than 240 characters."
+msgstr "Tá an fad focail, le sonraí soundslike san áireamh, níos mó ná 240 carachtar."
#: modules/speller/default/multi_ws.cpp:58
msgid "There must be at least one \"add\" line."
#: modules/speller/default/suggest.cpp:1403
msgid "one of ultra, fast, normal, slow, or bad-spellers"
-msgstr ""
-"ceann de \"ultra\", \"fast\", \"normal\", \"slow\", nó \"bad-spellers\""
+msgstr "ceann de \"ultra\", \"fast\", \"normal\", \"slow\", nó \"bad-spellers\""
#: modules/speller/default/data.cpp:404
msgid "is not one of the allowed types"
msgid "HTML tags to always skip the contents of"
msgstr "clibeanna HTML le scipeáil i gcónaí"
+#: modules/filter/markdown-filter.info:8
+#, fuzzy
+#| msgid "filter for processing Nroff documents"
+msgid "filter for Markdown/CommonMark documents"
+msgstr "scagaire le haghaidh cáipéisí Nroff"
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
+msgstr ""
+
#: modules/filter/nroff-filter.info:7
msgid "filter for dealing with Nroff documents"
msgstr "scagaire le haghaidh cáipéisí Nroff"
#: modules/filter/modes/ccpp.amf:8
msgid "mode for checking C++ comments and string literals"
-msgstr "mód le haghaidh nótaí tráchta C++ agus teaghráin"
+msgstr "mód a sheiceálann nótaí tráchta C++ agus teaghráin"
#: modules/filter/modes/comment.amf:5
msgid "mode to check any lines starting with a #"
-msgstr "mód le haghaidh línte le # ar dtús"
+msgstr "mód a sheiceálann línte a bhfuil # ar dtús"
#: modules/filter/modes/email.amf:5
msgid "mode for skipping quoted text in email messages"
-msgstr "gabh thar théacs athfhriotail i dteachtaireachtaí r-phoist"
+msgstr "mód a théann thar théacs athfhriotail i dteachtaireachtaí r-phoist"
#: modules/filter/modes/html.amf:10
msgid "mode for checking HTML documents"
-msgstr "mód le haghaidh cáipéisí HTML"
+msgstr "mód a sheiceálann cáipéisí HTML"
+
+#: modules/filter/modes/markdown.amf:10
+#, fuzzy
+#| msgid "mode for checking Nroff documents"
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr "mód a sheiceálann cáipéisí Nroff"
#: modules/filter/modes/none.amf:5
msgid "mode to disable all filters"
-msgstr "díchumasaigh gach scagaire"
+msgstr "mód a dhíchumasaíonn gach scagaire"
#: modules/filter/modes/nroff.amf:7
msgid "mode for checking Nroff documents"
-msgstr "mód le haghaidh cáipéisí Nroff"
+msgstr "mód a sheiceálann cáipéisí Nroff"
#: modules/filter/modes/perl.amf:8
msgid "mode for checking Perl comments and string literals"
-msgstr "mód le haghaidh nótaí tráchta agus teaghráin i bPerl"
+msgstr "mód a sheiceálann nótaí tráchta agus teaghráin i bPerl"
#: modules/filter/modes/sgml.amf:8
msgid "mode for checking generic SGML/XML documents"
-msgstr "mód le haghaidh cáipéisí ginearálta SGML/XML"
+msgstr "mód a sheiceálann cáipéisí ginearálta SGML/XML"
#: modules/filter/modes/tex.amf:7
msgid "mode for checking TeX/LaTeX documents"
-msgstr "mód le haghaidh cáipéisí TeX/LaTeX"
+msgstr "mód a sheiceálann cáipéisí TeX/LaTeX"
#: modules/filter/modes/texinfo.amf:7
msgid "mode for checking Texinfo documents"
-msgstr "mód le haghaidh cáipéisí Texinfo"
+msgstr "mód a sheiceálann cáipéisí Texinfo"
#: modules/filter/modes/url.amf:5
msgid "mode to skip URL like constructs (default mode)"
-msgstr ""
-"mód le haghaidh scipeáil thar theaghráin mar URLanna (mód réamhshocraithe)"
-
-#~ msgid "filter for processing Nroff documents"
-#~ msgstr "scagaire le haghaidh cáipéisí Nroff"
+msgstr "mód a théann thar theaghráin cosúil le hURLanna (mód réamhshocraithe)"
--- /dev/null
+# Translation of aspell to Croatian.
+# Copyright © 2012 Kevin Atkinson
+# This file is distributed under the same license as the aspell package.
+#
+# Tomislav Krznar <tomislav.krznar@gmail.com>, 2012.
+# Božidar Putanec <bozidarp@yahoo.com>, 2019.
+msgid ""
+msgstr ""
+"Project-Id-Version: aspell 0.60.7\n"
+"Report-Msgid-Bugs-To: kevina@gnu.org\n"
+"POT-Creation-Date: 2019-07-29 02:38-0400\n"
+"PO-Revision-Date: 2019-02-14 22:53-0800\n"
+"Last-Translator: Božidar Putanec <bozidarp@yahoo.com>\n"
+"Language-Team: Croatian <lokalizacija@linux.hr>\n"
+"Language: hr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Generator: Lokalize 2.0\n"
+
+#: common/info.cpp:232
+msgid "a number between 0 and 1"
+msgstr "broj između 0 i 1"
+
+#: common/info.cpp:569
+msgid "in the form \"<name> <value>\""
+msgstr "u obliku „<ime> <vrijednost>“"
+
+#: common/config.cpp:74
+msgid "string"
+msgstr "string"
+
+#: common/config.cpp:74
+msgid "integer"
+msgstr "cijeli broj"
+
+#: common/config.cpp:74
+msgid "boolean"
+msgstr "logička vrijednost"
+
+#: common/config.cpp:74
+msgid "list"
+msgstr "popis"
+
+#. TRANSLATORS: "true" and "false" are literal
+#. * values and should not be translated.
+#: common/config.cpp:978
+msgid "either \"true\" or \"false\""
+msgstr "ili „true“ ili „false“"
+
+#: common/config.cpp:997
+msgid "a positive integer"
+msgstr "pozitivni cijeli broj"
+
+#: common/config.cpp:1125
+msgid "# default: "
+msgstr "# zadano: "
+
+#: common/config.cpp:1188
+#, c-format
+msgid ""
+"\n"
+"#######################################################################\n"
+"#\n"
+"# Filter: %s\n"
+"# %s\n"
+"#\n"
+"# configured as follows:\n"
+"\n"
+msgstr ""
+"\n"
+"#######################################################################\n"
+"#\n"
+"# Filtar: %s\n"
+"# %s\n"
+"#\n"
+"# konfigurirano kako slijedi:\n"
+"\n"
+
+#: common/config.cpp:1286
+msgid "ASPELL_CONF env var"
+msgstr "okružna varijabla ASPELL_CONF"
+
+#. TRANSLATORS: The remaining strings in config.cpp should be kept
+#. under 50 characters, begin with a lower case character and not
+#. include any trailing punctuation marks.
+#: common/config.cpp:1360
+msgid "main configuration file"
+msgstr "glavna konfiguracijska datoteka"
+
+#: common/config.cpp:1362
+msgid "location of main configuration file"
+msgstr "lokacija glavne konfiguracijske datoteke"
+
+#: common/config.cpp:1365
+msgid "location of language data files"
+msgstr "lokacija datoteka jezičnih podataka"
+
+#: common/config.cpp:1367
+msgid "create dictionary aliases"
+msgstr "napravi aliase za rječnike"
+
+#: common/config.cpp:1369
+msgid "location of the main word list"
+msgstr "lokacija glavnog popisa riječi"
+
+#: common/config.cpp:1371
+msgid "encoding to expect data to be in"
+msgstr "kodiranje koje se očekuje u podacima"
+
+#: common/config.cpp:1373
+msgid "add or removes a filter"
+msgstr "doda ili ukloni filtar"
+
+#: common/config.cpp:1375
+msgid "path(s) aspell looks for filters"
+msgstr "staze po kojima aspell traži filtre"
+
+#: common/config.cpp:1379
+msgid "filter mode"
+msgstr "načini filtriranja"
+
+#: common/config.cpp:1381
+msgid "extra dictionaries to use"
+msgstr "dodatni rječnici za uporabu"
+
+#: common/config.cpp:1383
+msgid "location for personal files"
+msgstr "lokacija privatnih datoteka"
+
+#: common/config.cpp:1385
+msgid "ignore words <= n chars"
+msgstr "ignorira riječi s <= n znakova"
+
+#. TRANSLATORS: It is OK if this is longer than 50 chars
+#: common/config.cpp:1388
+msgid "ignore accents when checking words -- CURRENTLY IGNORED"
+msgstr "ignorira naglaske pri provjeravanju riječi -- ZA SADA ZANEMARENO"
+
+#: common/config.cpp:1390
+msgid "ignore case when checking words"
+msgstr "ignorira veličinu slova pri provjeri riječi"
+
+#: common/config.cpp:1392
+msgid "ignore commands to store replacement pairs"
+msgstr "ignorira naredbe za spremanje zamjenskih parova"
+
+#: common/config.cpp:1394 common/config.cpp:1461
+msgid "extra information for the word list"
+msgstr "dodatne informacije za popis riječi"
+
+#: common/config.cpp:1396
+msgid "keyboard definition to use for typo analysis"
+msgstr "definira tipkovnicu za analizu zatipaka"
+
+#: common/config.cpp:1398
+msgid "language code"
+msgstr "jezični kȏd"
+
+#: common/config.cpp:1400
+msgid "deprecated, use lang instead"
+msgstr "to je zastarjelo; koristite lang"
+
+#: common/config.cpp:1402
+msgid "location of local language data files"
+msgstr "lokacija lokalnih datoteka s podacima o jeziku"
+
+#: common/config.cpp:1404
+msgid "base name of the main dictionary to use"
+msgstr "osnovno ime glavnog rječnika za uporabu"
+
+#: common/config.cpp:1408
+msgid "set module name"
+msgstr "postavite ime modula"
+
+#: common/config.cpp:1410
+msgid "search order for modules"
+msgstr "slijed traženja modula"
+
+#: common/config.cpp:1412
+msgid "enable Unicode normalization"
+msgstr "omogući Unicode normalizaciju"
+
+#: common/config.cpp:1414
+msgid "Unicode normalization required for current lang"
+msgstr "aktualni jezik zahtijeva Unicode normalizaciju"
+
+#. TRANSLATORS: the values after the ':' are literal
+#. values and should not be translated.
+#: common/config.cpp:1418
+msgid "Unicode normalization form: none, nfd, nfc, comp"
+msgstr "forma Unicode normalizacije: none, nfd, nfc, comp"
+
+#: common/config.cpp:1420
+msgid "avoid lossy conversions when normalization"
+msgstr "pri normalizaciji izbjegava pretvaranje s gubicima"
+
+#: common/config.cpp:1422
+msgid "personal configuration file"
+msgstr "privatna konfiguracijska datoteka"
+
+#: common/config.cpp:1425
+msgid "personal dictionary file name"
+msgstr "ime datoteke privatnog rječnika"
+
+# The prefix option is there to allow Aspell to easily be relocated. Changing prefix will change all directory names relative to the new prefix that are not explicitly set
+#: common/config.cpp:1428
+msgid "prefix directory"
+msgstr "prefix (za stazu) direktorija"
+
+#: common/config.cpp:1430
+msgid "replacements list file name"
+msgstr "ime datoteke s popisom zamjena"
+
+#: common/config.cpp:1433
+msgid "consider run-together words legal"
+msgstr "prihvati spojene riječi"
+
+#: common/config.cpp:1435
+msgid "maximum number that can be strung together"
+msgstr "dopušteni maksimalni broj spojenih riječi"
+
+#: common/config.cpp:1437
+msgid "minimal length of interior words"
+msgstr "najmanja dopuštena duljina nutarnjih riječi"
+
+#: common/config.cpp:1439
+msgid "save replacement pairs on save all"
+msgstr "„Spremi sve“ sprema i zamjenske parove"
+
+#: common/config.cpp:1441
+msgid "set the prefix based on executable location"
+msgstr "prefiks se bazira na lokaciji programa aspell"
+
+#: common/config.cpp:1443
+msgid "size of the word list"
+msgstr "veličina popisa riječi"
+
+#: common/config.cpp:1445
+msgid "no longer used"
+msgstr "više se ne koristi"
+
+#: common/config.cpp:1447
+msgid "suggestion mode"
+msgstr "način predlaganja"
+
+#. TRANSLATORS: "sug-mode" is a literal value and should not be
+#. translated.
+#: common/config.cpp:1451
+msgid "edit distance to use, override sug-mode default"
+msgstr "odredi udaljenost za uporabu (ignorira sug-mode)"
+
+#: common/config.cpp:1453
+msgid "use typo analysis, override sug-mode default"
+msgstr "koristi analizu zatipaka (ignorira sug-mode)"
+
+#: common/config.cpp:1455
+msgid "use replacement tables, override sug-mode default"
+msgstr "koristi zamjenske tablice (ignorira sug-mode)"
+
+#: common/config.cpp:1457
+msgid "characters to insert when a word is split"
+msgstr "znakovi za umetanje pri rastavljanju riječi"
+
+#: common/config.cpp:1459
+msgid "use personal, replacement & session dictionaries"
+msgstr "koristi privatne, zamjenske i sesijske rječnike"
+
+#: common/config.cpp:1463
+msgid "search path for word list information files"
+msgstr "staza do datoteka s informacijama o popisu riječi"
+
+#: common/config.cpp:1465
+msgid "enable warnings"
+msgstr "omogući upozorenja"
+
+# An affix is either a prefix or a suffix attached to root words to make other words. For example supply -> supplied by dropping the "y" and adding an "ied" (the suffix).
+#. TRANSLATORS: It is OK if this is longer than 50 chars
+#: common/config.cpp:1475
+msgid "indicator for affix flags in word lists -- CURRENTLY IGNORED"
+msgstr "indikator za flag(e) afiksa u popisima riječi -- ZA SADA ZANEMARENO"
+
+#: common/config.cpp:1477
+msgid "use affix compression when creating dictionaries"
+msgstr "pri stvaranju rječnika rabi kompresiju afiksa"
+
+#: common/config.cpp:1479
+msgid "remove invalid affix flags"
+msgstr "ukloni nevaljane flage afiksa"
+
+#: common/config.cpp:1481
+msgid "attempts to clean words so that they are valid"
+msgstr "pokuša počistiti riječi da postanu valjane"
+
+#: common/config.cpp:1483
+msgid "compute soundslike on demand rather than storing"
+msgstr "računa zvučnost riječi na zahtjev a ne sprema ih"
+
+#: common/config.cpp:1485
+msgid "partially expand affixes for better suggestions"
+msgstr "djelomice dekomprimira afikse za bolje prijedloge"
+
+#: common/config.cpp:1487
+msgid "skip invalid words"
+msgstr "preskače nevaljane riječi"
+
+#: common/config.cpp:1489
+msgid "check if affix flags are valid"
+msgstr "provjeri valjanost flaga afiksa"
+
+#: common/config.cpp:1491
+msgid "check if words are valid"
+msgstr "provjeri valjanost riječi"
+
+# sigurnosna kopiij(a/e) > osiguranje
+#: common/config.cpp:1498
+msgid "create a backup file by appending \".bak\""
+msgstr "napravi osiguranje i pripoji mu nastavak „.bak“"
+
+#: common/config.cpp:1500
+msgid "use byte offsets instead of character offsets"
+msgstr "koristi bajt-odmake umjesto znak-odmake"
+
+#: common/config.cpp:1502
+msgid "create missing root/affix combinations"
+msgstr "napravi korijen/afiks kombinacije koje nedostaju"
+
+#: common/config.cpp:1504
+msgid "keymapping for check mode: \"aspell\" or \"ispell\""
+msgstr "mapiranje načina provjere: „aspell“ ili „ispell“"
+
+#: common/config.cpp:1506
+msgid "reverse the order of the suggest list"
+msgstr "obratno poreda predložene prijedloge"
+
+#: common/config.cpp:1508
+msgid "suggest possible replacements"
+msgstr "predloži moguće zamjene"
+
+#: common/config.cpp:1510
+msgid "time load time and suggest time in pipe mode"
+msgstr "trajanje učitavanja i predlaganja u „pipe mode“"
+
+#: common/convert.cpp:303 common/convert.cpp:497
+#, c-format
+msgid "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
+msgstr "Ovo također može značiti da se datoteka „%s“ ne može otvoriti za čitanje ili ne postoji."
+
+#: common/convert.cpp:582 common/convert.cpp:689 common/convert.cpp:735
+#, c-format
+msgid "The Unicode code point U+%04X is unsupported."
+msgstr "Unicode znakovi na poziciji U+%04X nisu podržani."
+
+#: common/convert.cpp:859
+#, c-format
+msgid "Invalid UTF-8 sequence at position %ld."
+msgstr "Nevaljana UTF-8 sekvencija na poziciji %ld."
+
+#: common/errors.cpp:27
+msgid "Operation Not Supported: %what:1"
+msgstr "Operacija nije podržana: %what:1"
+
+#: common/errors.cpp:43
+msgid "The method \"%what:1\" is unimplemented in \"%where:2\"."
+msgstr "Metoda „%what:1“ nije implementirana u „%where:2“."
+
+#: common/errors.cpp:51
+#, c-format
+msgid "%file:1:"
+msgstr "%file:1:"
+
+#: common/errors.cpp:59
+#, c-format
+msgid "The file \"%file:1\" can not be opened"
+msgstr "Datoteku „%file:1“ nije moguće otvoriti"
+
+#: common/errors.cpp:67
+#, c-format
+msgid "The file \"%file:1\" can not be opened for reading."
+msgstr "Datoteku „%file:1“ nije moguće otvoriti za čitanje."
+
+#: common/errors.cpp:75
+#, c-format
+msgid "The file \"%file:1\" can not be opened for writing."
+msgstr "Datoteku „%file:1“ nije moguće otvoriti za pisanje."
+
+#: common/errors.cpp:83
+#, c-format
+msgid "The file name \"%file:1\" is invalid."
+msgstr "Ime datoteke „%file:1“ nije valjano."
+
+#: common/errors.cpp:91
+#, c-format
+msgid "The file \"%file:1\" is not in the proper format."
+msgstr "Datoteka „%file:1“ nije u ispravnom formatu."
+
+#: common/errors.cpp:107
+#, c-format
+msgid "The directory \"%dir:1\" can not be opened for reading."
+msgstr "Direktorij „%dir:1“ nije moguće otvoriti za čitanje."
+
+#: common/errors.cpp:123
+msgid "The key \"%key:1\" is unknown."
+msgstr "Ključ „%key:1“ nije poznat."
+
+#: common/errors.cpp:131
+msgid "The value for option \"%key:1\" can not be changed."
+msgstr "Vrijednost opcije „%key:1“ nije moguće promijeniti."
+
+#: common/errors.cpp:139
+msgid "The key \"%key:1\" is not %accepted:2 and is thus invalid."
+msgstr "Ključ „%key:1“ nije %accepted:2 i zato nije valjan."
+
+#: common/errors.cpp:147
+msgid "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
+msgstr "Vrijednost „%value:2“ nije %accepted:3 i zato nije valjana za ključ „%key:1“."
+
+#: common/errors.cpp:163
+msgid "The key \"%key:1\" is not a string."
+msgstr "Ključ „%key:1“ nije string."
+
+#: common/errors.cpp:171
+msgid "The key \"%key:1\" is not an integer."
+msgstr "Ključ „%key:1“ nije cijeli broj."
+
+#: common/errors.cpp:179
+msgid "The key \"%key:1\" is not a boolean."
+msgstr "Ključ „%key:1“ nije logička vrijednost."
+
+#: common/errors.cpp:187
+msgid "The key \"%key:1\" is not a list."
+msgstr "Ključ „%key:1“ nije popis."
+
+#: common/errors.cpp:195
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
+msgstr "Ključ „%key:1“ ne prihvaća nijedan parametar kad ima prefiks „reset-“."
+
+#: common/errors.cpp:203
+msgid "The key \"%key:1\" does not take any parameters when prefixed by an \"enable-\"."
+msgstr "Ključ „%key:1“ ne prihvaća nijedan parametar kad ima prefiks „enable-“."
+
+#: common/errors.cpp:211
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
+msgstr "Ključ „%key:1“ ne prihvaća nijedan parametar kad ima prefiks „dont-“ ili „disable-“."
+
+#: common/errors.cpp:219
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
+msgstr "Ključ „%key:1“ ne prihvaća nijedan parametar kad ima prefiks „clear-“."
+
+#: common/errors.cpp:235
+#, c-format
+msgid "The language \"%lang:1\" is not known."
+msgstr "Jezik „%lang:1“ nije poznat."
+
+#: common/errors.cpp:243
+#, c-format
+msgid "The soundslike \"%sl:2\" is not known."
+msgstr "Zvučnost riječi „%sl:2“ nije poznata."
+
+#: common/errors.cpp:251
+#, c-format
+msgid "The language \"%lang:1\" is not supported."
+msgstr "Jezik „%lang:1“ nije podržan."
+
+#: common/errors.cpp:259
+#, c-format
+msgid "No word lists can be found for the language \"%lang:1\"."
+msgstr "Nije moguće pronaći popis riječi za jezik „%lang:1“."
+
+#: common/errors.cpp:267
+#, c-format
+msgid "Expected language \"%lang:1\" but got \"%prev:2\"."
+msgstr "Očekivan je jezik „%lang:1“, dobiven je „%prev:2“."
+
+#: common/errors.cpp:283
+#, c-format
+msgid "Affix '%aff:1' is corrupt."
+msgstr "Afiks „%aff:1“ je oštećen."
+
+#: common/errors.cpp:291
+#, c-format
+msgid "The condition \"%cond:1\" is invalid."
+msgstr "Uvjet „%cond:1“ nije valjan."
+
+#: common/errors.cpp:299
+#, c-format
+msgid "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
+msgstr "Uvjet „%cond:1“ ne jamči da se „%strip:2“ može uvijek odstraniti."
+
+#: common/errors.cpp:307
+#, c-format
+msgid "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
+msgstr "Datoteka „%file:1“ nije u ispravnom formatu. Očekivana je datoteka u „%exp:2“, a ne u „%got:3“."
+
+#: common/errors.cpp:323
+#, c-format
+msgid "The encoding \"%encod:1\" is not known."
+msgstr "Kodiranje „%encod:1“ nije poznato."
+
+#: common/errors.cpp:331
+#, c-format
+msgid "The encoding \"%encod:1\" is not supported."
+msgstr "Kodiranje „%encod:1“ nije podržano."
+
+#: common/errors.cpp:339
+#, c-format
+msgid "The conversion from \"%encod:1\" to \"%encod2:2\" is not supported."
+msgstr "Pretvaranje iz „%encod:1“ u „%encod:2“ nije podržano."
+
+#: common/errors.cpp:379
+#, c-format
+msgid "The string \"%str:1\" is invalid."
+msgstr "String „%str:1“ nije valjan."
+
+#: common/errors.cpp:387
+msgid "The word \"%word:1\" is invalid."
+msgstr "Riječ „%word:1“ nije valjana."
+
+#: common/errors.cpp:395
+msgid "The affix flag '%aff:1' is invalid for word \"%word:2\"."
+msgstr "Flag afiksa „%aff:1“ nije valjan za riječ „%word:2“."
+
+#: common/errors.cpp:403
+msgid "The affix flag '%aff:1' can not be applied to word \"%word:2\"."
+msgstr "Flag afiksa „%aff:1“ nije moguće primijeniti na riječ „%word:2“."
+
+#: common/errors.cpp:451
+msgid "not a version number"
+msgstr "to nije broj inačice"
+
+#: common/errors.cpp:467
+msgid "dlopen returned \"%return:1\"."
+msgstr "dlopen() je vratila „%return:1“."
+
+#: common/errors.cpp:475
+#, c-format
+msgid "The file \"%filter:1\" does not contain any filters."
+msgstr "Datoteka „%filter:1“ ne sadrži nijedan filtar."
+
+#: common/errors.cpp:483
+#, c-format
+msgid "The filter \"%filter:1\" does not exist."
+msgstr "Filtar „%filter:1“ ne postoji."
+
+#: common/errors.cpp:491 common/errors.cpp:587
+msgid "Confused by version control."
+msgstr "Upravljanje inačicama (version control) je zbunjujuće."
+
+#: common/errors.cpp:499
+msgid "Aspell version does not match filter's requirement."
+msgstr "Aspell inačica ne odgovara zahtjevima filtra."
+
+#: common/errors.cpp:507
+msgid "Filter option already exists."
+msgstr "Opcija filtra već postoji."
+
+#: common/errors.cpp:515
+msgid "Use option modifiers only within named option."
+msgstr "Koristite modifikatore opcija samo unutar imenovanih opcija."
+
+#: common/errors.cpp:523
+msgid "Option modifier unknown."
+msgstr "Modifikator opcije nepoznat."
+
+#: common/errors.cpp:531
+msgid "Error setting filter description."
+msgstr "Greška pri postavljanju opisa filtra."
+
+#: common/errors.cpp:547
+msgid "Empty option specifier."
+msgstr "Specifikator opcije je prazan."
+
+#: common/errors.cpp:555
+#, c-format
+msgid "Option \"%option:1\" possibly specified prior to filter."
+msgstr "Opcija „%option:1“ je vjerojatno navedena prije filtriranja."
+
+#: common/errors.cpp:563
+msgid "Unknown mode description key \"%key:1\"."
+msgstr "Nepoznati način opisa ključa „%key:1“."
+
+#: common/errors.cpp:571
+#, c-format
+msgid "Expecting \"%modekey:1\" key."
+msgstr "Očekuju se ključ „%modekey:1“."
+
+#: common/errors.cpp:579
+msgid "Version specifier missing key: \"aspell\"."
+msgstr "Nema opcije za inačicu: „aspell“."
+
+#: common/errors.cpp:595
+msgid "Aspell version does not match mode's requirement."
+msgstr "Aspell inačica ne odgovara zahtjevima ovog načina."
+
+#: common/errors.cpp:603
+msgid "Missing magic mode expression."
+msgstr "Nedostaje izraz za magic način."
+
+#: common/errors.cpp:611
+#, c-format
+msgid "Empty extension at char %char:1."
+msgstr "Prazno proširenje na znaku %char:1."
+
+#: common/errors.cpp:619
+#, c-format
+msgid "\"%mode:1\" error"
+msgstr "„%mode:1“ greška"
+
+#: common/errors.cpp:627
+#, c-format
+msgid "Unknown mode: \"%mode:1\"."
+msgstr "Nepoznati način: „%mode:1“."
+
+#: common/errors.cpp:635
+#, c-format
+msgid "\"%mode:1\" error while extend Aspell modes. (out of memory?)"
+msgstr "„%mode:1“ greška pri proširivanju Aspell-ovih načina. (nema dovoljno memorije?)"
+
+#: common/errors.cpp:651
+#, c-format
+msgid "\"%mode:1\": no start for magic search given for magic \"%magic:2\"."
+msgstr "„%mode:1“: nije zadan početak magic pretraživanja za magic „%magic:2“."
+
+#: common/errors.cpp:659
+#, c-format
+msgid "\"%mode:1\": no range for magic search given for magic \"%magic:2\"."
+msgstr "„%mode:1“: nije zadan raspon magic pretraživanja za magic „%magic:2“."
+
+#: common/errors.cpp:667
+#, c-format
+msgid "\"%mode:1\": no magic expression available for magic \"%magic:2\"."
+msgstr "„%mode:1“: nema dostupnih magic izraza za magic „%magic:2“."
+
+#: common/errors.cpp:675
+msgid "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
+msgstr "„%mode:1“: magic „%magic:2“: loši regularni izraz nakon dane lokacije; regexp() javlja: „%regerr:3“."
+
+#: common/errors.cpp:691
+#, c-format
+msgid "\"%expression:1\" is not a valid regular expression."
+msgstr "„%expression:1“ nije valjani regularni izraz."
+
+#: common/posib_err.cpp:100
+msgid "Unhandled Error: "
+msgstr "Neobrađena greška: "
+
+#: prog/aspell.cpp:98
+#, c-format
+msgid "Error: %s\n"
+msgstr "Greška: %s\n"
+
+#: prog/aspell.cpp:103
+msgid "Error: "
+msgstr "Greška: "
+
+#: prog/aspell.cpp:204
+msgid "enter Email mode."
+msgstr "prijelaz na Email način."
+
+#: prog/aspell.cpp:205
+msgid "enter HTML mode."
+msgstr "prijelaz na HTML način."
+
+#: prog/aspell.cpp:206
+msgid "enter TeX mode."
+msgstr "prijelaz na TeX način."
+
+#: prog/aspell.cpp:207
+msgid "enter Nroff mode."
+msgstr "prijelaz na Nroff način."
+
+#: prog/aspell.cpp:313
+#, c-format
+msgid "Invalid Option: %s"
+msgstr "Nevaljana opcija: %s"
+
+#: prog/aspell.cpp:320
+msgid " does not take any parameters."
+msgstr " ne prihvaća nijedan parametar."
+
+#: prog/aspell.cpp:333 prog/aspell.cpp:393
+#, c-format
+msgid "You must specify a parameter for \"%s\"."
+msgstr "Morate specificirati parametar za „%s“."
+
+#: prog/aspell.cpp:382
+msgid "You must specify an action"
+msgstr "Morate specificirati akciju"
+
+#: prog/aspell.cpp:390 prog/aspell.cpp:453 prog/aspell.cpp:475
+#, c-format
+msgid "Unknown Action: %s"
+msgstr "Nepoznata akcija: %s"
+
+#: prog/aspell.cpp:396
+#, c-format
+msgid "Error: You must specify at least %d parameters for \"%s\".\n"
+msgstr "Greška: morate specificirati barem %d parametara za „%s“.\n"
+
+#: prog/aspell.cpp:638
+msgid "Invalid Input"
+msgstr "Nevaljani ulaz"
+
+#: prog/aspell.cpp:711
+#, c-format
+msgid "WARNING: Unable to enter Nroff mode: %s\n"
+msgstr "UPOZORENJE: nije moguć prijelaz na Nroff način: %s\n"
+
+#: prog/aspell.cpp:732
+msgid "Time to load word list: "
+msgstr "Trajanje učitavanja popisa riječi: "
+
+#: prog/aspell.cpp:930
+#, c-format
+msgid "Suggestion Time: %f\n"
+msgstr "Vrijeme predlaganja: %f\n"
+
+#: prog/aspell.cpp:973
+msgid "You must specify a file name."
+msgstr "Morate specificirati ime datoteke."
+
+#: prog/aspell.cpp:976
+msgid "Only one file name may be specified."
+msgstr "Smijete specificirati samo jednu datoteku."
+
+#: prog/aspell.cpp:986
+#, c-format
+msgid "Could not open the file \"%s\" for reading"
+msgstr "Nije moguće otvoriti datoteku „%s“ za čitanje"
+
+#: prog/aspell.cpp:999
+#, c-format
+msgid "Invalid keymapping: %s"
+msgstr "Nevaljano mapiranje tipki: %s"
+
+#: prog/aspell.cpp:1014
+#, fuzzy, c-format
+#| msgid "\"%expression:1\" is not a valid regular expression."
+msgid "\"%s\" is not a regular file"
+msgstr "„%expression:1“ nije valjani regularni izraz."
+
+#: prog/aspell.cpp:1025
+#, c-format
+msgid "Could not open the file \"%s\" for writing. File not saved."
+msgstr "Nije moguće otvoriti datoteku „%s“ za pisanje. Datoteka nije spremljena."
+
+#: prog/aspell.cpp:1038
+msgid "Ignore"
+msgstr "Ignorirati"
+
+#: prog/aspell.cpp:1039
+msgid "Ignore all"
+msgstr "Sve ignorirati"
+
+#: prog/aspell.cpp:1040
+msgid "Replace"
+msgstr "Zamijeniti"
+
+#: prog/aspell.cpp:1041
+msgid "Replace all"
+msgstr "Sve zamijeniti"
+
+#: prog/aspell.cpp:1042
+msgid "Add"
+msgstr "Dodati"
+
+#: prog/aspell.cpp:1043
+msgid "Add Lower"
+msgstr "Dodati (mala slova)"
+
+#: prog/aspell.cpp:1044
+msgid "Abort"
+msgstr "Prekinuti"
+
+#: prog/aspell.cpp:1045
+msgid "Exit"
+msgstr "Izlaz"
+
+#: prog/aspell.cpp:1121
+msgid "Are you sure you want to abort (y/n)? "
+msgstr "Jeste li sigurni da želite odustati (d/n)? "
+
+#. TRANSLATORS: The user may input any of these characters to say "yes".
+#. MUST ONLY CONSIST OF ASCII CHARACTERS.
+#: prog/aspell.cpp:1125
+msgid "Yy"
+msgstr "DdYy"
+
+#: prog/aspell.cpp:1153
+msgid "With: "
+msgstr "S(a): "
+
+#: prog/aspell.cpp:1170
+msgid "Sorry that is an invalid choice!"
+msgstr "Oprostite, ali to nije valjani izbor!"
+
+#: prog/aspell.cpp:1391
+msgid "Sorry \"filter\" is currently unimplemented.\n"
+msgstr "Nažalost, „filter“ za sada još nije implementiran.\n"
+
+#: prog/aspell.cpp:1525
+msgid "Can't merge a master word list yet. Sorry."
+msgstr "Nažalost, još nije moguće spajanje „master“ popisa riječi."
+
+#: prog/aspell.cpp:1549
+msgid "Sorry \"create/merge personal\" is currently unimplemented.\n"
+msgstr "Nažalost, „create/merge personal“ za sada još nije implementiran.\n"
+
+#: prog/aspell.cpp:1558 prog/aspell.cpp:1614
+#, c-format
+msgid "Sorry I won't overwrite \"%s\""
+msgstr "Oprostite, ali „%s“ NEĆE biti prepisan"
+
+#: prog/aspell.cpp:1605
+msgid "Sorry \"create/merge repl\" is currently unimplemented.\n"
+msgstr "Nažalost, „create/merge repl“ za sada još nije implementiran.\n"
+
+#: prog/aspell.cpp:1877
+#, c-format
+msgid "\"%s\" is not a valid flag for the \"munch-list\" command."
+msgstr "„%s“ nije valjani flag za naredbu „munch-list“."
+
+#. TRANSLATORS: These should all be formated to fit in 80 column or
+#. less
+#: prog/aspell.cpp:2804
+msgid "Usage: aspell [options] <command>"
+msgstr "Uporaba: aspell [opcije] <naredba>"
+
+#: prog/aspell.cpp:2805
+msgid "<command> is one of:"
+msgstr "<naredba> je jedna od:"
+
+#: prog/aspell.cpp:2806
+msgid " -?|usage display a brief usage message"
+msgstr " -?|usage pokaže kratke upute za uporabu"
+
+#: prog/aspell.cpp:2807
+msgid " help display a detailed help message"
+msgstr " help pokaže detaljnu pomoć"
+
+#: prog/aspell.cpp:2808
+msgid " -c|check <file> to check a file"
+msgstr " -c|check <dat> provjeri datoteku"
+
+#: prog/aspell.cpp:2809
+msgid " -a|pipe \"ispell -a\" compatibility mode"
+msgstr " -a|pipe način za kompatibilnost (s „ispell -a“)"
+
+#: prog/aspell.cpp:2810
+msgid " [dump] config dumps the current configuration to stdout"
+msgstr " [dump] config ispiše aktualnu konfiguraciju na standardni izlaz"
+
+#: prog/aspell.cpp:2811
+msgid " config <key> prints the current value of an option"
+msgstr " config <ključ> ispiše aktualnu vrijednost opcije"
+
+#: prog/aspell.cpp:2812
+msgid " [dump] dicts | filters | modes"
+msgstr " [dump] dicts | filters | modes"
+
+#: prog/aspell.cpp:2813
+msgid " lists available dictionaries / filters / filter modes"
+msgstr " popis dostupnih rječnika, filtara, načina filtriranja"
+
+#: prog/aspell.cpp:2814
+msgid "[options] is any of the following:"
+msgstr "[opcije] su bilo koja od sljedećih:"
+
+#: prog/aspell.cpp:2827
+msgid " list produce a list of misspelled words from standard input"
+msgstr " list pokaže popis krivo napisanih riječi"
+
+#: prog/aspell.cpp:2830
+msgid " soundslike returns the sounds like equivalent for each word entered"
+msgstr " soundslike ekvivalent zvučnosti za svaku unesenu riječ"
+
+#: prog/aspell.cpp:2831
+msgid " munch generate possible root words and affixes"
+msgstr " munch generira moguće korijene riječi i afikse"
+
+#: prog/aspell.cpp:2832
+msgid " expand [1-4] expands affix flags"
+msgstr " expand [1-4] ispiše rezultate dekompresije flaga afiksa"
+
+#: prog/aspell.cpp:2833
+msgid " clean [strict] cleans a word list so that every line is a valid word"
+msgstr " clean [strict] čisti popis riječi tako da svaki redak sadrži valjanu riječ"
+
+#: prog/aspell.cpp:2835
+msgid " -v|version prints a version line"
+msgstr " -v|version ispiše inačicu programa"
+
+#: prog/aspell.cpp:2836
+msgid " munch-list [simple] [single|multi] [keep]"
+msgstr " munch-list [simple] [single|multi] [keep]"
+
+#: prog/aspell.cpp:2837
+msgid " reduce the size of a word list via affix compression"
+msgstr " smanji veličinu popisa riječi kompresijom afiksa"
+
+#: prog/aspell.cpp:2838
+msgid " conv <from> <to> [<norm-form>]"
+msgstr " conv <iz> <u> [<norm-forma>]"
+
+#: prog/aspell.cpp:2839
+msgid " converts from one encoding to another"
+msgstr " pretvara iz jednog kodiranja u drugo"
+
+#: prog/aspell.cpp:2840
+msgid " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
+msgstr " norm (<norm-map> | <iz> <norm-map> <u>) [<norm-forma>]"
+
+#: prog/aspell.cpp:2841
+msgid " perform Unicode normalization"
+msgstr " izvrši Unicode normalizaciju"
+
+#: prog/aspell.cpp:2844
+msgid " dump|create|merge master|personal|repl [<name>]"
+msgstr " dump|create|merge master|personal|repl [<ime>]"
+
+#: prog/aspell.cpp:2845
+msgid " dumps, creates or merges a master, personal, or replacement dictionary."
+msgstr " ispisuje, stvara ili spaja glavni, osobni ili rječnik zamjena."
+
+#. TRANSLATORS: "none", "internal" and "strict" are literal values
+#. and should not be translated.
+#: prog/aspell.cpp:2849
+msgid " <norm-form> normalization form to use, either none, internal, or strict"
+msgstr " <norm-forma> forma normalizacije za uporabu (none, internal ili strict)"
+
+#: prog/aspell.cpp:2859
+#, c-format
+msgid ""
+"\n"
+"Aspell %s. Copyright 2000-2011 by Kevin Atkinson.\n"
+"\n"
+msgstr ""
+"\n"
+"Aspell %s. Copyright 2000-2011 Kevin Atkinson.\n"
+"\n"
+
+#: prog/aspell.cpp:2893
+msgid ""
+"Available Dictionaries:\n"
+" Dictionaries can be selected directly via the \"-d\" or \"master\"\n"
+" option. They can also be selected indirectly via the \"lang\",\n"
+" \"variety\", and \"size\" options.\n"
+msgstr ""
+"Dostupni rječnici:\n"
+" Rječnici se mogu odabrati izravno opcijom „-d“ ili „master“.\n"
+" Također se mogu neizravno odabrati opcijama „lang“, „variety“\n"
+" i „size“.\n"
+
+#: prog/aspell.cpp:2914
+msgid ""
+"Available Filters (and associated options):\n"
+" Filters can be added or removed via the \"filter\" option.\n"
+msgstr ""
+"Dostupni filtri (i njihove opcije):\n"
+" Filtri se mogu dodati ili ukloniti s opcijom „filter“.\n"
+
+#: prog/aspell.cpp:2921
+#, c-format
+msgid ""
+"\n"
+" %s filter: %s\n"
+msgstr ""
+"\n"
+" %s filtar: %s\n"
+
+#. TRANSLATORS: This should be formated to fit in 80 column or less
+#: prog/aspell.cpp:2938
+msgid ""
+"Available Filter Modes:\n"
+" Filter Modes are reconfigured combinations of filters optimized for\n"
+" files of a specific type. A mode is selected via the \"mode\" option.\n"
+" This will happen implicitly if Aspell is able to identify the file\n"
+" type from the extension, and possibility the contents, of the file.\n"
+msgstr ""
+"Dostupni načini filtriranja\n"
+"(Načini filtriranja su uobičajeni filtri ili kombinacije filtara prilagođenih\n"
+" određenoj vrsti datoteke). Ako uspije odrediti vrstu iz sufiksa ili\n"
+" sadržaja datoteke, aspell će implicitno odabrati način filtriranja.\n"
+" Inače, s opcijom „mode“ način filtriranja se može eksplicitno odabrati.\n"
+" U nastavku su navedeni raspoloživi načini filtriranja.\n"
+
+#: prog/check_funs.cpp:287
+msgid "Error: Stdin not a terminal."
+msgstr "Greška: standardni ulaz nije terminal."
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:774
+msgid "Enter"
+msgstr "Enter"
+
+#: prog/check_funs.cpp:776
+msgid "Accept Changes"
+msgstr "Promjene prihvatiti"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:779
+msgid "Backspace"
+msgstr "Backspace"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:781
+msgid "Control-H"
+msgstr "Control-H"
+
+#: prog/check_funs.cpp:782
+msgid "Delete the previous character"
+msgstr "Izbrisati prethodni znak"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:785
+msgid "Left"
+msgstr "Left"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:787
+msgid "Control-B"
+msgstr "Control-B"
+
+#: prog/check_funs.cpp:788
+msgid "Move Back one space"
+msgstr "Za jedno mjesto (poziciju) natrag"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:791
+msgid "Right"
+msgstr "Right"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:793
+msgid "Control-F"
+msgstr "Control-F"
+
+#: prog/check_funs.cpp:794
+msgid "Move Forward one space"
+msgstr "Za jedno mjesto (poziciju) naprijed"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:797
+msgid "Home"
+msgstr "Home"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:799
+msgid "Control-A"
+msgstr "Control-A"
+
+#: prog/check_funs.cpp:800
+msgid "Move to the beginning of the line"
+msgstr "Na početak retka"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:803
+msgid "End"
+msgstr "End"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:805
+msgid "Control-E"
+msgstr "Control-E"
+
+#: prog/check_funs.cpp:806
+msgid "Move to the end of the line"
+msgstr "Na kraj retka"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:809
+msgid "Delete"
+msgstr "Delete"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:811
+msgid "Control-D"
+msgstr "Control-D"
+
+#: prog/check_funs.cpp:812
+msgid "Delete the next character"
+msgstr "Izbrisati sljedeći znak"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:816
+msgid "Control-K"
+msgstr "Control-K"
+
+#: prog/check_funs.cpp:817
+msgid "Kill all characters to the EOL"
+msgstr "Izbrisati sve znakove do kraja retka"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:821
+msgid "Control-C"
+msgstr "Control-C"
+
+#: prog/check_funs.cpp:822
+msgid "Abort This Operation"
+msgstr "Prekinuti ovu operaciju"
+
+#: modules/speller/default/language.cpp:103
+msgid "This is probably because: "
+msgstr "Vjerojatni razlog je: "
+
+#: modules/speller/default/language.cpp:110
+msgid "The required field \"name\" is missing."
+msgstr "Nedostaje traženo polje „ime“."
+
+#: modules/speller/default/language.cpp:488
+msgid "Empty string."
+msgstr "Prazni string."
+
+#: modules/speller/default/language.cpp:492
+#, c-format
+msgid "The character '%s' (U+%02X) may not appear at the beginning of a word."
+msgstr "Znak „%s“ (U+%02X) ne smije biti na početku riječi."
+
+#: modules/speller/default/language.cpp:494
+#: modules/speller/default/language.cpp:503
+#, c-format
+msgid "The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgstr "Nakon znaka „%s“ (U+%02X) mora slijediti slovo."
+
+#: modules/speller/default/language.cpp:496
+msgid "Does not contain any alphabetic characters."
+msgstr "Ne sadrži nijedno slovo."
+
+#: modules/speller/default/language.cpp:501
+#, c-format
+msgid "The character '%s' (U+%02X) may not appear in the middle of a word."
+msgstr "Znak „%s“ (U+%02X) ne smije biti u sredini riječi."
+
+#: modules/speller/default/language.cpp:508
+msgid "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgstr "Znak „\\r“ (U+0D) ne smije biti na kraju riječi. Vjerojatno datoteka koristi MS-DOS EOL umjesto Unix EOL-a."
+
+#: modules/speller/default/language.cpp:511
+#, c-format
+msgid "The character '%s' (U+%02X) may not appear at the end of a word."
+msgstr "Znak „%s“ (U+%02X) ne smije biti na kraju riječi."
+
+#: modules/speller/default/language.cpp:543
+#, c-format
+msgid "Warning: Removing invalid affix '%s' from word %s.\n"
+msgstr "Upozorenje: uklanja se nevaljani afiks „%s“ iz riječi %s.\n"
+
+#: modules/speller/default/language.cpp:544
+#, c-format
+msgid "Warning: Removing inapplicable affix '%s' from word %s.\n"
+msgstr "Upozorenje: uklanja se neprimjenjivi afiks „%s“ iz riječi %s.\n"
+
+#: modules/speller/default/language.cpp:675
+#, c-format
+msgid "Warning: %s Skipping string.\n"
+msgstr "Upozorenje: %s -- string je preskočen.\n"
+
+#: modules/speller/default/language.cpp:733
+msgid "The total length is larger than 240 characters."
+msgstr "Ukupna duljina je veća od 240 znakova."
+
+#: modules/speller/default/language.cpp:737
+#, c-format
+msgid "Warning: %s Skipping word.\n"
+msgstr "Upozorenje: %s -- riječ je preskočena.\n"
+
+#: modules/speller/default/affix.cpp:426
+msgid "Possibly incorrect count."
+msgstr "Možda broj(enje) nije točno."
+
+#: modules/speller/default/readonly_ws.cpp:362
+msgid "Incompatible hash function."
+msgstr "Nekompatibilna hash-funkcija."
+
+#: modules/speller/default/readonly_ws.cpp:440
+msgid "Wrong endian order."
+msgstr "Pogrešni redoslijed bajtova (endiannes)."
+
+#: modules/speller/default/readonly_ws.cpp:463
+msgid "Wrong soundslike."
+msgstr "Pogrešna zvučnost."
+
+#: modules/speller/default/readonly_ws.cpp:469
+msgid "Wrong soundslike version."
+msgstr "Pogrešna inačica zvučnosti."
+
+#: modules/speller/default/readonly_ws.cpp:934
+msgid "Affix flags found in word but no affix file given."
+msgstr "U riječi su nađeni flazi afiksa ali datoteka afiksa nije dana."
+
+#: modules/speller/default/readonly_ws.cpp:972
+msgid "The total word length, with soundslike data, is larger than 240 characters."
+msgstr "Ukupna duljina riječi s podacima o zvučnosti je veća od 240 znakova."
+
+#: modules/speller/default/multi_ws.cpp:58
+msgid "There must be at least one \"add\" line."
+msgstr "Mora postojati barem jedan „add“-redak."
+
+#: modules/speller/default/suggest.cpp:1403
+msgid "one of ultra, fast, normal, slow, or bad-spellers"
+msgstr "jedno od ultra, fast, normal, slow ili bad-spellers"
+
+#: modules/speller/default/data.cpp:404
+msgid "is not one of the allowed types"
+msgstr "nije jedna od dopuštenih vrsta"
+
+#: modules/speller/default/speller_impl.cpp:241
+msgid "The personal word list is unavailable."
+msgstr "Privatni popis riječi nije dostupan."
+
+#: modules/speller/default/speller_impl.cpp:248
+msgid "The session word list is unavailable."
+msgstr "Sesijski popis riječi nije dostupan."
+
+#: modules/speller/default/speller_impl.cpp:255
+msgid "The main word list is unavailable."
+msgstr "Glavni popis riječi nije dostupan."
+
+#: modules/filter/tex.cpp:255 modules/filter/tex.cpp:262
+msgid "a string of 'o','O','p',or 'P'"
+msgstr "(jedan) string iz „o“, „O“, „p“ ili „P“"
+
+#. TRANSLATORS: Like the strings in config.cpp, all strings in *-filter.opt
+#. should be under 50 characters, begin with a lower case character and
+#. not include any trailing punctuation marks.
+#: modules/filter/context-filter.info:7
+msgid "experimental filter for hiding delimited contexts"
+msgstr "eksperimentalni filtar za skrivanje razgraničenih konteksta"
+
+#: modules/filter/context-filter.info:13
+msgid "context delimiters (separated by spaces)"
+msgstr "graničnici konteksta (odvojeni razmacima)"
+
+#: modules/filter/context-filter.info:21
+msgid "swaps visible and invisible text"
+msgstr "zamijeni vidljivi i nevidljivi tekst"
+
+#: modules/filter/email-filter.info:7
+msgid "filter for skipping quoted text in email messages"
+msgstr "filter za preskakanje citata u e-pošti"
+
+#: modules/filter/email-filter.info:13
+msgid "email quote characters"
+msgstr "citat-navodnici (obično „>“ i „|“) u e-pošti"
+
+#: modules/filter/email-filter.info:21
+msgid "num chars that can appear before the quote char"
+msgstr "broj mogućih znakova ispred citat-navodnika"
+
+#: modules/filter/html-filter.info:9
+msgid "filter for dealing with HTML documents"
+msgstr "filtar za rad s HTML dokumentima"
+
+#: modules/filter/html-filter.info:15
+msgid "HTML attributes to always check"
+msgstr "Atributi HTML-a koji se moraju provjeriti"
+
+#: modules/filter/html-filter.info:21
+msgid "HTML tags to always skip the contents of"
+msgstr "Tagovi HTML-a čiji sadržaj treba preskočiti"
+
+#: modules/filter/markdown-filter.info:8
+#, fuzzy
+#| msgid "filter for dealing with Texinfo documents"
+msgid "filter for Markdown/CommonMark documents"
+msgstr "filtar za rad s Texinfo dokumentima"
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
+msgstr ""
+
+#: modules/filter/nroff-filter.info:7
+msgid "filter for dealing with Nroff documents"
+msgstr "filtar za rad s Nroff dokumentima"
+
+#: modules/filter/sgml-filter.info:9
+msgid "filter for dealing with generic SGML/XML documents"
+msgstr "filtar za rad s općenitim SGML/XML dokumentima"
+
+#: modules/filter/sgml-filter.info:15
+msgid "SGML attributes to always check"
+msgstr "Atributi SGML-a koji se moraju provjeriti"
+
+#: modules/filter/sgml-filter.info:20
+msgid "SGML tags to always skip the contents of"
+msgstr "Tagovi SGML-a čiji sadržaj treba preskočiti"
+
+#: modules/filter/tex-filter.info:7
+msgid "filter for dealing with TeX/LaTeX documents"
+msgstr "filtar za rad s TeX/LaTeX dokumentima"
+
+#: modules/filter/tex-filter.info:15
+msgid "check TeX comments"
+msgstr "provjeriti i TeX komentare"
+
+#: modules/filter/tex-filter.info:21
+msgid "TeX commands"
+msgstr "naredbe TeX-a"
+
+#: modules/filter/texinfo-filter.info:7
+msgid "filter for dealing with Texinfo documents"
+msgstr "filtar za rad s Texinfo dokumentima"
+
+#: modules/filter/texinfo-filter.info:13
+msgid "Texinfo commands to ignore the parameters of"
+msgstr "Texinfo naredbe čiji se parametri ignoriraju"
+
+#: modules/filter/texinfo-filter.info:41
+msgid "Texinfo environments to ignore"
+msgstr "Texinfo okoline koje se ignoriraju"
+
+#: modules/filter/url-filter.info:7
+msgid "filter to skip URL like constructs"
+msgstr "filtar za preskakanje struktura sličnih URL-u"
+
+#: modules/filter/modes/ccpp.amf:8
+msgid "mode for checking C++ comments and string literals"
+msgstr "za provjeru C++ komentara i (doslovnih) stringova"
+
+#: modules/filter/modes/comment.amf:5
+msgid "mode to check any lines starting with a #"
+msgstr "za provjeru redaka koji počinju s #"
+
+#: modules/filter/modes/email.amf:5
+msgid "mode for skipping quoted text in email messages"
+msgstr "za preskakanje citiranog teksta u e-pošti"
+
+#: modules/filter/modes/html.amf:10
+msgid "mode for checking HTML documents"
+msgstr "za provjeru HTML dokumenata"
+
+#: modules/filter/modes/markdown.amf:10
+#, fuzzy
+#| msgid "mode for checking Nroff documents"
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr "za provjeravanje Nroff dokumenata"
+
+#: modules/filter/modes/none.amf:5
+msgid "mode to disable all filters"
+msgstr "onemogućuje sve filtre"
+
+#: modules/filter/modes/nroff.amf:7
+msgid "mode for checking Nroff documents"
+msgstr "za provjeravanje Nroff dokumenata"
+
+#: modules/filter/modes/perl.amf:8
+msgid "mode for checking Perl comments and string literals"
+msgstr "za provjeru Perl komentara i (doslovnih) stringova"
+
+#: modules/filter/modes/sgml.amf:8
+msgid "mode for checking generic SGML/XML documents"
+msgstr "za provjeru generičkih SGML/XML dokumenata"
+
+#: modules/filter/modes/tex.amf:7
+msgid "mode for checking TeX/LaTeX documents"
+msgstr "za provjeru TeX/LaTeX dokumenata"
+
+#: modules/filter/modes/texinfo.amf:7
+msgid "mode for checking Texinfo documents"
+msgstr "za provjeru Texinfo dokumenata"
+
+#: modules/filter/modes/url.amf:5
+msgid "mode to skip URL like constructs (default mode)"
+msgstr "za preskakanje struktura sličnih URL-u (to je zadani način)"
msgstr ""
"Project-Id-Version: aspell 0.60.6\n"
"Report-Msgid-Bugs-To: kevina@gnu.org\n"
-"POT-Creation-Date: 2011-07-04 03:25-0600\n"
+"POT-Creation-Date: 2019-07-29 02:38-0400\n"
"PO-Revision-Date: 2008-11-11 10:15+0700\n"
"Last-Translator: Arif E. Nugroho <arif_endro@yahoo.com>\n"
"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
+"Language: id\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
#: common/info.cpp:232
msgid "a number between 0 and 1"
msgid "ASPELL_CONF env var"
msgstr "ASPELL_CONF env var"
-#. TRANSLATORS: The remaing strings in config.cpp should be kept
+#. TRANSLATORS: The remaining strings in config.cpp should be kept
#. under 50 characters, begin with a lower case character and not
#. include any trailing punctuation marks.
#: common/config.cpp:1360
msgid "time load time and suggest time in pipe mode"
msgstr "waktu load waktu dan waktu saran dalam mode pipe"
-#: common/convert.cpp:303 common/convert.cpp:429
+#: common/convert.cpp:303 common/convert.cpp:497
#, c-format
-msgid ""
-"This could also mean that the file \"%s\" could not be opened for reading or "
-"does not exist."
-msgstr ""
-"Ini dapat juga berarti kalau berkas \"%s\" tidak dapat dibuka untuk "
-"pembacaan atau juga tidak ada."
+msgid "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
+msgstr "Ini dapat juga berarti kalau berkas \"%s\" tidak dapat dibuka untuk pembacaan atau juga tidak ada."
-#: common/convert.cpp:552 common/convert.cpp:659 common/convert.cpp:705
+#: common/convert.cpp:582 common/convert.cpp:689 common/convert.cpp:735
#, c-format
msgid "The Unicode code point U+%04X is unsupported."
msgstr "Kode unicode menunjuk ke U+%04X tidak didukung."
-#: common/convert.cpp:829
-#, c-format
+#: common/convert.cpp:859
+#, fuzzy, c-format
+#| msgid "Invalid UTF-8 sequence at position %d."
msgid "Invalid UTF-8 sequence at position %ld."
-msgstr "Urutan UTF-8 di posisi %ld tidak valid."
+msgstr "Urutan UTF-8 di posisi %d tidak valid."
#: common/errors.cpp:27
msgid "Operation Not Supported: %what:1"
msgstr "Tombol \"%key:1\" tidak %accepted:2 dan ini juga tidak valid."
#: common/errors.cpp:147
-msgid ""
-"The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%"
-"key:1\"."
-msgstr ""
-"Nilai \"%value:2\" tidak %accepted:3 dan ini juga tidak valid untuk kunci \"%"
-"key:1\"."
+msgid "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
+msgstr "Nilai \"%value:2\" tidak %accepted:3 dan ini juga tidak valid untuk kunci \"%key:1\"."
#: common/errors.cpp:163
msgid "The key \"%key:1\" is not a string."
msgstr "Tombol \"%key:1\" tidak ada dalam daftar."
#: common/errors.cpp:195
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"reset-"
-"\"."
-msgstr ""
-"Tombol \"%key:1\" tidak mengambil parameter apapun ketika diawali oleh "
-"sebuah \"reset-\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
+msgstr "Tombol \"%key:1\" tidak mengambil parameter apapun ketika diawali oleh sebuah \"reset-\"."
#: common/errors.cpp:203
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by an \"enable-"
-"\"."
-msgstr ""
-"Tombol \"%key:1\" tidak mengambil parameter apapun ketika diawali dengan "
-"sebuah \"enable-\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by an \"enable-\"."
+msgstr "Tombol \"%key:1\" tidak mengambil parameter apapun ketika diawali dengan sebuah \"enable-\"."
#: common/errors.cpp:211
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" "
-"or \"disable-\"."
-msgstr ""
-"Tombol \"%key:1\" tidak mengambil parameter apapun ketika diawali dengan "
-"sebuah \"dont-\" atau \"disable-\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
+msgstr "Tombol \"%key:1\" tidak mengambil parameter apapun ketika diawali dengan sebuah \"dont-\" atau \"disable-\"."
#: common/errors.cpp:219
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"clear-"
-"\"."
-msgstr ""
-"Tombol \"%key:1\" tidak mengambil parameter apapun ketika diawali dengan "
-"sebuah \"clear-\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
+msgstr "Tombol \"%key:1\" tidak mengambil parameter apapun ketika diawali dengan sebuah \"clear-\"."
#: common/errors.cpp:235
#, c-format
#: common/errors.cpp:299
#, c-format
-msgid ""
-"The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be "
-"stripped."
-msgstr ""
-"Kondisi \"%cond:1\" tidak menjamin jika \"%strip:2\" dapat selalu dihapus."
+msgid "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
+msgstr "Kondisi \"%cond:1\" tidak menjamin jika \"%strip:2\" dapat selalu dihapus."
#: common/errors.cpp:307
#, c-format
-msgid ""
-"The file \"%file:1\" is not in the proper format. Expected the file to be in "
-"\"%exp:2\" not \"%got:3\"."
-msgstr ""
-"Berkas \"%file:1\" tidak dapat format yang baik. Diduga berkas berada dalam "
-"\"%exp:2\" bukan \"%got:3\"."
+msgid "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
+msgstr "Berkas \"%file:1\" tidak dapat format yang baik. Diduga berkas berada dalam \"%exp:2\" bukan \"%got:3\"."
#: common/errors.cpp:323
#, c-format
#: common/errors.cpp:651
#, c-format
msgid "\"%mode:1\": no start for magic search given for magic \"%magic:2\"."
-msgstr ""
-"\"%mode:1\": tidak ada awal untuk magik pencarian diberikan oleh magik \"%"
-"magic:2\"."
+msgstr "\"%mode:1\": tidak ada awal untuk magik pencarian diberikan oleh magik \"%magic:2\"."
#: common/errors.cpp:659
#, c-format
msgid "\"%mode:1\": no range for magic search given for magic \"%magic:2\"."
-msgstr ""
-"\"%mode:1\": tidak dalam jangkauan untuk pencarian magik diberikan untuk "
-"magik \"%magic:2\"."
+msgstr "\"%mode:1\": tidak dalam jangkauan untuk pencarian magik diberikan untuk magik \"%magic:2\"."
#: common/errors.cpp:667
#, c-format
msgid "\"%mode:1\": no magic expression available for magic \"%magic:2\"."
-msgstr ""
-"\"%mode:1\": tidak ada ekspresi magik yang tersedia untuk magik \"%magic:2\"."
+msgstr "\"%mode:1\": tidak ada ekspresi magik yang tersedia untuk magik \"%magic:2\"."
#: common/errors.cpp:675
-msgid ""
-"\"%mode:1\": Magic \"%magic:2\": bad regular expression after location "
-"specifier; regexp reports: \"%regerr:3\"."
-msgstr ""
-"\"%mode:1\": Magic \"%magic:2\": ekspresi regular buruk setelah "
-"penspesifikasi lokasi; regexp melaporkan: \"%regerr:3\"."
+msgid "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
+msgstr "\"%mode:1\": Magic \"%magic:2\": ekspresi regular buruk setelah penspesifikasi lokasi; regexp melaporkan: \"%regerr:3\"."
#: common/errors.cpp:691
#, c-format
msgid "Unhandled Error: "
msgstr "Error tidak tertangani: "
-#: prog/aspell.cpp:97
+#: prog/aspell.cpp:98
#, c-format
msgid "Error: %s\n"
msgstr "Error: %s\n"
-#: prog/aspell.cpp:102
+#: prog/aspell.cpp:103
msgid "Error: "
msgstr "Error: "
-#: prog/aspell.cpp:203
+#: prog/aspell.cpp:204
msgid "enter Email mode."
msgstr "masuk mode Email."
-#: prog/aspell.cpp:204
+#: prog/aspell.cpp:205
msgid "enter HTML mode."
msgstr "masuk mode HTML."
-#: prog/aspell.cpp:205
+#: prog/aspell.cpp:206
msgid "enter TeX mode."
msgstr "masuk mode TeX."
-#: prog/aspell.cpp:206
+#: prog/aspell.cpp:207
msgid "enter Nroff mode."
msgstr "masuk mode Nroff."
-#: prog/aspell.cpp:312
+#: prog/aspell.cpp:313
#, c-format
msgid "Invalid Option: %s"
msgstr "Opsi tidak valid: %s"
-#: prog/aspell.cpp:319
+#: prog/aspell.cpp:320
msgid " does not take any parameters."
msgstr " tidak mengambil parameter apapun."
-#: prog/aspell.cpp:332 prog/aspell.cpp:392
+#: prog/aspell.cpp:333 prog/aspell.cpp:393
#, c-format
msgid "You must specify a parameter for \"%s\"."
msgstr "Anda harus menspesifikasikan sebuah parameter untuk \"%s\"."
-#: prog/aspell.cpp:381
+#: prog/aspell.cpp:382
msgid "You must specify an action"
msgstr "Anda harus menspesifikasikan sebuah aksi"
-#: prog/aspell.cpp:389 prog/aspell.cpp:452 prog/aspell.cpp:474
+#: prog/aspell.cpp:390 prog/aspell.cpp:453 prog/aspell.cpp:475
#, c-format
msgid "Unknown Action: %s"
msgstr "Aksi tidak diketahui: %s"
-#: prog/aspell.cpp:395
+#: prog/aspell.cpp:396
#, c-format
msgid "Error: You must specify at least %d parameters for \"%s\".\n"
-msgstr ""
-"Error: Anda harus menspesifikasikan paling tidak %d parameter untuk \"%s\".\n"
+msgstr "Error: Anda harus menspesifikasikan paling tidak %d parameter untuk \"%s\".\n"
-#: prog/aspell.cpp:637
+#: prog/aspell.cpp:638
msgid "Invalid Input"
msgstr "Masukan tidak valid"
-#: prog/aspell.cpp:710
+#: prog/aspell.cpp:711
#, c-format
msgid "WARNING: Unable to enter Nroff mode: %s\n"
msgstr "PERINGATAN: Tidak dapat memasuki mode Nroff: %s\n"
-#: prog/aspell.cpp:731
+#: prog/aspell.cpp:732
msgid "Time to load word list: "
msgstr "Waktu untuk meload daftar kata: "
-#: prog/aspell.cpp:929
+#: prog/aspell.cpp:930
#, c-format
msgid "Suggestion Time: %f\n"
msgstr "Waktu Saran: %f\n"
-#: prog/aspell.cpp:972
+#: prog/aspell.cpp:973
msgid "You must specify a file name."
msgstr "Anda harus menspesifikasikan sebuah nama berkas."
-#: prog/aspell.cpp:975
+#: prog/aspell.cpp:976
msgid "Only one file name may be specified."
msgstr "Hanya satu nama berkas yang boleh dispesifikasikan."
-#: prog/aspell.cpp:985
+#: prog/aspell.cpp:986
#, c-format
msgid "Could not open the file \"%s\" for reading"
msgstr "Tidak dapat membuka berkas \"%s\" untuk pembacaan"
-#: prog/aspell.cpp:998
+#: prog/aspell.cpp:999
#, c-format
msgid "Invalid keymapping: %s"
msgstr "Pemetaan kunci tidak valid: %s"
-#: prog/aspell.cpp:1020
+#: prog/aspell.cpp:1014
+#, fuzzy, c-format
+#| msgid "\"%expression:1\" is not a valid regular expression."
+msgid "\"%s\" is not a regular file"
+msgstr "\"%expression:1\" bukan sebuah ekspresi regular yang valid."
+
+#: prog/aspell.cpp:1025
#, c-format
msgid "Could not open the file \"%s\" for writing. File not saved."
-msgstr ""
-"Tidak dapat membuka berkas \"%s\" untuk penulisan. Berkas tidak disimpan."
+msgstr "Tidak dapat membuka berkas \"%s\" untuk penulisan. Berkas tidak disimpan."
-#: prog/aspell.cpp:1033
+#: prog/aspell.cpp:1038
msgid "Ignore"
msgstr "Diabaikan"
-#: prog/aspell.cpp:1034
+#: prog/aspell.cpp:1039
msgid "Ignore all"
msgstr "Abaikan semua"
-#: prog/aspell.cpp:1035
+#: prog/aspell.cpp:1040
msgid "Replace"
msgstr "Ganti"
-#: prog/aspell.cpp:1036
+#: prog/aspell.cpp:1041
msgid "Replace all"
msgstr "Ganti semua"
-#: prog/aspell.cpp:1037
+#: prog/aspell.cpp:1042
msgid "Add"
msgstr "Tambah"
-#: prog/aspell.cpp:1038
+#: prog/aspell.cpp:1043
msgid "Add Lower"
msgstr "Tambah Lebih kecil"
-#: prog/aspell.cpp:1039
+#: prog/aspell.cpp:1044
msgid "Abort"
msgstr "Batalkan"
-#: prog/aspell.cpp:1040
+#: prog/aspell.cpp:1045
msgid "Exit"
msgstr "Keluar"
-#: prog/aspell.cpp:1116
+#: prog/aspell.cpp:1121
msgid "Are you sure you want to abort (y/n)? "
msgstr "Apakah anda yakin untuk membatalkan (y/t)? "
#. TRANSLATORS: The user may input any of these characters to say "yes".
#. MUST ONLY CONSIST OF ASCII CHARACTERS.
-#: prog/aspell.cpp:1120
+#: prog/aspell.cpp:1125
msgid "Yy"
msgstr "Yy"
-#: prog/aspell.cpp:1148
+#: prog/aspell.cpp:1153
msgid "With: "
msgstr "Dengan: "
-#: prog/aspell.cpp:1165
+#: prog/aspell.cpp:1170
msgid "Sorry that is an invalid choice!"
msgstr "Maaf itu adalah sebuah pilihan yang tidak valid!"
-#: prog/aspell.cpp:1386
+#: prog/aspell.cpp:1391
msgid "Sorry \"filter\" is currently unimplemented.\n"
msgstr "Maaf \"filter\" saat ini tidak terimplementasi.\n"
-#: prog/aspell.cpp:1520
+#: prog/aspell.cpp:1525
msgid "Can't merge a master word list yet. Sorry."
msgstr "Tidak dapat menggabungkan daftar kata master. Maaf."
-#: prog/aspell.cpp:1544
+#: prog/aspell.cpp:1549
msgid "Sorry \"create/merge personal\" is currently unimplemented.\n"
msgstr "Maaf \"create/merge personal\" saat ini belum diimplementasikan.\n"
-#: prog/aspell.cpp:1553 prog/aspell.cpp:1609
+#: prog/aspell.cpp:1558 prog/aspell.cpp:1614
#, c-format
msgid "Sorry I won't overwrite \"%s\""
msgstr "Maaf Saya tidak akan overwrite \"%s\""
-#: prog/aspell.cpp:1600
+#: prog/aspell.cpp:1605
msgid "Sorry \"create/merge repl\" is currently unimplemented.\n"
msgstr "Maaf \"create/merge repl\" saat ini belum diimplementasikan.\n"
-#: prog/aspell.cpp:1872
+#: prog/aspell.cpp:1877
#, c-format
msgid "\"%s\" is not a valid flag for the \"munch-list\" command."
msgstr "\"%s\" bukan sebuah opsi valid untuk perintah \"munch-list\"."
#. TRANSLATORS: These should all be formated to fit in 80 column or
#. less
-#: prog/aspell.cpp:2799
+#: prog/aspell.cpp:2804
msgid "Usage: aspell [options] <command>"
msgstr "Penggunaan: aspell [opsi] <perintah>"
-#: prog/aspell.cpp:2800
+#: prog/aspell.cpp:2805
msgid "<command> is one of:"
msgstr "<perintah> salah satu dari:"
-#: prog/aspell.cpp:2801
+#: prog/aspell.cpp:2806
msgid " -?|usage display a brief usage message"
msgstr " -?|usage tampilkan pesan penggunaan singkat"
-#: prog/aspell.cpp:2802
+#: prog/aspell.cpp:2807
msgid " help display a detailed help message"
msgstr " help tampilkan sebuah pesan bantuan lengkap"
-#: prog/aspell.cpp:2803
+#: prog/aspell.cpp:2808
msgid " -c|check <file> to check a file"
msgstr " -c|check <file> untuk memeriksa sebuah berkas"
-#: prog/aspell.cpp:2804
+#: prog/aspell.cpp:2809
msgid " -a|pipe \"ispell -a\" compatibility mode"
msgstr " -a|pipe \"ispell -a\" mode kompabilitas"
-#: prog/aspell.cpp:2805
+#: prog/aspell.cpp:2810
msgid " [dump] config dumps the current configuration to stdout"
msgstr " [dump] config dump konfigurasi sekarang di stdout"
-#: prog/aspell.cpp:2806
+#: prog/aspell.cpp:2811
msgid " config <key> prints the current value of an option"
msgstr " config <kunci> tampilkan nilai sekaran dari sebuah opsi"
-#: prog/aspell.cpp:2807
+#: prog/aspell.cpp:2812
msgid " [dump] dicts | filters | modes"
msgstr " [dump] dicts | filters | modes"
-#: prog/aspell.cpp:2808
+#: prog/aspell.cpp:2813
msgid " lists available dictionaries / filters / filter modes"
msgstr " daftar kamus yang tersedia / filters / filter modes"
-#: prog/aspell.cpp:2809
+#: prog/aspell.cpp:2814
msgid "[options] is any of the following:"
msgstr "[opsi] adalah salah satu dari berikut:"
-#: prog/aspell.cpp:2822
-msgid ""
-" list produce a list of misspelled words from standard input"
+#: prog/aspell.cpp:2827
+msgid " list produce a list of misspelled words from standard input"
msgstr ""
" list menghasilkan sebuah daftar dari kata yang salah sebut\n"
" dari standar masukan"
-#: prog/aspell.cpp:2825
-msgid ""
-" soundslike returns the sounds like equivalent for each word entered"
+#: prog/aspell.cpp:2830
+msgid " soundslike returns the sounds like equivalent for each word entered"
msgstr ""
" soundslike mengembalikan sound like ekuivalen untuk setiap kata\n"
" yang dimasukan"
-#: prog/aspell.cpp:2826
+#: prog/aspell.cpp:2831
msgid " munch generate possible root words and affixes"
msgstr " munch hasilkan kemungkinan akar kata dan affixes"
-#: prog/aspell.cpp:2827
+#: prog/aspell.cpp:2832
msgid " expand [1-4] expands affix flags"
msgstr " expand [1-4] ekspan affix flags"
-#: prog/aspell.cpp:2828
-msgid ""
-" clean [strict] cleans a word list so that every line is a valid word"
+#: prog/aspell.cpp:2833
+msgid " clean [strict] cleans a word list so that every line is a valid word"
msgstr ""
" clean [strict] bersihkan sebuah daftar kata jadi setiap baris adalah\n"
" sebuah kata valid"
-#: prog/aspell.cpp:2830
+#: prog/aspell.cpp:2835
msgid " -v|version prints a version line"
msgstr " -v|version tampilkan sebuah baris versi"
-#: prog/aspell.cpp:2831
+#: prog/aspell.cpp:2836
msgid " munch-list [simple] [single|multi] [keep]"
msgstr " munch-list [simple] [single|multi] [keep]"
-#: prog/aspell.cpp:2832
+#: prog/aspell.cpp:2837
msgid " reduce the size of a word list via affix compression"
msgstr " kurangi ukuran dari sebuah daftar kata melalui kompresi affix"
-#: prog/aspell.cpp:2833
+#: prog/aspell.cpp:2838
msgid " conv <from> <to> [<norm-form>]"
msgstr " conv <dari> <ke> [<bentuk-normal>]"
-#: prog/aspell.cpp:2834
+#: prog/aspell.cpp:2839
msgid " converts from one encoding to another"
msgstr " ubah dari satu pengkodean ke yang lain"
-#: prog/aspell.cpp:2835
+#: prog/aspell.cpp:2840
msgid " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
msgstr " norm (<norm-map> | <dari> <norm-map> <ke>) [<bentuk-normal>]"
-#: prog/aspell.cpp:2836
+#: prog/aspell.cpp:2841
msgid " perform Unicode normalization"
msgstr " lakuan normalisasi Unicode"
-#: prog/aspell.cpp:2839
+#: prog/aspell.cpp:2844
msgid " dump|create|merge master|personal|repl [<name>]"
msgstr " dump|create|merge master|personal|repl [<nama>]"
-#: prog/aspell.cpp:2840
-msgid ""
-" dumps, creates or merges a master, personal, or replacement dictionary."
-msgstr ""
-" dumps, buat atau gabungkan sebuah master, personal, atau kamus pengganti."
+#: prog/aspell.cpp:2845
+msgid " dumps, creates or merges a master, personal, or replacement dictionary."
+msgstr " dumps, buat atau gabungkan sebuah master, personal, atau kamus pengganti."
#. TRANSLATORS: "none", "internal" and "strict" are literal values
#. and should not be translated.
-#: prog/aspell.cpp:2844
-msgid ""
-" <norm-form> normalization form to use, either none, internal, or "
-"strict"
-msgstr ""
-" <bentuk-normal> normalisasi dari bentuk untuk menggunakan baik, none, "
-"internal, atau strict"
-
-#: prog/aspell.cpp:2854
-#, c-format
+#: prog/aspell.cpp:2849
+msgid " <norm-form> normalization form to use, either none, internal, or strict"
+msgstr " <bentuk-normal> normalisasi dari bentuk untuk menggunakan baik, none, internal, atau strict"
+
+#: prog/aspell.cpp:2859
+#, fuzzy, c-format
+#| msgid ""
+#| "\n"
+#| "Aspell %s. Copyright 2000-2004 by Kevin Atkinson.\n"
+#| "\n"
msgid ""
"\n"
"Aspell %s. Copyright 2000-2011 by Kevin Atkinson.\n"
"\n"
msgstr ""
"\n"
-"Aspell %s. Hak Cipta 2000-2011 oleh Kevin Atkinson.\n"
+"Aspell %s. Hak Cipta 2000-2004 oleh Kevin Atkinson.\n"
"\n"
-#: prog/aspell.cpp:2888
+#: prog/aspell.cpp:2893
msgid ""
"Available Dictionaries:\n"
" Dictionaries can be selected directly via the \"-d\" or \"master\"\n"
msgstr ""
"Kamus yang tersedia:\n"
" Kamus bisaa dipilih secara langsung melalui opsi \"-d\" atau \"master\"\n"
-" . Mereka juga dapat dipilih secara tidak langsung melalui opsi \"lang"
-"\",\n"
+" . Mereka juga dapat dipilih secara tidak langsung melalui opsi \"lang\",\n"
" \"variety\", dan \"size\".\n"
-#: prog/aspell.cpp:2909
+#: prog/aspell.cpp:2914
msgid ""
"Available Filters (and associated options):\n"
" Filters can be added or removed via the \"filter\" option.\n"
"Saringan yang tersedia (dan opsi yang berasosiasi):\n"
" Saringan dapat ditambahkan atau dihapus melalui opsi \"filter\".\n"
-#: prog/aspell.cpp:2916
+#: prog/aspell.cpp:2921
#, c-format
msgid ""
"\n"
" %s penyaring: %s\n"
#. TRANSLATORS: This should be formated to fit in 80 column or less
-#: prog/aspell.cpp:2933
+#: prog/aspell.cpp:2938
msgid ""
"Available Filter Modes:\n"
" Filter Modes are reconfigured combinations of filters optimized for\n"
" dioptimasi untuk berkas dari tipe yang dispesifikasikan. Sebuah mode\n"
" dipilih melalui opsi \"mode\".\n"
" Ini akan terjadi secara implisit jika Aspell mampu untuk\n"
-" mengidentifikasikan tipe berkas dari ekstensi, dan kemungkinan isinya, "
-"dari berkas\n"
+" mengidentifikasikan tipe berkas dari ekstensi, dan kemungkinan isinya, dari berkas\n"
#: prog/check_funs.cpp:287
msgid "Error: Stdin not a terminal."
#: modules/speller/default/language.cpp:494
#: modules/speller/default/language.cpp:503
#, c-format
-msgid ""
-"The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgid "The character '%s' (U+%02X) must be followed by an alphabetic character."
msgstr "Karakter '%s' (U+%02X) harus diikuti oleh sebuah karakter alphabet."
#: modules/speller/default/language.cpp:496
msgstr "Karakter '%s' (U+%02X) tidak boleh muncul ditengah dari sebuah kata."
#: modules/speller/default/language.cpp:508
-msgid ""
-"The character '\\r' (U+0D) may not appear at the end of a word. This "
-"probably means means that the file is using MS-DOS EOL instead of Unix EOL."
-msgstr ""
-"Karakter '\\r' (U+0D) tidak boleh muncul diakhir dari sebuah kata. Ini "
-"mungkin berarti bahwa berkas tersebut menggunakan MS-DOS EOL daripada Unix "
-"EOL."
+msgid "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgstr "Karakter '\\r' (U+0D) tidak boleh muncul diakhir dari sebuah kata. Ini mungkin berarti bahwa berkas tersebut menggunakan MS-DOS EOL daripada Unix EOL."
#: modules/speller/default/language.cpp:511
#, c-format
msgid "Warning: Removing inapplicable affix '%s' from word %s.\n"
msgstr "Peringatan: Menghapus affix '%s' tidak teraplikasi dari kata %s.\n"
-#: modules/speller/default/language.cpp:674
+#: modules/speller/default/language.cpp:675
#, c-format
msgid "Warning: %s Skipping string.\n"
msgstr "Peringatan: %s Melewatkan string.\n"
-#: modules/speller/default/language.cpp:732
+#: modules/speller/default/language.cpp:733
msgid "The total length is larger than 240 characters."
msgstr "Panjang total lebih besar dari 240 karakter."
-#: modules/speller/default/language.cpp:736
+#: modules/speller/default/language.cpp:737
#, c-format
msgid "Warning: %s Skipping word.\n"
msgstr "Peringatan: %s Melewatkan kata.\n"
msgstr "Mungkin jumlah tidak benar."
#: modules/speller/default/readonly_ws.cpp:362
+msgid "Incompatible hash function."
+msgstr ""
+
+#: modules/speller/default/readonly_ws.cpp:440
msgid "Wrong endian order."
msgstr "Pengurutan endian salah."
-#: modules/speller/default/readonly_ws.cpp:385
+#: modules/speller/default/readonly_ws.cpp:463
msgid "Wrong soundslike."
msgstr "Soundslike salah."
-#: modules/speller/default/readonly_ws.cpp:391
+#: modules/speller/default/readonly_ws.cpp:469
msgid "Wrong soundslike version."
msgstr "Versi soundslike salah."
-#: modules/speller/default/readonly_ws.cpp:853
+#: modules/speller/default/readonly_ws.cpp:934
msgid "Affix flags found in word but no affix file given."
-msgstr ""
-"Opsi affix ditemukan dalam kata tetapi tidak ada berkas affix yang diberikan."
+msgstr "Opsi affix ditemukan dalam kata tetapi tidak ada berkas affix yang diberikan."
-#: modules/speller/default/readonly_ws.cpp:891
-msgid ""
-"The total word length, with soundslike data, is larger than 240 characters."
-msgstr ""
-"Panjang total kata, dengan data soundslike, lebih besar dari 240 karakter."
+#: modules/speller/default/readonly_ws.cpp:972
+msgid "The total word length, with soundslike data, is larger than 240 characters."
+msgstr "Panjang total kata, dengan data soundslike, lebih besar dari 240 karakter."
#: modules/speller/default/multi_ws.cpp:58
msgid "There must be at least one \"add\" line."
msgid "HTML tags to always skip the contents of"
msgstr "tags HTML untuk selalu dilewatkan isi dari"
+#: modules/filter/markdown-filter.info:8
+#, fuzzy
+#| msgid "filter for dealing with Texinfo documents"
+msgid "filter for Markdown/CommonMark documents"
+msgstr "penyaring untuk menghadapi dengan dokumen Texinfo"
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
+msgstr ""
+
#: modules/filter/nroff-filter.info:7
msgid "filter for dealing with Nroff documents"
msgstr "penyaring untuk menghadapi dengan dokumen Nroff"
msgid "mode for checking HTML documents"
msgstr "mode untuk pemeriksaan dokumen HTML"
+#: modules/filter/modes/markdown.amf:10
+#, fuzzy
+#| msgid "mode for checking Nroff documents"
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr "mode untuk pemeriksaan dokumen Nroff"
+
#: modules/filter/modes/none.amf:5
msgid "mode to disable all filters"
msgstr "mode untuk menonaktifkan semua filter"
msgstr ""
"Project-Id-Version: aspell 0.60.6\n"
"Report-Msgid-Bugs-To: kevina@gnu.org\n"
-"POT-Creation-Date: 2011-07-04 03:25-0600\n"
+"POT-Creation-Date: 2019-07-29 02:38-0400\n"
"PO-Revision-Date: 2008-05-01 21:36+0200\n"
"Last-Translator: Cristian Rigamonti <cri@linux.it>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
+"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
#: common/info.cpp:232
msgid "a number between 0 and 1"
msgid "ASPELL_CONF env var"
msgstr "var. di ambiente ASPELL_CONF"
-#. TRANSLATORS: The remaing strings in config.cpp should be kept
+#. TRANSLATORS: The remaining strings in config.cpp should be kept
#. under 50 characters, begin with a lower case character and not
#. include any trailing punctuation marks.
#: common/config.cpp:1360
#. TRANSLATORS: It is OK if this is longer than 50 chars
#: common/config.cpp:1388
msgid "ignore accents when checking words -- CURRENTLY IGNORED"
-msgstr ""
-"ignora gli accenti durante il controllo ortografico -- AL MOMENTO IGNORATO"
+msgstr "ignora gli accenti durante il controllo ortografico -- AL MOMENTO IGNORATO"
#: common/config.cpp:1390
msgid "ignore case when checking words"
#. TRANSLATORS: It is OK if this is longer than 50 chars
#: common/config.cpp:1475
msgid "indicator for affix flags in word lists -- CURRENTLY IGNORED"
-msgstr ""
-"indicatore per i flag degli affissi nelle liste di parole -- AL MOMENTO "
-"IGNORATO"
+msgstr "indicatore per i flag degli affissi nelle liste di parole -- AL MOMENTO IGNORATO"
#: common/config.cpp:1477
msgid "use affix compression when creating dictionaries"
msgid "time load time and suggest time in pipe mode"
msgstr "misura i tempi in modalità pipe"
-#: common/convert.cpp:303 common/convert.cpp:429
+#: common/convert.cpp:303 common/convert.cpp:497
#, c-format
-msgid ""
-"This could also mean that the file \"%s\" could not be opened for reading or "
-"does not exist."
-msgstr ""
-"Questo potrebbe anche significare che il file \"%s\" non può essere aperto "
-"in lettura o che non esiste."
+msgid "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
+msgstr "Questo potrebbe anche significare che il file \"%s\" non può essere aperto in lettura o che non esiste."
# code point?
-#: common/convert.cpp:552 common/convert.cpp:659 common/convert.cpp:705
+#: common/convert.cpp:582 common/convert.cpp:689 common/convert.cpp:735
#, c-format
msgid "The Unicode code point U+%04X is unsupported."
msgstr "Il code point Unicode U+%04X non è supportato."
-#: common/convert.cpp:829
-#, c-format
+#: common/convert.cpp:859
+#, fuzzy, c-format
+#| msgid "Invalid UTF-8 sequence at position %d."
msgid "Invalid UTF-8 sequence at position %ld."
-msgstr "Sequenza UTF-8 non valida alla posizione %ld."
+msgstr "Sequenza UTF-8 non valida alla posizione %d."
#: common/errors.cpp:27
msgid "Operation Not Supported: %what:1"
msgstr "L'opzione \"%key:1\" non è %accepted:2 e quindi non è valida."
#: common/errors.cpp:147
-msgid ""
-"The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%"
-"key:1\"."
-msgstr ""
-"Il valore \"%value:2\" non è %accepted:3 e quindi non è valido per l'opzione "
-"\"%key:1\"."
+msgid "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
+msgstr "Il valore \"%value:2\" non è %accepted:3 e quindi non è valido per l'opzione \"%key:1\"."
#: common/errors.cpp:163
msgid "The key \"%key:1\" is not a string."
msgstr "L'opzione \"%key:1\" non è una lista."
#: common/errors.cpp:195
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"reset-"
-"\"."
-msgstr ""
-"L'opzione \"%key:1\" non accetta parametri quando è prefissata da \"reset-\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
+msgstr "L'opzione \"%key:1\" non accetta parametri quando è prefissata da \"reset-\"."
#: common/errors.cpp:203
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by an \"enable-"
-"\"."
-msgstr ""
-"L'opzione \"%key:1\" non accetta parametri quando è prefissata da \"enable-"
-"\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by an \"enable-\"."
+msgstr "L'opzione \"%key:1\" non accetta parametri quando è prefissata da \"enable-\"."
#: common/errors.cpp:211
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" "
-"or \"disable-\"."
-msgstr ""
-"L'opzione \"%key:1\" non accetta parametri quando è prefissata da \"dont-\" "
-"o \"disable-\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
+msgstr "L'opzione \"%key:1\" non accetta parametri quando è prefissata da \"dont-\" o \"disable-\"."
#: common/errors.cpp:219
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"clear-"
-"\"."
-msgstr ""
-"L'opzione \"%key:1\" non accetta parametri quando è prefissata da \"clear-\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
+msgstr "L'opzione \"%key:1\" non accetta parametri quando è prefissata da \"clear-\"."
#: common/errors.cpp:235
#, c-format
#: common/errors.cpp:259
#, c-format
msgid "No word lists can be found for the language \"%lang:1\"."
-msgstr ""
-"Non è possibile trovare alcuna lista di parole per la lingua \"%lang:1\"."
+msgstr "Non è possibile trovare alcuna lista di parole per la lingua \"%lang:1\"."
#: common/errors.cpp:267
#, c-format
#: common/errors.cpp:299
#, c-format
-msgid ""
-"The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be "
-"stripped."
-msgstr ""
-"La condizione \"%cond:1\" non garantisce che \"%strip:2\" possa sempre "
-"essere rimosso."
+msgid "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
+msgstr "La condizione \"%cond:1\" non garantisce che \"%strip:2\" possa sempre essere rimosso."
#: common/errors.cpp:307
#, c-format
-msgid ""
-"The file \"%file:1\" is not in the proper format. Expected the file to be in "
-"\"%exp:2\" not \"%got:3\"."
-msgstr ""
-"Il file \"%file:1\" non è nel formato richiesto. Il file dev'essere in \"%"
-"exp:2\" non \"%got:3\"."
+msgid "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
+msgstr "Il file \"%file:1\" non è nel formato richiesto. Il file dev'essere in \"%exp:2\" non \"%got:3\"."
#: common/errors.cpp:323
#, c-format
#: common/errors.cpp:403
msgid "The affix flag '%aff:1' can not be applied to word \"%word:2\"."
-msgstr ""
-"Il flag dell'affisso '%aff:1' non può essere applicato alla parola \"%word:2"
-"\"."
+msgstr "Il flag dell'affisso '%aff:1' non può essere applicato alla parola \"%word:2\"."
#: common/errors.cpp:451
msgid "not a version number"
#: common/errors.cpp:515
msgid "Use option modifiers only within named option."
-msgstr ""
-"I modificatori di opzioni vanno usati solo all'interno dell'opzione "
-"specificata."
+msgstr "I modificatori di opzioni vanno usati solo all'interno dell'opzione specificata."
#: common/errors.cpp:523
msgid "Option modifier unknown."
#: common/errors.cpp:595
msgid "Aspell version does not match mode's requirement."
-msgstr ""
-"La versione di aspell non corrisponde a quella richiesta dalla modalità."
+msgstr "La versione di aspell non corrisponde a quella richiesta dalla modalità."
#: common/errors.cpp:603
msgid "Missing magic mode expression."
#: common/errors.cpp:635
#, c-format
msgid "\"%mode:1\" error while extend Aspell modes. (out of memory?)"
-msgstr ""
-"\"%mode:1\" errore nell'estensione modalità di Aspell (memoria esaurita?)."
+msgstr "\"%mode:1\" errore nell'estensione modalità di Aspell (memoria esaurita?)."
#: common/errors.cpp:651
#, c-format
msgid "\"%mode:1\": no start for magic search given for magic \"%magic:2\"."
-msgstr ""
-"\"%mode:1\": non è stato indicato un inizio per la ricerca magic \"%magic:2"
-"\"."
+msgstr "\"%mode:1\": non è stato indicato un inizio per la ricerca magic \"%magic:2\"."
#: common/errors.cpp:659
#, c-format
msgid "\"%mode:1\": no range for magic search given for magic \"%magic:2\"."
-msgstr ""
-"\"%mode:1\": non è stato indicato un intervallo per la ricerca magic \"%"
-"magic:2\"."
+msgstr "\"%mode:1\": non è stato indicato un intervallo per la ricerca magic \"%magic:2\"."
#: common/errors.cpp:667
#, c-format
msgid "\"%mode:1\": no magic expression available for magic \"%magic:2\"."
-msgstr ""
-"\"%mode:1\": non è disponibile alcuna espressione per la ricerca magic \"%"
-"magic:2\"."
+msgstr "\"%mode:1\": non è disponibile alcuna espressione per la ricerca magic \"%magic:2\"."
#: common/errors.cpp:675
-msgid ""
-"\"%mode:1\": Magic \"%magic:2\": bad regular expression after location "
-"specifier; regexp reports: \"%regerr:3\"."
-msgstr ""
-"\"%mode:1\": Magic \"%magic:2\": espressione regolare scorretta dopo lo "
-"specificatore di locazione; regexp restituisce: \"%regerr:3\"."
+msgid "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
+msgstr "\"%mode:1\": Magic \"%magic:2\": espressione regolare scorretta dopo lo specificatore di locazione; regexp restituisce: \"%regerr:3\"."
#: common/errors.cpp:691
#, c-format
msgid "Unhandled Error: "
msgstr "Errore non riconosciuto: "
-#: prog/aspell.cpp:97
+#: prog/aspell.cpp:98
#, c-format
msgid "Error: %s\n"
msgstr "Errore: %s\n"
-#: prog/aspell.cpp:102
+#: prog/aspell.cpp:103
msgid "Error: "
msgstr "Errore: "
-#: prog/aspell.cpp:203
+#: prog/aspell.cpp:204
msgid "enter Email mode."
msgstr "entra in modalità Email."
-#: prog/aspell.cpp:204
+#: prog/aspell.cpp:205
msgid "enter HTML mode."
msgstr "entra in modalità HTML."
-#: prog/aspell.cpp:205
+#: prog/aspell.cpp:206
msgid "enter TeX mode."
msgstr "entra in modalità TeX."
-#: prog/aspell.cpp:206
+#: prog/aspell.cpp:207
msgid "enter Nroff mode."
msgstr "entra in modalità Nroff."
-#: prog/aspell.cpp:312
+#: prog/aspell.cpp:313
#, c-format
msgid "Invalid Option: %s"
msgstr "Opzione non valida: %s"
-#: prog/aspell.cpp:319
+#: prog/aspell.cpp:320
msgid " does not take any parameters."
msgstr "non accetta alcun parametro."
-#: prog/aspell.cpp:332 prog/aspell.cpp:392
+#: prog/aspell.cpp:333 prog/aspell.cpp:393
#, c-format
msgid "You must specify a parameter for \"%s\"."
msgstr "Occorre specificare un parametro per \"%s\"."
-#: prog/aspell.cpp:381
+#: prog/aspell.cpp:382
msgid "You must specify an action"
msgstr "Occorre specificare un'azione"
-#: prog/aspell.cpp:389 prog/aspell.cpp:452 prog/aspell.cpp:474
+#: prog/aspell.cpp:390 prog/aspell.cpp:453 prog/aspell.cpp:475
#, c-format
msgid "Unknown Action: %s"
msgstr "Azione sconosciuta: %s"
-#: prog/aspell.cpp:395
+#: prog/aspell.cpp:396
#, c-format
msgid "Error: You must specify at least %d parameters for \"%s\".\n"
msgstr "Errore: occorre specificare almeno %d parametri per \"%s\".\n"
-#: prog/aspell.cpp:637
+#: prog/aspell.cpp:638
msgid "Invalid Input"
msgstr "Input non valido"
-#: prog/aspell.cpp:710
+#: prog/aspell.cpp:711
#, c-format
msgid "WARNING: Unable to enter Nroff mode: %s\n"
msgstr "ATTENZIONE: impossibile entrare in modalità Nroff: %s\n"
-#: prog/aspell.cpp:731
+#: prog/aspell.cpp:732
msgid "Time to load word list: "
msgstr "Tempo di caricamento della lista di parole: "
-#: prog/aspell.cpp:929
+#: prog/aspell.cpp:930
#, c-format
msgid "Suggestion Time: %f\n"
msgstr "Tempo di suggerimento: %f\n"
-#: prog/aspell.cpp:972
+#: prog/aspell.cpp:973
msgid "You must specify a file name."
msgstr "Occorre specificare un nome di file."
-#: prog/aspell.cpp:975
+#: prog/aspell.cpp:976
msgid "Only one file name may be specified."
msgstr "Può essere specificato solo un nome di file."
-#: prog/aspell.cpp:985
+#: prog/aspell.cpp:986
#, c-format
msgid "Could not open the file \"%s\" for reading"
msgstr "Impossibile aprire il file \"%s\" per la lettura"
-#: prog/aspell.cpp:998
+#: prog/aspell.cpp:999
#, c-format
msgid "Invalid keymapping: %s"
msgstr "Combinazione di tasti non valida: %s"
-#: prog/aspell.cpp:1020
+#: prog/aspell.cpp:1014
+#, fuzzy, c-format
+#| msgid "\"%expression:1\" is not a valid regular expression."
+msgid "\"%s\" is not a regular file"
+msgstr "\"%expression:1\" non è un'espressione regolare valida."
+
+#: prog/aspell.cpp:1025
#, c-format
msgid "Could not open the file \"%s\" for writing. File not saved."
msgstr "Impossibile aprire il file \"%s\" per la scrittura. File non salvato."
-#: prog/aspell.cpp:1033
+#: prog/aspell.cpp:1038
msgid "Ignore"
msgstr "Ignora"
-#: prog/aspell.cpp:1034
+#: prog/aspell.cpp:1039
msgid "Ignore all"
msgstr "Ignora tutti"
-#: prog/aspell.cpp:1035
+#: prog/aspell.cpp:1040
msgid "Replace"
msgstr "Rimpiazza"
-#: prog/aspell.cpp:1036
+#: prog/aspell.cpp:1041
msgid "Replace all"
msgstr "Rimpiazza tutti"
-#: prog/aspell.cpp:1037
+#: prog/aspell.cpp:1042
msgid "Add"
msgstr "Aggiungi"
-#: prog/aspell.cpp:1038
+#: prog/aspell.cpp:1043
msgid "Add Lower"
msgstr "Aggiungi minuscolo"
-#: prog/aspell.cpp:1039
+#: prog/aspell.cpp:1044
msgid "Abort"
msgstr "Abbandona"
-#: prog/aspell.cpp:1040
+#: prog/aspell.cpp:1045
msgid "Exit"
msgstr "Esci"
-#: prog/aspell.cpp:1116
+#: prog/aspell.cpp:1121
msgid "Are you sure you want to abort (y/n)? "
msgstr "Abbandonare davvero (s/n)? "
#. TRANSLATORS: The user may input any of these characters to say "yes".
#. MUST ONLY CONSIST OF ASCII CHARACTERS.
-#: prog/aspell.cpp:1120
+#: prog/aspell.cpp:1125
msgid "Yy"
msgstr "YySs"
-#: prog/aspell.cpp:1148
+#: prog/aspell.cpp:1153
msgid "With: "
msgstr "Con: "
-#: prog/aspell.cpp:1165
+#: prog/aspell.cpp:1170
msgid "Sorry that is an invalid choice!"
msgstr "La scelta non è valida!"
-#: prog/aspell.cpp:1386
+#: prog/aspell.cpp:1391
msgid "Sorry \"filter\" is currently unimplemented.\n"
msgstr "Attenzione: \"filter\" non è ancora implementato.\n"
-#: prog/aspell.cpp:1520
+#: prog/aspell.cpp:1525
msgid "Can't merge a master word list yet. Sorry."
msgstr "Non è ancora possibile unire una lista di parole master."
-#: prog/aspell.cpp:1544
+#: prog/aspell.cpp:1549
msgid "Sorry \"create/merge personal\" is currently unimplemented.\n"
msgstr "Attenzione: \"create/merge personal\" non è ancora implementato.\n"
-#: prog/aspell.cpp:1553 prog/aspell.cpp:1609
+#: prog/aspell.cpp:1558 prog/aspell.cpp:1614
#, c-format
msgid "Sorry I won't overwrite \"%s\""
msgstr "Attenzione: \"%s\" non verrà sovrascritto"
-#: prog/aspell.cpp:1600
+#: prog/aspell.cpp:1605
msgid "Sorry \"create/merge repl\" is currently unimplemented.\n"
msgstr "Attenzione: \"create/merge repl\" non è ancora implementato.\n"
-#: prog/aspell.cpp:1872
+#: prog/aspell.cpp:1877
#, c-format
msgid "\"%s\" is not a valid flag for the \"munch-list\" command."
msgstr "\"%s\" non è un flag valido per il comando \"munch-list\"."
#. TRANSLATORS: These should all be formated to fit in 80 column or
#. less
-#: prog/aspell.cpp:2799
+#: prog/aspell.cpp:2804
msgid "Usage: aspell [options] <command>"
msgstr "Uso: aspell [opzioni] <comando>"
-#: prog/aspell.cpp:2800
+#: prog/aspell.cpp:2805
msgid "<command> is one of:"
msgstr "Il <comando> può essere uno dei seguenti:"
-#: prog/aspell.cpp:2801
+#: prog/aspell.cpp:2806
msgid " -?|usage display a brief usage message"
msgstr " -?|usage mostra un breve messaggio di aiuto"
-#: prog/aspell.cpp:2802
+#: prog/aspell.cpp:2807
msgid " help display a detailed help message"
msgstr " help mostra un messaggio di aiuto dettagliato"
-#: prog/aspell.cpp:2803
+#: prog/aspell.cpp:2808
msgid " -c|check <file> to check a file"
msgstr " -c|check <file> controlla un file"
-#: prog/aspell.cpp:2804
+#: prog/aspell.cpp:2809
msgid " -a|pipe \"ispell -a\" compatibility mode"
msgstr " -a|pipe modalità compatibile con \"ispell -a\""
-#: prog/aspell.cpp:2805
+#: prog/aspell.cpp:2810
msgid " [dump] config dumps the current configuration to stdout"
msgstr " [dump] config mostra l'intera configurazione attuale"
-#: prog/aspell.cpp:2806
+#: prog/aspell.cpp:2811
msgid " config <key> prints the current value of an option"
msgstr " config <opzione> mostra il valore attuale di un'opzione"
-#: prog/aspell.cpp:2807
+#: prog/aspell.cpp:2812
msgid " [dump] dicts | filters | modes"
msgstr " [dump] dicts | filters | modes"
-#: prog/aspell.cpp:2808
+#: prog/aspell.cpp:2813
msgid " lists available dictionaries / filters / filter modes"
msgstr " elenca i dizionari / filtri / modalità di filtro disponibili"
-#: prog/aspell.cpp:2809
+#: prog/aspell.cpp:2814
msgid "[options] is any of the following:"
msgstr "Le [opzioni] possono essere le seguenti:"
-#: prog/aspell.cpp:2822
-msgid ""
-" list produce a list of misspelled words from standard input"
-msgstr ""
-" list produce un elenco delle parole errate dallo standard input"
+#: prog/aspell.cpp:2827
+msgid " list produce a list of misspelled words from standard input"
+msgstr " list produce un elenco delle parole errate dallo standard input"
-#: prog/aspell.cpp:2825
-msgid ""
-" soundslike returns the sounds like equivalent for each word entered"
-msgstr ""
-" soundslike mostra l'equivalente soundslike per ogni parola immessa"
+#: prog/aspell.cpp:2830
+msgid " soundslike returns the sounds like equivalent for each word entered"
+msgstr " soundslike mostra l'equivalente soundslike per ogni parola immessa"
-#: prog/aspell.cpp:2826
+#: prog/aspell.cpp:2831
msgid " munch generate possible root words and affixes"
msgstr " munch genera le radici e gli affissi possibili"
-#: prog/aspell.cpp:2827
+#: prog/aspell.cpp:2832
msgid " expand [1-4] expands affix flags"
msgstr " expand [1-4] espande i flag degli affissi"
-#: prog/aspell.cpp:2828
-msgid ""
-" clean [strict] cleans a word list so that every line is a valid word"
-msgstr ""
-" clean [strict] corregge una lista di parole in modo che ogni riga sia "
-"una parola valida"
+#: prog/aspell.cpp:2833
+msgid " clean [strict] cleans a word list so that every line is a valid word"
+msgstr " clean [strict] corregge una lista di parole in modo che ogni riga sia una parola valida"
-#: prog/aspell.cpp:2830
+#: prog/aspell.cpp:2835
msgid " -v|version prints a version line"
msgstr " -v|version mostra la versione"
-#: prog/aspell.cpp:2831
+#: prog/aspell.cpp:2836
msgid " munch-list [simple] [single|multi] [keep]"
msgstr " munch-list [simple] [single|multi] [keep]"
-#: prog/aspell.cpp:2832
+#: prog/aspell.cpp:2837
msgid " reduce the size of a word list via affix compression"
-msgstr ""
-" riduce la dimensione di una lista di parole comprimendo gli affissi"
+msgstr " riduce la dimensione di una lista di parole comprimendo gli affissi"
-#: prog/aspell.cpp:2833
+#: prog/aspell.cpp:2838
msgid " conv <from> <to> [<norm-form>]"
msgstr " conv <from> <to> [<norm-form>]"
-#: prog/aspell.cpp:2834
+#: prog/aspell.cpp:2839
msgid " converts from one encoding to another"
msgstr " converte da una codifica a un'altra"
-#: prog/aspell.cpp:2835
+#: prog/aspell.cpp:2840
msgid " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
msgstr " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
-#: prog/aspell.cpp:2836
+#: prog/aspell.cpp:2841
msgid " perform Unicode normalization"
msgstr " esegue normalizzazione Unicode"
-#: prog/aspell.cpp:2839
+#: prog/aspell.cpp:2844
msgid " dump|create|merge master|personal|repl [<name>]"
msgstr " dump|create|merge master|personal|repl [<nome>]"
-#: prog/aspell.cpp:2840
-msgid ""
-" dumps, creates or merges a master, personal, or replacement dictionary."
-msgstr ""
-" mostra, crea o unisce un dizionario \"master\", \"personal\", o "
-"\"replacement\"."
+#: prog/aspell.cpp:2845
+msgid " dumps, creates or merges a master, personal, or replacement dictionary."
+msgstr " mostra, crea o unisce un dizionario \"master\", \"personal\", o \"replacement\"."
#. TRANSLATORS: "none", "internal" and "strict" are literal values
#. and should not be translated.
-#: prog/aspell.cpp:2844
-msgid ""
-" <norm-form> normalization form to use, either none, internal, or "
-"strict"
-msgstr ""
-" <norm-form> normalizzazione da usare: essere \"none\", \"internal\", "
-"o \"strict\""
-
-#: prog/aspell.cpp:2854
-#, c-format
+#: prog/aspell.cpp:2849
+msgid " <norm-form> normalization form to use, either none, internal, or strict"
+msgstr " <norm-form> normalizzazione da usare: essere \"none\", \"internal\", o \"strict\""
+
+#: prog/aspell.cpp:2859
+#, fuzzy, c-format
+#| msgid ""
+#| "\n"
+#| "Aspell %s. Copyright 2000-2004 by Kevin Atkinson.\n"
+#| "\n"
msgid ""
"\n"
"Aspell %s. Copyright 2000-2011 by Kevin Atkinson.\n"
"\n"
msgstr ""
"\n"
-"Aspell %s. Copyright 2000-2011 Kevin Atkinson.\n"
+"Aspell %s. Copyright 2000-2004 Kevin Atkinson.\n"
"\n"
-#: prog/aspell.cpp:2888
+#: prog/aspell.cpp:2893
msgid ""
"Available Dictionaries:\n"
" Dictionaries can be selected directly via the \"-d\" or \"master\"\n"
" o \"master\". Possono essere scelti anche in modo indiretto con le\n"
" opzioni \"lang\", \"variety\" e \"size\".\n"
-#: prog/aspell.cpp:2909
+#: prog/aspell.cpp:2914
msgid ""
"Available Filters (and associated options):\n"
" Filters can be added or removed via the \"filter\" option.\n"
"Filtri disponibili (e opzioni associate):\n"
" I filtri possono essere aggiunti o rimossi con l'opzione \"filter\".\n"
-#: prog/aspell.cpp:2916
+#: prog/aspell.cpp:2921
#, c-format
msgid ""
"\n"
" %s filtro: %s\n"
#. TRANSLATORS: This should be formated to fit in 80 column or less
-#: prog/aspell.cpp:2933
+#: prog/aspell.cpp:2938
msgid ""
"Available Filter Modes:\n"
" Filter Modes are reconfigured combinations of filters optimized for\n"
" type from the extension, and possibility the contents, of the file.\n"
msgstr ""
"Modalità di filtro disponibili:\n"
-" Le modalità di filtro sono combinazioni di filtri riconfigurate e "
-"ottimizzate\n"
+" Le modalità di filtro sono combinazioni di filtri riconfigurate e ottimizzate\n"
" per file di tipo particolare. È possibile scegliere una modalità con\n"
" l'opzione \"mode\". Se Aspell riesce a identificare il tipo di file\n"
" dall'estensione o dal contenuto, la scelta avviene automaticamente.\n"
#: modules/speller/default/language.cpp:494
#: modules/speller/default/language.cpp:503
#, c-format
-msgid ""
-"The character '%s' (U+%02X) must be followed by an alphabetic character."
-msgstr ""
-"Il carattere '%s' (U+%02X) deve essere seguito da un carattere alfabetico."
+msgid "The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgstr "Il carattere '%s' (U+%02X) deve essere seguito da un carattere alfabetico."
#: modules/speller/default/language.cpp:496
msgid "Does not contain any alphabetic characters."
msgstr "Il carattere '%s' (U+%02X) non può comparire in mezzo a una parola."
#: modules/speller/default/language.cpp:508
-msgid ""
-"The character '\\r' (U+0D) may not appear at the end of a word. This "
-"probably means means that the file is using MS-DOS EOL instead of Unix EOL."
-msgstr ""
-"Il carattere '\\r' (U+0D) non può comparire alla fine di una parola. "
-"Probabilmente il file usa terminatori di riga MS-DOS invece che Unix."
+msgid "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgstr "Il carattere '\\r' (U+0D) non può comparire alla fine di una parola. Probabilmente il file usa terminatori di riga MS-DOS invece che Unix."
#: modules/speller/default/language.cpp:511
#, c-format
msgid "Warning: Removing inapplicable affix '%s' from word %s.\n"
msgstr "Attenzione: rimosso affix non applicabile '%s' dalla parola %s.\n"
-#: modules/speller/default/language.cpp:674
+#: modules/speller/default/language.cpp:675
#, c-format
msgid "Warning: %s Skipping string.\n"
msgstr "Attenzione: %s stringa saltata.\n"
-#: modules/speller/default/language.cpp:732
+#: modules/speller/default/language.cpp:733
msgid "The total length is larger than 240 characters."
msgstr "La lunghezza totale supera i 240 caratteri."
-#: modules/speller/default/language.cpp:736
+#: modules/speller/default/language.cpp:737
#, c-format
msgid "Warning: %s Skipping word.\n"
msgstr "Attenzione: %s parola saltata.\n"
msgstr "Possibile conteggio errato."
#: modules/speller/default/readonly_ws.cpp:362
+msgid "Incompatible hash function."
+msgstr ""
+
+#: modules/speller/default/readonly_ws.cpp:440
msgid "Wrong endian order."
msgstr "Ordine endian sbagliato."
-#: modules/speller/default/readonly_ws.cpp:385
+#: modules/speller/default/readonly_ws.cpp:463
msgid "Wrong soundslike."
msgstr "Soundslike sbagliato."
-#: modules/speller/default/readonly_ws.cpp:391
+#: modules/speller/default/readonly_ws.cpp:469
msgid "Wrong soundslike version."
msgstr "Versione sbagliata di soundslike."
-#: modules/speller/default/readonly_ws.cpp:853
+#: modules/speller/default/readonly_ws.cpp:934
msgid "Affix flags found in word but no affix file given."
-msgstr ""
-"Trovati dei flag affix nella parola, ma non è stato indicato alcun file "
-"affix."
+msgstr "Trovati dei flag affix nella parola, ma non è stato indicato alcun file affix."
-#: modules/speller/default/readonly_ws.cpp:891
-msgid ""
-"The total word length, with soundslike data, is larger than 240 characters."
-msgstr ""
-"La lunghezza totale della parola, con i dati soundslike, supera i 240 "
-"caratteri."
+#: modules/speller/default/readonly_ws.cpp:972
+msgid "The total word length, with soundslike data, is larger than 240 characters."
+msgstr "La lunghezza totale della parola, con i dati soundslike, supera i 240 caratteri."
#: modules/speller/default/multi_ws.cpp:58
msgid "There must be at least one \"add\" line."
msgid "HTML tags to always skip the contents of"
msgstr "tag HTML di cui ignorare il contenuto"
+#: modules/filter/markdown-filter.info:8
+#, fuzzy
+#| msgid "filter for dealing with Texinfo documents"
+msgid "filter for Markdown/CommonMark documents"
+msgstr "filtro per i documenti Texinfo"
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
+msgstr ""
+
#: modules/filter/nroff-filter.info:7
msgid "filter for dealing with Nroff documents"
msgstr "filtro per i documenti Nroff"
msgid "mode for checking HTML documents"
msgstr "modalità per controllare i documenti HTML"
+#: modules/filter/modes/markdown.amf:10
+#, fuzzy
+#| msgid "mode for checking Nroff documents"
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr "modalità per controllare i documenti Nroff"
+
#: modules/filter/modes/none.amf:5
msgid "mode to disable all filters"
msgstr "modalità per disabilitare tutti i filtri"
#
msgid ""
msgstr ""
-"Project-Id-Version: aspell 0.60.6\n"
+"Project-Id-Version: aspell 0.60.7\n"
"Report-Msgid-Bugs-To: kevina@gnu.org\n"
-"POT-Creation-Date: 2011-07-04 03:25-0600\n"
-"PO-Revision-Date: 2011-04-11 22:43+0900\n"
+"POT-Creation-Date: 2019-07-29 02:38-0400\n"
+"PO-Revision-Date: 2011-07-09 12:22+0900\n"
"Last-Translator: Takeshi Hamasaki <hmatrjp@users.sourceforge.jp>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
+"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: ja\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
"X-Poedit-Language: Japanese\n"
"X-Poedit-Country: JAPAN\n"
"X-Poedit-Basepath: /factory/ja-po/aspell/aspell-0.60.6\n"
msgid "ASPELL_CONF env var"
msgstr "ASPELL_CONF 環境変数"
-#. TRANSLATORS: The remaing strings in config.cpp should be kept
+#. TRANSLATORS: The remaining strings in config.cpp should be kept
#. under 50 characters, begin with a lower case character and not
#. include any trailing punctuation marks.
#: common/config.cpp:1360
msgid "time load time and suggest time in pipe mode"
msgstr "パイプモードで負荷時間と提案時間を計測する"
-#: common/convert.cpp:303 common/convert.cpp:429
+#: common/convert.cpp:303 common/convert.cpp:497
#, c-format
-msgid ""
-"This could also mean that the file \"%s\" could not be opened for reading or "
-"does not exist."
-msgstr ""
-"ファイル \"%s\" は読み込みのために開けない、または存在しないのかもしれませ"
-"ん。"
+msgid "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
+msgstr "ファイル \"%s\" は読み込みのために開けない、または存在しないのかもしれません。"
-#: common/convert.cpp:552 common/convert.cpp:659 common/convert.cpp:705
+#: common/convert.cpp:582 common/convert.cpp:689 common/convert.cpp:735
#, c-format
msgid "The Unicode code point U+%04X is unsupported."
msgstr "ユニコードのコードポイント U+%04X はサポートされていません."
-#: common/convert.cpp:829
+#: common/convert.cpp:859
#, c-format
msgid "Invalid UTF-8 sequence at position %ld."
-msgstr "ä½\8dç½® %ld ã\81§ä¸\8dæ£ã\81ªUTF-8シーケンスがありました。"
+msgstr "ä½\8dç½® %ld ã\81«ä¸\8dæ£ã\81ª UTF-8 シーケンスがありました。"
#: common/errors.cpp:27
msgid "Operation Not Supported: %what:1"
msgstr "キー \"%key:1\" は %accepted:2 ではないので無効です。"
#: common/errors.cpp:147
-msgid ""
-"The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%"
-"key:1\"."
-msgstr ""
-"値 \"%value:2\" は %accepted:3 ではないのでキー \"%key:1\" に対しては無効で"
-"す。"
+msgid "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
+msgstr "値 \"%value:2\" は %accepted:3 ではないのでキー \"%key:1\" に対しては無効です。"
#: common/errors.cpp:163
msgid "The key \"%key:1\" is not a string."
msgstr "キー \"%key:1\" はリストではありません。"
#: common/errors.cpp:195
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"reset-"
-"\"."
-msgstr ""
-"キー \"%key:1\" は \"reset-\" が前に付いている時にはパラメータを取りません。"
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
+msgstr "キー \"%key:1\" は \"reset-\" が前に付いている時にはパラメータを取りません。"
#: common/errors.cpp:203
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by an \"enable-"
-"\"."
-msgstr ""
-"キー \"%key:1\" は \"enable-\" が前に付いている時にはパラメータを取りません。"
+msgid "The key \"%key:1\" does not take any parameters when prefixed by an \"enable-\"."
+msgstr "キー \"%key:1\" は \"enable-\" が前に付いている時にはパラメータを取りません。"
#: common/errors.cpp:211
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" "
-"or \"disable-\"."
-msgstr ""
-"キー \"%key:1\" は \"boot-\" または \"disable-\"が前に付いている時にはパラ"
-"メータを取りません。"
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
+msgstr "キー \"%key:1\" は \"boot-\" または \"disable-\"が前に付いている時にはパラメータを取りません。"
#: common/errors.cpp:219
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"clear-"
-"\"."
-msgstr ""
-"キー \"%key:1\" は \"clear-\" が前に付いている時にはパラメータを取りません。"
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
+msgstr "キー \"%key:1\" は \"clear-\" が前に付いている時にはパラメータを取りません。"
#: common/errors.cpp:235
#, c-format
#: common/errors.cpp:299
#, c-format
-msgid ""
-"The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be "
-"stripped."
-msgstr ""
-"条件 \"%cond:1\" では常に \"%strip:2\" の語幹の抜き出しができるとは限りませ"
-"ん。"
+msgid "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
+msgstr "条件 \"%cond:1\" では常に \"%strip:2\" の語幹の抜き出しができるとは限りません。"
#: common/errors.cpp:307
#, c-format
-msgid ""
-"The file \"%file:1\" is not in the proper format. Expected the file to be in "
-"\"%exp:2\" not \"%got:3\"."
-msgstr ""
-"ファイル \"%file:1\" は適切な形式ではありません。ファイルは \"%exp:2\" である"
-"はずです(\"%got:3\" ではなく)。"
+msgid "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
+msgstr "ファイル \"%file:1\" は適切な形式ではありません。ファイルは \"%exp:2\" であるはずです(\"%got:3\" ではなく)。"
#: common/errors.cpp:323
#, c-format
#: common/errors.cpp:635
#, c-format
msgid "\"%mode:1\" error while extend Aspell modes. (out of memory?)"
-msgstr ""
-"\"%mode:1\" Aspell のモードを拡張する時にエラーが発生しました。(メモリ不足?)"
+msgstr "\"%mode:1\" Aspell のモードを拡張する時にエラーが発生しました。(メモリ不足?)"
#: common/errors.cpp:651
#, c-format
msgid "\"%mode:1\": no start for magic search given for magic \"%magic:2\"."
-msgstr ""
-"\"%mode:1\": マジック(識別鍵) \"%magic:2\" を検索するための開始点が与えられ"
-"ていません。"
+msgstr "\"%mode:1\": マジック(識別鍵) \"%magic:2\" を検索するための開始点が与えられていません。"
#: common/errors.cpp:659
#, c-format
msgid "\"%mode:1\": no range for magic search given for magic \"%magic:2\"."
-msgstr ""
-"\"%mode:1\": マジック(識別鍵) \"%magic:2\" を検索するための範囲が与えられて"
-"いません。"
+msgstr "\"%mode:1\": マジック(識別鍵) \"%magic:2\" を検索するための範囲が与えられていません。"
#: common/errors.cpp:667
#, c-format
msgstr "\"%mode:1\": マジック(識別鍵) \"%magic:2\" の式がありません。"
#: common/errors.cpp:675
-msgid ""
-"\"%mode:1\": Magic \"%magic:2\": bad regular expression after location "
-"specifier; regexp reports: \"%regerr:3\"."
-msgstr ""
-"\"%mode:1\": マジック(識別鍵) \"%magic:2\": 間違った正規表現 場所指定子の"
-"後に; 正規表現報告: \"%regerr:3\"。"
+msgid "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
+msgstr "\"%mode:1\": マジック(識別鍵) \"%magic:2\": 間違った正規表現 場所指定子の後に; 正規表現報告: \"%regerr:3\"。"
#: common/errors.cpp:691
#, c-format
msgid "Unhandled Error: "
msgstr "処理できないエラー:"
-#: prog/aspell.cpp:97
+#: prog/aspell.cpp:98
#, c-format
msgid "Error: %s\n"
msgstr "エラー: %s\n"
-#: prog/aspell.cpp:102
+#: prog/aspell.cpp:103
msgid "Error: "
msgstr "エラー: "
-#: prog/aspell.cpp:203
+#: prog/aspell.cpp:204
msgid "enter Email mode."
msgstr "Eメールモードに入ります。"
-#: prog/aspell.cpp:204
+#: prog/aspell.cpp:205
msgid "enter HTML mode."
msgstr "HTMLモードに入ります。"
-#: prog/aspell.cpp:205
+#: prog/aspell.cpp:206
msgid "enter TeX mode."
msgstr "TeXモードに入ります。"
-#: prog/aspell.cpp:206
+#: prog/aspell.cpp:207
msgid "enter Nroff mode."
msgstr "Nroffモードに入ります。"
-#: prog/aspell.cpp:312
+#: prog/aspell.cpp:313
#, c-format
msgid "Invalid Option: %s"
msgstr "間違ったオプション: %s"
-#: prog/aspell.cpp:319
+#: prog/aspell.cpp:320
msgid " does not take any parameters."
msgstr "引数をとりません。"
-#: prog/aspell.cpp:332 prog/aspell.cpp:392
+#: prog/aspell.cpp:333 prog/aspell.cpp:393
#, c-format
msgid "You must specify a parameter for \"%s\"."
msgstr "\"%s\" にパラメータを1つ指定する必要があります。"
-#: prog/aspell.cpp:381
+#: prog/aspell.cpp:382
msgid "You must specify an action"
msgstr "処理を指定して下さい"
-#: prog/aspell.cpp:389 prog/aspell.cpp:452 prog/aspell.cpp:474
+#: prog/aspell.cpp:390 prog/aspell.cpp:453 prog/aspell.cpp:475
#, c-format
msgid "Unknown Action: %s"
msgstr "未知の処理: %s"
-#: prog/aspell.cpp:395
+#: prog/aspell.cpp:396
#, c-format
msgid "Error: You must specify at least %d parameters for \"%s\".\n"
msgstr "エラー: 少なくとも %d 個の引数を \"%s\" に対して指定してください。\n"
-#: prog/aspell.cpp:637
+#: prog/aspell.cpp:638
msgid "Invalid Input"
msgstr "間違った入力"
-#: prog/aspell.cpp:710
+#: prog/aspell.cpp:711
#, c-format
msgid "WARNING: Unable to enter Nroff mode: %s\n"
msgstr "警告: Nroff モードに入ることができません: %s\n"
-#: prog/aspell.cpp:731
+#: prog/aspell.cpp:732
msgid "Time to load word list: "
msgstr "単語リスト読み込みにかかった時間:"
-#: prog/aspell.cpp:929
+#: prog/aspell.cpp:930
#, c-format
msgid "Suggestion Time: %f\n"
msgstr "提案時間: %f\n"
-#: prog/aspell.cpp:972
+#: prog/aspell.cpp:973
msgid "You must specify a file name."
msgstr "ファイル名を1つ指定してください。"
-#: prog/aspell.cpp:975
+#: prog/aspell.cpp:976
msgid "Only one file name may be specified."
msgstr "ファイル名は1つだけ指定できます。"
-#: prog/aspell.cpp:985
+#: prog/aspell.cpp:986
#, c-format
msgid "Could not open the file \"%s\" for reading"
msgstr "読み込み用にファイル \"%s\" を開くことができません"
-#: prog/aspell.cpp:998
+#: prog/aspell.cpp:999
#, c-format
msgid "Invalid keymapping: %s"
msgstr "無効なキーマップです: %s"
-#: prog/aspell.cpp:1020
+#: prog/aspell.cpp:1014
+#, fuzzy, c-format
+#| msgid "\"%expression:1\" is not a valid regular expression."
+msgid "\"%s\" is not a regular file"
+msgstr "\"%expression:1\" は有効な正規表現ではありません。"
+
+#: prog/aspell.cpp:1025
#, c-format
msgid "Could not open the file \"%s\" for writing. File not saved."
-msgstr ""
-"\"%s\" を書き込みモードで開けませんでした。ファイルは保存されていません。"
+msgstr "\"%s\" を書き込みモードで開けませんでした。ファイルは保存されていません。"
-#: prog/aspell.cpp:1033
+#: prog/aspell.cpp:1038
msgid "Ignore"
msgstr "無視"
-#: prog/aspell.cpp:1034
+#: prog/aspell.cpp:1039
msgid "Ignore all"
msgstr "すべて無視"
-#: prog/aspell.cpp:1035
+#: prog/aspell.cpp:1040
msgid "Replace"
msgstr "置換"
-#: prog/aspell.cpp:1036
+#: prog/aspell.cpp:1041
msgid "Replace all"
msgstr "すべて置換"
-#: prog/aspell.cpp:1037
+#: prog/aspell.cpp:1042
msgid "Add"
msgstr "追加"
-#: prog/aspell.cpp:1038
+#: prog/aspell.cpp:1043
msgid "Add Lower"
msgstr "小文字にして追加"
-#: prog/aspell.cpp:1039
+#: prog/aspell.cpp:1044
msgid "Abort"
msgstr "中断"
-#: prog/aspell.cpp:1040
+#: prog/aspell.cpp:1045
msgid "Exit"
msgstr "終了"
-#: prog/aspell.cpp:1116
+#: prog/aspell.cpp:1121
msgid "Are you sure you want to abort (y/n)? "
msgstr "本当に中断してよろしいですか (y/n)?"
#. TRANSLATORS: The user may input any of these characters to say "yes".
#. MUST ONLY CONSIST OF ASCII CHARACTERS.
-#: prog/aspell.cpp:1120
+#: prog/aspell.cpp:1125
msgid "Yy"
msgstr "Yy"
-#: prog/aspell.cpp:1148
+#: prog/aspell.cpp:1153
msgid "With: "
msgstr "置換文字列: "
-#: prog/aspell.cpp:1165
+#: prog/aspell.cpp:1170
msgid "Sorry that is an invalid choice!"
msgstr "残念、無効な選択です!"
-#: prog/aspell.cpp:1386
+#: prog/aspell.cpp:1391
msgid "Sorry \"filter\" is currently unimplemented.\n"
msgstr "残念、\"filter\" は現在実装されていません。\n"
-#: prog/aspell.cpp:1520
+#: prog/aspell.cpp:1525
msgid "Can't merge a master word list yet. Sorry."
msgstr "マスター単語リストをマージできません。すみません。"
-#: prog/aspell.cpp:1544
+#: prog/aspell.cpp:1549
msgid "Sorry \"create/merge personal\" is currently unimplemented.\n"
msgstr "残念、\"create/merge personal\" は現在実装されていません。\n"
-#: prog/aspell.cpp:1553 prog/aspell.cpp:1609
+#: prog/aspell.cpp:1558 prog/aspell.cpp:1614
#, c-format
msgid "Sorry I won't overwrite \"%s\""
msgstr "すみません、 \"%s\" を上書きしません"
-#: prog/aspell.cpp:1600
+#: prog/aspell.cpp:1605
msgid "Sorry \"create/merge repl\" is currently unimplemented.\n"
msgstr "残念、\"create/merge repl\" は現在実装されていません。\n"
-#: prog/aspell.cpp:1872
+#: prog/aspell.cpp:1877
#, c-format
msgid "\"%s\" is not a valid flag for the \"munch-list\" command."
msgstr "\"%s\" は \"munch-list\" コマンドに対する有効なフラグではありません。"
#. TRANSLATORS: These should all be formated to fit in 80 column or
#. less
-#: prog/aspell.cpp:2799
+#: prog/aspell.cpp:2804
msgid "Usage: aspell [options] <command>"
msgstr "使い方: aspell [オプション] <コマンド>"
-#: prog/aspell.cpp:2800
+#: prog/aspell.cpp:2805
msgid "<command> is one of:"
msgstr "<コマンド> は次のうちの1つです:"
-#: prog/aspell.cpp:2801
+#: prog/aspell.cpp:2806
msgid " -?|usage display a brief usage message"
msgstr " -?|usage 短い使用方法の表示"
-#: prog/aspell.cpp:2802
+#: prog/aspell.cpp:2807
msgid " help display a detailed help message"
msgstr " help 詳しい使用方法の表示"
-#: prog/aspell.cpp:2803
+#: prog/aspell.cpp:2808
msgid " -c|check <file> to check a file"
msgstr " -c|check <ファイル> ファイルをチェック"
-#: prog/aspell.cpp:2804
+#: prog/aspell.cpp:2809
msgid " -a|pipe \"ispell -a\" compatibility mode"
msgstr " -a|pipe \"ispell -a\" 互換モード"
-#: prog/aspell.cpp:2805
+#: prog/aspell.cpp:2810
msgid " [dump] config dumps the current configuration to stdout"
msgstr " [dump] config 現在のすべての設定を標準出力に表示する"
-#: prog/aspell.cpp:2806
+#: prog/aspell.cpp:2811
msgid " config <key> prints the current value of an option"
msgstr " config <key> 指定したオプションの現在の値を表示する"
-#: prog/aspell.cpp:2807
+#: prog/aspell.cpp:2812
msgid " [dump] dicts | filters | modes"
msgstr " [dump] dicts | filters | modes"
-#: prog/aspell.cpp:2808
+#: prog/aspell.cpp:2813
msgid " lists available dictionaries / filters / filter modes"
msgstr " 利用可能な辞書/フィルタ/フィルタモード の一覧を表示する"
-#: prog/aspell.cpp:2809
+#: prog/aspell.cpp:2814
msgid "[options] is any of the following:"
msgstr "[オプション] には以下のものがあります:"
-#: prog/aspell.cpp:2822
-msgid ""
-" list produce a list of misspelled words from standard input"
+#: prog/aspell.cpp:2827
+msgid " list produce a list of misspelled words from standard input"
msgstr " list 標準入力からスペルの間違った単語のリストを作成する"
-#: prog/aspell.cpp:2825
-msgid ""
-" soundslike returns the sounds like equivalent for each word entered"
+#: prog/aspell.cpp:2830
+msgid " soundslike returns the sounds like equivalent for each word entered"
msgstr " soundslike 入力したそれぞれの単語に対する疑似音声を返す"
-#: prog/aspell.cpp:2826
+#: prog/aspell.cpp:2831
msgid " munch generate possible root words and affixes"
msgstr " munch 語幹と接辞の候補を生成する"
-#: prog/aspell.cpp:2827
+#: prog/aspell.cpp:2832
msgid " expand [1-4] expands affix flags"
msgstr " expand [1-4] 接辞フラグを拡張する"
-#: prog/aspell.cpp:2828
-msgid ""
-" clean [strict] cleans a word list so that every line is a valid word"
+#: prog/aspell.cpp:2833
+msgid " clean [strict] cleans a word list so that every line is a valid word"
msgstr " clean [strict] 単語リストを掃除し、すべての行の単語を有効にする"
-#: prog/aspell.cpp:2830
+#: prog/aspell.cpp:2835
msgid " -v|version prints a version line"
msgstr " -v|version バージョンを表示"
-#: prog/aspell.cpp:2831
+#: prog/aspell.cpp:2836
msgid " munch-list [simple] [single|multi] [keep]"
msgstr " munch-list [simple] [single|multi] [keep]"
-#: prog/aspell.cpp:2832
+#: prog/aspell.cpp:2837
msgid " reduce the size of a word list via affix compression"
msgstr " 接辞を圧縮して単語リストのサイズを減らす"
-#: prog/aspell.cpp:2833
+#: prog/aspell.cpp:2838
msgid " conv <from> <to> [<norm-form>]"
msgstr " conv <from> <to> [<norm-form>]"
-#: prog/aspell.cpp:2834
+#: prog/aspell.cpp:2839
msgid " converts from one encoding to another"
msgstr " エンコーディングを他のものに変換する"
-#: prog/aspell.cpp:2835
+#: prog/aspell.cpp:2840
msgid " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
msgstr " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
-#: prog/aspell.cpp:2836
+#: prog/aspell.cpp:2841
msgid " perform Unicode normalization"
msgstr " Unicode 正規化を行う"
-#: prog/aspell.cpp:2839
+#: prog/aspell.cpp:2844
msgid " dump|create|merge master|personal|repl [<name>]"
msgstr " dump|create|merge master|personal|repl [<名前>]"
-#: prog/aspell.cpp:2840
-msgid ""
-" dumps, creates or merges a master, personal, or replacement dictionary."
+#: prog/aspell.cpp:2845
+msgid " dumps, creates or merges a master, personal, or replacement dictionary."
msgstr " マスター/個人用/置換用の辞書を、表示/生成/マージする。"
#. TRANSLATORS: "none", "internal" and "strict" are literal values
#. and should not be translated.
-#: prog/aspell.cpp:2844
-msgid ""
-" <norm-form> normalization form to use, either none, internal, or "
-"strict"
+#: prog/aspell.cpp:2849
+msgid " <norm-form> normalization form to use, either none, internal, or strict"
msgstr " <norm-form> 正規化の形式 none, internal, strict のいずれか"
-#: prog/aspell.cpp:2854
+#: prog/aspell.cpp:2859
#, c-format
msgid ""
"\n"
"Aspell %s. Copyright 2000-2011 by Kevin Atkinson.\n"
"\n"
-#: prog/aspell.cpp:2888
+#: prog/aspell.cpp:2893
msgid ""
"Available Dictionaries:\n"
" Dictionaries can be selected directly via the \"-d\" or \"master\"\n"
" を使用します。\"lang\", \"variety\", \"size\" オプションを使用して\n"
" 間接的に指定することもできます。\n"
-#: prog/aspell.cpp:2909
+#: prog/aspell.cpp:2914
msgid ""
"Available Filters (and associated options):\n"
" Filters can be added or removed via the \"filter\" option.\n"
"利用可能なフィルタ (と関連するオプション)\n"
" フィルタは \"filter\" オプションで追加/除去できます。\n"
-#: prog/aspell.cpp:2916
+#: prog/aspell.cpp:2921
#, c-format
msgid ""
"\n"
" %s フィルタ: %s\n"
#. TRANSLATORS: This should be formated to fit in 80 column or less
-#: prog/aspell.cpp:2933
+#: prog/aspell.cpp:2938
msgid ""
"Available Filter Modes:\n"
" Filter Modes are reconfigured combinations of filters optimized for\n"
#: modules/speller/default/language.cpp:494
#: modules/speller/default/language.cpp:503
#, c-format
-msgid ""
-"The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgid "The character '%s' (U+%02X) must be followed by an alphabetic character."
msgstr "文字 '%s' (U+%02X) の後にはアルファベットが続かなければなりません。"
#: modules/speller/default/language.cpp:496
msgstr "文字 '%s' (U+%02X) は単語の中間には現れません。"
#: modules/speller/default/language.cpp:508
-msgid ""
-"The character '\\r' (U+0D) may not appear at the end of a word. This "
-"probably means means that the file is using MS-DOS EOL instead of Unix EOL."
-msgstr ""
-"文字 '\\r' (U+0D) は単語の末尾には現れません。恐らく、ファイルが Unix ではな"
-"く MS-DOS の EOL を使用しているのでしょう。"
+msgid "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgstr "文字 '\\r' (U+0D) は単語の末尾には現れません。恐らく、ファイルが Unix ではなく MS-DOS の EOL を使用しているのでしょう。"
#: modules/speller/default/language.cpp:511
#, c-format
msgid "Warning: Removing inapplicable affix '%s' from word %s.\n"
msgstr "警告: 不適切な接辞 '%s' を単語 %s から除去しています。\n"
-#: modules/speller/default/language.cpp:674
+#: modules/speller/default/language.cpp:675
#, c-format
msgid "Warning: %s Skipping string.\n"
msgstr "警告: %s 文字列をスキップします。\n"
-#: modules/speller/default/language.cpp:732
+#: modules/speller/default/language.cpp:733
msgid "The total length is larger than 240 characters."
msgstr "長さの合計が240文字を超えています。"
-#: modules/speller/default/language.cpp:736
+#: modules/speller/default/language.cpp:737
#, c-format
msgid "Warning: %s Skipping word.\n"
msgstr "警告: %s 単語をスキップします。\n"
msgstr "多分、カウントが間違っています。"
#: modules/speller/default/readonly_ws.cpp:362
+msgid "Incompatible hash function."
+msgstr "ハッシュ関数の互換性がありません。"
+
+#: modules/speller/default/readonly_ws.cpp:440
msgid "Wrong endian order."
msgstr "誤ったバイト順"
-#: modules/speller/default/readonly_ws.cpp:385
+#: modules/speller/default/readonly_ws.cpp:463
msgid "Wrong soundslike."
msgstr "誤った疑似音声です。"
-#: modules/speller/default/readonly_ws.cpp:391
+#: modules/speller/default/readonly_ws.cpp:469
msgid "Wrong soundslike version."
msgstr "疑似音声のバージョンが違います。"
-#: modules/speller/default/readonly_ws.cpp:853
+#: modules/speller/default/readonly_ws.cpp:934
msgid "Affix flags found in word but no affix file given."
msgstr "接辞フラグが単語の中に見つかりましたが接辞ファイルがありません。"
-#: modules/speller/default/readonly_ws.cpp:891
-msgid ""
-"The total word length, with soundslike data, is larger than 240 characters."
+#: modules/speller/default/readonly_ws.cpp:972
+msgid "The total word length, with soundslike data, is larger than 240 characters."
msgstr "単語等の長さの合計が240文字を超えています。"
#: modules/speller/default/multi_ws.cpp:58
msgid "HTML tags to always skip the contents of"
msgstr "常に中身のチェックをスキップするHTMLタグ"
+#: modules/filter/markdown-filter.info:8
+#, fuzzy
+#| msgid "filter for dealing with Texinfo documents"
+msgid "filter for Markdown/CommonMark documents"
+msgstr "Texinfo文書のためのフィルタ"
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
+msgstr ""
+
#: modules/filter/nroff-filter.info:7
msgid "filter for dealing with Nroff documents"
msgstr "Nroff文書のためのフィルタ"
msgid "mode for checking HTML documents"
msgstr "HTML文書をチェックするためのモード"
+#: modules/filter/modes/markdown.amf:10
+#, fuzzy
+#| msgid "mode for checking Nroff documents"
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr "Nroff文書をチェックするためのモード"
+
#: modules/filter/modes/none.amf:5
msgid "mode to disable all filters"
msgstr "すべてのフィルタを無効にするモード"
msgstr ""
"Project-Id-Version: aspell 0.60-pre1\n"
"Report-Msgid-Bugs-To: kevina@gnu.org\n"
-"POT-Creation-Date: 2011-07-04 03:25-0600\n"
+"POT-Creation-Date: 2019-07-29 02:38-0400\n"
"PO-Revision-Date: 2004-07-24 11:18+0100\n"
"Last-Translator: Sanlig Badral <badral@users.sourceforge.net>\n"
"Language-Team: Mongolian <openmn-translation@lists.sourceforge.net>\n"
+"Language: mn\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
#: common/info.cpp:232
msgid "a number between 0 and 1"
# TRANSLATORS: The remaing strings in config.cpp should be kept
# under 50 characters, begin with a lower case character and not
# include any trailing punctuation marks.
-#. TRANSLATORS: The remaing strings in config.cpp should be kept
+#. TRANSLATORS: The remaining strings in config.cpp should be kept
#. under 50 characters, begin with a lower case character and not
#. include any trailing punctuation marks.
#: common/config.cpp:1360
# TRANSLATORS: It is OK if this is longer than 50 chars
#: common/config.cpp:1390
#, fuzzy
+#| msgid "ignore case when checking words -- CURRENTLY IGNORED"
msgid "ignore case when checking words"
msgstr "үг шалгаж байхад том жижгийг үл хэрэгсэх -- ОДООГООР ҮЛ ХЭРЭГСЭХ"
#. translated.
#: common/config.cpp:1451
msgid "edit distance to use, override sug-mode default"
-msgstr ""
-"Зай тогтоох ба үүгээр санал болгогч горимын стандарт утга дарж бичигдэнэ."
+msgstr "Зай тогтоох ба үүгээр санал болгогч горимын стандарт утга дарж бичигдэнэ."
#: common/config.cpp:1453
msgid "use typo analysis, override sug-mode default"
-msgstr ""
-"Цохих анализ хэрэглэх ба үүгээр санал болгогч горимын стандарт утга дарж "
-"бичигдэнэ."
+msgstr "Цохих анализ хэрэглэх ба үүгээр санал болгогч горимын стандарт утга дарж бичигдэнэ."
#: common/config.cpp:1455
msgid "use replacement tables, override sug-mode default"
-msgstr ""
-"Орлуулга хүснэгт хэрэглэх ба үүгээр санал болгогч горимын стандарт утга дарж "
-"бичигдэнэ."
+msgstr "Орлуулга хүснэгт хэрэглэх ба үүгээр санал болгогч горимын стандарт утга дарж бичигдэнэ."
#: common/config.cpp:1457
msgid "characters to insert when a word is split"
msgid "time load time and suggest time in pipe mode"
msgstr "Ачаалах хугацаа ба Pipe-Горимын Санал болгох хугацаа "
-#: common/convert.cpp:303 common/convert.cpp:429
+#: common/convert.cpp:303 common/convert.cpp:497
#, c-format
-msgid ""
-"This could also mean that the file \"%s\" could not be opened for reading or "
-"does not exist."
-msgstr ""
-"Энэ нь »%s« файл уншигдахаар нээгдээгүй эсвэл байхгүй байхыг зааж байж болно."
+msgid "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
+msgstr "Энэ нь »%s« файл уншигдахаар нээгдээгүй эсвэл байхгүй байхыг зааж байж болно."
-#: common/convert.cpp:552 common/convert.cpp:659 common/convert.cpp:705
+#: common/convert.cpp:582 common/convert.cpp:689 common/convert.cpp:735
#, c-format
msgid "The Unicode code point U+%04X is unsupported."
msgstr "Юникодын U+%04X муж дэмжигдээгүй."
-#: common/convert.cpp:829
-#, c-format
+#: common/convert.cpp:859
+#, fuzzy, c-format
+#| msgid "Invalid UTF-8 sequence at position %d."
msgid "Invalid UTF-8 sequence at position %ld."
-msgstr "%ld байрлалт хүчингүй UTF-8 дараалал."
+msgstr "%d байрлалт хүчингүй UTF-8 дараалал."
#: common/errors.cpp:27
msgid "Operation Not Supported: %what:1"
msgstr "\"%key:1\" түлхүүр %accepted:2 -т зөвшөөрөгдөхгүй тул хүчингүй."
#: common/errors.cpp:147
-msgid ""
-"The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%"
-"key:1\"."
-msgstr ""
-"\"%value:2\" утга %accepted:3 ют зөвшөөрөгдөхгүй тул \"%key:1\" түлхүүрийн "
-"хувьд хүчингүй."
+msgid "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
+msgstr "\"%value:2\" утга %accepted:3 ют зөвшөөрөгдөхгүй тул \"%key:1\" түлхүүрийн хувьд хүчингүй."
#: common/errors.cpp:163
msgid "The key \"%key:1\" is not a string."
msgstr "\"%key:1\" түлхүүр жагсаалт биш."
#: common/errors.cpp:195
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"reset-"
-"\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
msgstr "\"%key:1\" түлхүүр \"reset-\"-ээр эхэлсэн бол ямарч параметер авахгүй."
#: common/errors.cpp:203
#, fuzzy
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by an \"enable-"
-"\"."
-msgstr ""
-"\"%key:1\" түлхүүр \"enable--\"-аар эхэлсэн бол ямарч параметер авахгүй."
+#| msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"enable-\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by an \"enable-\"."
+msgstr "\"%key:1\" түлхүүр \"enable--\"-аар эхэлсэн бол ямарч параметер авахгүй."
#: common/errors.cpp:211
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" "
-"or \"disable-\"."
-msgstr ""
-"\"%key:1\" түлхүүр \"dont-\" эсвэл \"disable-\" -аар эхэлсэн бол ямарч "
-"параметер авахгүй."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
+msgstr "\"%key:1\" түлхүүр \"dont-\" эсвэл \"disable-\" -аар эхэлсэн бол ямарч параметер авахгүй."
#: common/errors.cpp:219
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"clear-"
-"\"."
-msgstr ""
-"\"%key:1\" түлхүүр \"clear-\" -ээр эхэлсэн бол ямарч параметер авахгүй."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
+msgstr "\"%key:1\" түлхүүр \"clear-\" -ээр эхэлсэн бол ямарч параметер авахгүй."
#: common/errors.cpp:235
#, c-format
#: common/errors.cpp:299
#, c-format
-msgid ""
-"The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be "
-"stripped."
-msgstr ""
-"\"%cond:1\" нөхцөл \"%strip:2\" үргэлж таслагдахад баталгаа өгч чадахгүй."
+msgid "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
+msgstr "\"%cond:1\" нөхцөл \"%strip:2\" үргэлж таслагдахад баталгаа өгч чадахгүй."
#: common/errors.cpp:307
#, c-format
-msgid ""
-"The file \"%file:1\" is not in the proper format. Expected the file to be in "
-"\"%exp:2\" not \"%got:3\"."
-msgstr ""
-"\"%file:1\" файл зөв хэлбэрт биш байна. Файл \"%got:3\" биш \"%exp:2\"-т "
-"хүлээгдэж байна."
+msgid "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
+msgstr "\"%file:1\" файл зөв хэлбэрт биш байна. Файл \"%got:3\" биш \"%exp:2\"-т хүлээгдэж байна."
#: common/errors.cpp:323
#, c-format
#: common/errors.cpp:515
msgid "Use option modifiers only within named option."
-msgstr ""
-"Та Үйлдэл өөрчилөгчийг зөвхөн дурьдагдсан Сонголтууд дотор хэрэглэнэ үү."
+msgstr "Та Үйлдэл өөрчилөгчийг зөвхөн дурьдагдсан Сонголтууд дотор хэрэглэнэ үү."
#: common/errors.cpp:523
msgid "Option modifier unknown."
#: common/errors.cpp:651
#, c-format
msgid "\"%mode:1\": no start for magic search given for magic \"%magic:2\"."
-msgstr ""
-"\"%mode:1\": өгөгдсөн magic \"%magic:2\" -н хувьд magic хайлтын эхлэл алга."
+msgstr "\"%mode:1\": өгөгдсөн magic \"%magic:2\" -н хувьд magic хайлтын эхлэл алга."
#: common/errors.cpp:659
#, c-format
msgid "\"%mode:1\": no range for magic search given for magic \"%magic:2\"."
-msgstr ""
-"\"%mode:1\": өгөгдсөн magic \"%magic:2\" -н хувьд magic хайлтын муж алга."
+msgstr "\"%mode:1\": өгөгдсөн magic \"%magic:2\" -н хувьд magic хайлтын муж алга."
#: common/errors.cpp:667
#, c-format
msgid "\"%mode:1\": no magic expression available for magic \"%magic:2\"."
-msgstr ""
-"\"%mode:1\": боломжит magic \"%magic:2\" -н хувьд magic илэрхийлэл алга."
+msgstr "\"%mode:1\": боломжит magic \"%magic:2\" -н хувьд magic илэрхийлэл алга."
#: common/errors.cpp:675
-msgid ""
-"\"%mode:1\": Magic \"%magic:2\": bad regular expression after location "
-"specifier; regexp reports: \"%regerr:3\"."
-msgstr ""
-"\"%mode:1\": Magic \"%magic:2\": байрлал заагчийн ард буруу энгийн "
-"илэрхийлэл; regexp тайлан: \"%regerr:3\"."
+msgid "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
+msgstr "\"%mode:1\": Magic \"%magic:2\": байрлал заагчийн ард буруу энгийн илэрхийлэл; regexp тайлан: \"%regerr:3\"."
#: common/errors.cpp:691
#, c-format
msgid "Unhandled Error: "
msgstr "Авч үзээгүй алдаа: "
-#: prog/aspell.cpp:97
+#: prog/aspell.cpp:98
#, c-format
msgid "Error: %s\n"
msgstr "Алдаа: %s\n"
-#: prog/aspell.cpp:102
+#: prog/aspell.cpp:103
msgid "Error: "
msgstr "Алдаа: "
-#: prog/aspell.cpp:203
+#: prog/aspell.cpp:204
msgid "enter Email mode."
msgstr "Э-шуудан оруулах горим."
-#: prog/aspell.cpp:204
+#: prog/aspell.cpp:205
msgid "enter HTML mode."
msgstr "TML горим оруулах."
-#: prog/aspell.cpp:205
+#: prog/aspell.cpp:206
msgid "enter TeX mode."
msgstr "TeX горим оруулах."
-#: prog/aspell.cpp:206
+#: prog/aspell.cpp:207
#, fuzzy
+#| msgid "enter TeX mode."
msgid "enter Nroff mode."
msgstr "TeX горим оруулах."
-#: prog/aspell.cpp:312
+#: prog/aspell.cpp:313
#, c-format
msgid "Invalid Option: %s"
msgstr "Хүчингий сонголт: %s"
-#: prog/aspell.cpp:319
+#: prog/aspell.cpp:320
msgid " does not take any parameters."
msgstr " ясарч параметр авахгүй."
-#: prog/aspell.cpp:332 prog/aspell.cpp:392
+#: prog/aspell.cpp:333 prog/aspell.cpp:393
#, fuzzy, c-format
+#| msgid "You must specify a parameter for %s"
msgid "You must specify a parameter for \"%s\"."
msgstr "Та %s -н хувьд параметр тодорхойлох ёстой"
-#: prog/aspell.cpp:381
+#: prog/aspell.cpp:382
msgid "You must specify an action"
msgstr "Та ямар нэг үйлдэл тодорхойлох ёстой"
-#: prog/aspell.cpp:389 prog/aspell.cpp:452 prog/aspell.cpp:474
+#: prog/aspell.cpp:390 prog/aspell.cpp:453 prog/aspell.cpp:475
#, c-format
msgid "Unknown Action: %s"
msgstr "Мэдэгдэхгүй үйлдэл: %s"
-#: prog/aspell.cpp:395
+#: prog/aspell.cpp:396
#, fuzzy, c-format
+#| msgid "You must specify a parameter for %s"
msgid "Error: You must specify at least %d parameters for \"%s\".\n"
msgstr "Та %s -н хувьд параметр тодорхойлох ёстой"
-#: prog/aspell.cpp:637
+#: prog/aspell.cpp:638
msgid "Invalid Input"
msgstr "Хүчингүй оролт"
-#: prog/aspell.cpp:710
+#: prog/aspell.cpp:711
#, c-format
msgid "WARNING: Unable to enter Nroff mode: %s\n"
msgstr ""
-#: prog/aspell.cpp:731
+#: prog/aspell.cpp:732
msgid "Time to load word list: "
msgstr "Үгийн жагсаалт ачаалах хугацаа: "
-#: prog/aspell.cpp:929
+#: prog/aspell.cpp:930
#, c-format
msgid "Suggestion Time: %f\n"
msgstr "Санал болгох хугацаа: %f\n"
-#: prog/aspell.cpp:972
+#: prog/aspell.cpp:973
msgid "You must specify a file name."
msgstr "Та файлын нэрийг оруулах ёстой."
-#: prog/aspell.cpp:975
+#: prog/aspell.cpp:976
msgid "Only one file name may be specified."
msgstr ""
-#: prog/aspell.cpp:985
+#: prog/aspell.cpp:986
#, c-format
msgid "Could not open the file \"%s\" for reading"
msgstr "\"%s\" файлыг уншихаар нээж чадсангүй"
-#: prog/aspell.cpp:998
+#: prog/aspell.cpp:999
#, c-format
msgid "Invalid keymapping: %s"
msgstr "Хүчингүй түлхүүр сонголт: %s"
-#: prog/aspell.cpp:1020
+#: prog/aspell.cpp:1014
+#, fuzzy, c-format
+#| msgid "\"%expression:1\" is not a valid regular expression."
+msgid "\"%s\" is not a regular file"
+msgstr "\"%expression:1\" хүчингүй энгийн илэрхийлэл."
+
+#: prog/aspell.cpp:1025
#, c-format
msgid "Could not open the file \"%s\" for writing. File not saved."
msgstr "\"%s\" файлыг бичихээр нээж чадсангүй. Файл хадгалагдсангүй."
-#: prog/aspell.cpp:1033
+#: prog/aspell.cpp:1038
msgid "Ignore"
msgstr "Үл хэрэгс"
-#: prog/aspell.cpp:1034
+#: prog/aspell.cpp:1039
msgid "Ignore all"
msgstr "Бүгдийг үл хэрэгс"
-#: prog/aspell.cpp:1035
+#: prog/aspell.cpp:1040
msgid "Replace"
msgstr "Орлуул"
-#: prog/aspell.cpp:1036
+#: prog/aspell.cpp:1041
msgid "Replace all"
msgstr "Бүгдийг орлуул"
-#: prog/aspell.cpp:1037
+#: prog/aspell.cpp:1042
msgid "Add"
msgstr "Нэм"
-#: prog/aspell.cpp:1038
+#: prog/aspell.cpp:1043
msgid "Add Lower"
msgstr "Жижиг үсгээр нэмэх"
-#: prog/aspell.cpp:1039
+#: prog/aspell.cpp:1044
msgid "Abort"
msgstr "Тасал"
-#: prog/aspell.cpp:1040
+#: prog/aspell.cpp:1045
msgid "Exit"
msgstr "Гарах"
-#: prog/aspell.cpp:1116
+#: prog/aspell.cpp:1121
msgid "Are you sure you want to abort (y/n)? "
msgstr "Та таслахыг үнэхээр хүсэж байна уу (y/n)? "
#. TRANSLATORS: The user may input any of these characters to say "yes".
#. MUST ONLY CONSIST OF ASCII CHARACTERS.
-#: prog/aspell.cpp:1120
+#: prog/aspell.cpp:1125
msgid "Yy"
msgstr ""
-#: prog/aspell.cpp:1148
+#: prog/aspell.cpp:1153
msgid "With: "
msgstr "Хамт:"
-#: prog/aspell.cpp:1165
+#: prog/aspell.cpp:1170
msgid "Sorry that is an invalid choice!"
msgstr "Уучилаарай энэ хүчингүй сонголт!"
-#: prog/aspell.cpp:1386
+#: prog/aspell.cpp:1391
msgid "Sorry \"filter\" is currently unimplemented.\n"
msgstr "Уучилаарай \"filter\" одоогоор хийгдээгүй байна.\n"
-#: prog/aspell.cpp:1520
+#: prog/aspell.cpp:1525
msgid "Can't merge a master word list yet. Sorry."
msgstr "Мастер үгийн жагсаалтыг хараахан нэгтгэх боломжгүй. Уучил."
-#: prog/aspell.cpp:1544
+#: prog/aspell.cpp:1549
msgid "Sorry \"create/merge personal\" is currently unimplemented.\n"
msgstr "Уучилаарай \"create/merge personal\" одоогоор хийгдээгүй байна.\n"
-#: prog/aspell.cpp:1553 prog/aspell.cpp:1609
+#: prog/aspell.cpp:1558 prog/aspell.cpp:1614
#, c-format
msgid "Sorry I won't overwrite \"%s\""
msgstr "Уучилаарай би \"%s\" -г дарж бичмээргүй байна"
-#: prog/aspell.cpp:1600
+#: prog/aspell.cpp:1605
msgid "Sorry \"create/merge repl\" is currently unimplemented.\n"
msgstr "Уучилаарай \"create/merge repl\" одоогоор хийгдээгүй.\n"
-#: prog/aspell.cpp:1872
+#: prog/aspell.cpp:1877
#, c-format
msgid "\"%s\" is not a valid flag for the \"munch-list\" command."
msgstr ""
# less
#. TRANSLATORS: These should all be formated to fit in 80 column or
#. less
-#: prog/aspell.cpp:2799
+#: prog/aspell.cpp:2804
msgid "Usage: aspell [options] <command>"
msgstr "Хэрэглээ: aspell [сонголт] <тушаал>"
-#: prog/aspell.cpp:2800
+#: prog/aspell.cpp:2805
msgid "<command> is one of:"
msgstr "<тушаал> дараахын аль нэг нь байна:"
-#: prog/aspell.cpp:2801
+#: prog/aspell.cpp:2806
msgid " -?|usage display a brief usage message"
msgstr " -?|usage товч хэрэглээний зурвас харуулна"
-#: prog/aspell.cpp:2802
+#: prog/aspell.cpp:2807
msgid " help display a detailed help message"
msgstr " help нарийвчилсан тусламж мэдээ үзүүлнэ"
-#: prog/aspell.cpp:2803
+#: prog/aspell.cpp:2808
msgid " -c|check <file> to check a file"
msgstr " -c|check <файл> шалгах файл"
-#: prog/aspell.cpp:2804
+#: prog/aspell.cpp:2809
msgid " -a|pipe \"ispell -a\" compatibility mode"
msgstr " -a|pipe \"ispell -a\" тохиромжтой горим"
-#: prog/aspell.cpp:2805
+#: prog/aspell.cpp:2810
msgid " [dump] config dumps the current configuration to stdout"
msgstr " [dump] config идэвхитэй тохиргоог стандарт гаралт руу буулгах"
-#: prog/aspell.cpp:2806
+#: prog/aspell.cpp:2811
msgid " config <key> prints the current value of an option"
msgstr " config <key> сонголтын идэвхитэй утгыг хэвлэх"
-#: prog/aspell.cpp:2807
+#: prog/aspell.cpp:2812
msgid " [dump] dicts | filters | modes"
msgstr " [dump] dicts | filters | modes"
-#: prog/aspell.cpp:2808
+#: prog/aspell.cpp:2813
msgid " lists available dictionaries / filters / filter modes"
msgstr " боломжит тольнууд / шүүлтүүр / шүүлтүүрийн горимууд жагсаах "
-#: prog/aspell.cpp:2809
+#: prog/aspell.cpp:2814
msgid "[options] is any of the following:"
msgstr "[сонголт] дараахаас авна:"
-#: prog/aspell.cpp:2822
-msgid ""
-" list produce a list of misspelled words from standard input"
-msgstr ""
-" list стандарт оролтоос буруу бичигдсэн үгсийг жагсаах процедур"
+#: prog/aspell.cpp:2827
+msgid " list produce a list of misspelled words from standard input"
+msgstr " list стандарт оролтоос буруу бичигдсэн үгсийг жагсаах процедур"
-#: prog/aspell.cpp:2825
-msgid ""
-" soundslike returns the sounds like equivalent for each word entered"
-msgstr ""
-" soundslike оруулсан үг бүрийн хувьд зохих дуудлага авиаг буцаах"
+#: prog/aspell.cpp:2830
+msgid " soundslike returns the sounds like equivalent for each word entered"
+msgstr " soundslike оруулсан үг бүрийн хувьд зохих дуудлага авиаг буцаах"
-#: prog/aspell.cpp:2826
+#: prog/aspell.cpp:2831
msgid " munch generate possible root words and affixes"
-msgstr ""
-" munch боломжит язгуур үгс ба аффикс (дагавар/угтвар) үүсгэх"
+msgstr " munch боломжит язгуур үгс ба аффикс (дагавар/угтвар) үүсгэх"
-#: prog/aspell.cpp:2827
+#: prog/aspell.cpp:2832
msgid " expand [1-4] expands affix flags"
msgstr " expand [1-4] аффикс флаг задлах"
-#: prog/aspell.cpp:2828
-msgid ""
-" clean [strict] cleans a word list so that every line is a valid word"
-msgstr ""
-" clean [strict] мөр бүр хүчинтэй үг байхаар үгийн жагсаалтыг цэвэрлэх"
+#: prog/aspell.cpp:2833
+msgid " clean [strict] cleans a word list so that every line is a valid word"
+msgstr " clean [strict] мөр бүр хүчинтэй үг байхаар үгийн жагсаалтыг цэвэрлэх"
-#: prog/aspell.cpp:2830
+#: prog/aspell.cpp:2835
msgid " -v|version prints a version line"
msgstr " -v|version хувилбарыг хэвлэн үзүүлнэ"
-#: prog/aspell.cpp:2831
+#: prog/aspell.cpp:2836
msgid " munch-list [simple] [single|multi] [keep]"
msgstr ""
-#: prog/aspell.cpp:2832
+#: prog/aspell.cpp:2837
msgid " reduce the size of a word list via affix compression"
msgstr ""
-#: prog/aspell.cpp:2833
+#: prog/aspell.cpp:2838
msgid " conv <from> <to> [<norm-form>]"
msgstr " conv <from> <to> [<norm-form>]"
-#: prog/aspell.cpp:2834
+#: prog/aspell.cpp:2839
msgid " converts from one encoding to another"
msgstr " from кодчилолоос өөр кодчилол руу хөрвүүлнэ"
-#: prog/aspell.cpp:2835
+#: prog/aspell.cpp:2840
msgid " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
msgstr " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
-#: prog/aspell.cpp:2836
+#: prog/aspell.cpp:2841
msgid " perform Unicode normalization"
msgstr " ЮНИКОД нормалчилал гүйцэтгэх"
-#: prog/aspell.cpp:2839
+#: prog/aspell.cpp:2844
#, fuzzy
+#| msgid " dump|create|merge master|personal|repl [word list]"
msgid " dump|create|merge master|personal|repl [<name>]"
msgstr " dump|create|merge master|personal|repl [үгийн жагсаалт]"
-#: prog/aspell.cpp:2840
+#: prog/aspell.cpp:2845
#, fuzzy
-msgid ""
-" dumps, creates or merges a master, personal, or replacement dictionary."
-msgstr ""
-" үгийн жагсаалт гаргах, мастер үүсгэх эсвэл нэгтгэх, итгэх эсвэл орлуулах."
+#| msgid " dumps, creates or merges a master, personal, or replacement word list."
+msgid " dumps, creates or merges a master, personal, or replacement dictionary."
+msgstr " үгийн жагсаалт гаргах, мастер үүсгэх эсвэл нэгтгэх, итгэх эсвэл орлуулах."
# TRANSLATORS: "none", "internal" and "strict" are literal values
# and should not be translated.
#. TRANSLATORS: "none", "internal" and "strict" are literal values
#. and should not be translated.
-#: prog/aspell.cpp:2844
-msgid ""
-" <norm-form> normalization form to use, either none, internal, or "
-"strict"
-msgstr ""
-" <norm-form> хэрэглэх нормалчилах хэлбэр, эсвэл none, internal, эсвэл "
-"strict байж болно"
+#: prog/aspell.cpp:2849
+msgid " <norm-form> normalization form to use, either none, internal, or strict"
+msgstr " <norm-form> хэрэглэх нормалчилах хэлбэр, эсвэл none, internal, эсвэл strict байж болно"
-#: prog/aspell.cpp:2854
-#, c-format
+#: prog/aspell.cpp:2859
+#, fuzzy, c-format
+#| msgid ""
+#| "\n"
+#| "Aspell %s. Copyright 2000-2004 by Kevin Atkinson.\n"
+#| "\n"
msgid ""
"\n"
"Aspell %s. Copyright 2000-2011 by Kevin Atkinson.\n"
"\n"
msgstr ""
"\n"
-"Аспелл %s. Зохиогчийн эрх (Copyright) 2000-2011 Кэвин Аткинсон (Kevin "
-"Atkinson).\n"
+"Аспелл %s. Зохиогчийн эрх (Copyright) 2000-2004 Кэвин Аткинсон (Kevin Atkinson).\n"
"\n"
-#: prog/aspell.cpp:2888
+#: prog/aspell.cpp:2893
msgid ""
"Available Dictionaries:\n"
" Dictionaries can be selected directly via the \"-d\" or \"master\"\n"
" сонгогдох боломжтой. Тэд мөн шууд бусаар \"lang\",\n"
" \"variety\", ба \"size\" сонголтоор сонгогдох ч боломжтой.\n"
-#: prog/aspell.cpp:2909
+#: prog/aspell.cpp:2914
msgid ""
"Available Filters (and associated options):\n"
" Filters can be added or removed via the \"filter\" option.\n"
"Байгаа шүүлтүүрүүд (ба холбоотой сонголтууд):\n"
" Шүүлтүүрүүд \"filter\" сонголтоор нэмэгдэж, устгагдаж болно.\n"
-#: prog/aspell.cpp:2916
+#: prog/aspell.cpp:2921
#, c-format
msgid ""
"\n"
" %s шүүлтүүр: %s\n"
#. TRANSLATORS: This should be formated to fit in 80 column or less
-#: prog/aspell.cpp:2933
+#: prog/aspell.cpp:2938
msgid ""
"Available Filter Modes:\n"
" Filter Modes are reconfigured combinations of filters optimized for\n"
#: modules/speller/default/language.cpp:494
#: modules/speller/default/language.cpp:503
#, c-format
-msgid ""
-"The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgid "The character '%s' (U+%02X) must be followed by an alphabetic character."
msgstr "'%s' (U+%02X) тэмдэгт өмнөө заавал нэг үсэг авна."
#: modules/speller/default/language.cpp:496
msgstr "'%s' тэмдэгт (U+%02X) үгийн дунд байх ёсгүй."
#: modules/speller/default/language.cpp:508
-msgid ""
-"The character '\\r' (U+0D) may not appear at the end of a word. This "
-"probably means means that the file is using MS-DOS EOL instead of Unix EOL."
-msgstr ""
-"'\\r' (U+0D) тэмдэгт үгийн төгсгөлтд байх ёсгүй. Магад энэ файл Юникс EOL -н "
-"оронд MS-DOS EOLхэрэглэж байна."
+msgid "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgstr "'\\r' (U+0D) тэмдэгт үгийн төгсгөлтд байх ёсгүй. Магад энэ файл Юникс EOL -н оронд MS-DOS EOLхэрэглэж байна."
#: modules/speller/default/language.cpp:511
#, c-format
msgid "Warning: Removing inapplicable affix '%s' from word %s.\n"
msgstr "Сануулга: '%s' хэрэггүй аффиксыг %s үгээс устгаж байна.\n"
-#: modules/speller/default/language.cpp:674
+#: modules/speller/default/language.cpp:675
#, c-format
msgid "Warning: %s Skipping string.\n"
msgstr "Сануулга: %s стринг алгасав.\n"
-#: modules/speller/default/language.cpp:732
+#: modules/speller/default/language.cpp:733
msgid "The total length is larger than 240 characters."
msgstr "Нийт урт 240 тэмдэгтээс хэтэрлээ."
-#: modules/speller/default/language.cpp:736
+#: modules/speller/default/language.cpp:737
#, c-format
msgid "Warning: %s Skipping word.\n"
msgstr "Сануулга: %s үгийг алгасав.\n"
msgstr "Магад буруу тоо."
#: modules/speller/default/readonly_ws.cpp:362
+msgid "Incompatible hash function."
+msgstr ""
+
+#: modules/speller/default/readonly_ws.cpp:440
msgid "Wrong endian order."
msgstr "Буруу төгсгөлийн дараалал."
-#: modules/speller/default/readonly_ws.cpp:385
+#: modules/speller/default/readonly_ws.cpp:463
msgid "Wrong soundslike."
msgstr "Буруу авиа."
-#: modules/speller/default/readonly_ws.cpp:391
+#: modules/speller/default/readonly_ws.cpp:469
msgid "Wrong soundslike version."
msgstr "Буруу авианы хувилбар."
-#: modules/speller/default/readonly_ws.cpp:853
+#: modules/speller/default/readonly_ws.cpp:934
msgid "Affix flags found in word but no affix file given."
msgstr "Үгэнд аффикс флаг олдсон боловч аффикс файл өгөгдөөгүй байна."
-#: modules/speller/default/readonly_ws.cpp:891
-msgid ""
-"The total word length, with soundslike data, is larger than 240 characters."
+#: modules/speller/default/readonly_ws.cpp:972
+msgid "The total word length, with soundslike data, is larger than 240 characters."
msgstr "Үгийн нийт урт авианы өгөгдлийн хамт 240 тэмдэгтээс их байна."
#: modules/speller/default/multi_ws.cpp:58
msgid "HTML tags to always skip the contents of"
msgstr "HTML тагуудын агуулгыг үргэлж алгасах "
+#: modules/filter/markdown-filter.info:8
+#, fuzzy
+#| msgid "filter for dealing with HTML documents"
+msgid "filter for Markdown/CommonMark documents"
+msgstr "HTML баримтуудтай холбоотой шүүлтүүр"
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
+msgstr ""
+
#: modules/filter/nroff-filter.info:7
#, fuzzy
+#| msgid "filter for dealing with HTML documents"
msgid "filter for dealing with Nroff documents"
msgstr "HTML баримтуудтай холбоотой шүүлтүүр"
#: modules/filter/texinfo-filter.info:7
#, fuzzy
+#| msgid "filter for dealing with HTML documents"
msgid "filter for dealing with Texinfo documents"
msgstr "HTML баримтуудтай холбоотой шүүлтүүр"
#: modules/filter/texinfo-filter.info:13
#, fuzzy
+#| msgid "ignore commands to store replacement pairs"
msgid "Texinfo commands to ignore the parameters of"
msgstr "орлуулгын хосуудыг хадгалах тушаалуудыг үл хэрэгсэх"
msgid "mode for checking HTML documents"
msgstr "HTML баримтуудыг алгасах горим"
+#: modules/filter/modes/markdown.amf:10
+#, fuzzy
+#| msgid "mode for checking HTML documents"
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr "HTML баримтуудыг алгасах горим"
+
#: modules/filter/modes/none.amf:5
msgid "mode to disable all filters"
msgstr "бүх шүүлтүүрийг хаах горим"
#: modules/filter/modes/nroff.amf:7
#, fuzzy
+#| msgid "mode for checking HTML documents"
msgid "mode for checking Nroff documents"
msgstr "HTML баримтуудыг алгасах горим"
#: modules/filter/modes/perl.amf:8
#, fuzzy
+#| msgid "mode for checking perl comments and string literals"
msgid "mode for checking Perl comments and string literals"
msgstr "perl тайлбар ба стринг литериалуудыг шалгах горим"
#: modules/filter/modes/texinfo.amf:7
#, fuzzy
+#| msgid "mode for checking HTML documents"
msgid "mode for checking Texinfo documents"
msgstr "HTML баримтуудыг алгасах горим"
msgstr ""
"Project-Id-Version: aspell-0.60.6\n"
"Report-Msgid-Bugs-To: kevina@gnu.org\n"
-"POT-Creation-Date: 2011-07-04 03:25-0600\n"
+"POT-Creation-Date: 2019-07-29 02:38-0400\n"
"PO-Revision-Date: 2009-07-05 20:27+0800\n"
"Last-Translator: Muhammad Najmi Ahmad Zabidi <najmi.zabidi@gmail.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
+"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
"X-Generator: KBabel 1.11.4\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "ASPELL_CONF env var"
msgstr "ASPELL_CONF env var"
-#. TRANSLATORS: The remaing strings in config.cpp should be kept
+#. TRANSLATORS: The remaining strings in config.cpp should be kept
#. under 50 characters, begin with a lower case character and not
#. include any trailing punctuation marks.
#: common/config.cpp:1360
msgid "time load time and suggest time in pipe mode"
msgstr ""
-#: common/convert.cpp:303 common/convert.cpp:429
+#: common/convert.cpp:303 common/convert.cpp:497
#, c-format
-msgid ""
-"This could also mean that the file \"%s\" could not be opened for reading or "
-"does not exist."
+msgid "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
msgstr ""
-#: common/convert.cpp:552 common/convert.cpp:659 common/convert.cpp:705
+#: common/convert.cpp:582 common/convert.cpp:689 common/convert.cpp:735
#, c-format
msgid "The Unicode code point U+%04X is unsupported."
msgstr ""
-#: common/convert.cpp:829
+#: common/convert.cpp:859
#, c-format
msgid "Invalid UTF-8 sequence at position %ld."
msgstr ""
msgstr ""
#: common/errors.cpp:147
-msgid ""
-"The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%"
-"key:1\"."
+msgid "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
msgstr ""
#: common/errors.cpp:163
msgstr ""
#: common/errors.cpp:195
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"reset-"
-"\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
msgstr ""
#: common/errors.cpp:203
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by an \"enable-"
-"\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by an \"enable-\"."
msgstr ""
#: common/errors.cpp:211
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" "
-"or \"disable-\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
msgstr ""
#: common/errors.cpp:219
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"clear-"
-"\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
msgstr ""
#: common/errors.cpp:235
#: common/errors.cpp:299
#, c-format
-msgid ""
-"The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be "
-"stripped."
+msgid "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
msgstr ""
#: common/errors.cpp:307
#, c-format
-msgid ""
-"The file \"%file:1\" is not in the proper format. Expected the file to be in "
-"\"%exp:2\" not \"%got:3\"."
+msgid "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
msgstr ""
#: common/errors.cpp:323
msgstr ""
#: common/errors.cpp:675
-msgid ""
-"\"%mode:1\": Magic \"%magic:2\": bad regular expression after location "
-"specifier; regexp reports: \"%regerr:3\"."
+msgid "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
msgstr ""
#: common/errors.cpp:691
msgid "Unhandled Error: "
msgstr ""
-#: prog/aspell.cpp:97
+#: prog/aspell.cpp:98
#, c-format
msgid "Error: %s\n"
msgstr ""
-#: prog/aspell.cpp:102
+#: prog/aspell.cpp:103
msgid "Error: "
msgstr ""
-#: prog/aspell.cpp:203
+#: prog/aspell.cpp:204
msgid "enter Email mode."
msgstr ""
-#: prog/aspell.cpp:204
+#: prog/aspell.cpp:205
msgid "enter HTML mode."
msgstr ""
-#: prog/aspell.cpp:205
+#: prog/aspell.cpp:206
msgid "enter TeX mode."
msgstr ""
-#: prog/aspell.cpp:206
+#: prog/aspell.cpp:207
msgid "enter Nroff mode."
msgstr ""
-#: prog/aspell.cpp:312
+#: prog/aspell.cpp:313
#, c-format
msgid "Invalid Option: %s"
msgstr ""
-#: prog/aspell.cpp:319
+#: prog/aspell.cpp:320
msgid " does not take any parameters."
msgstr ""
-#: prog/aspell.cpp:332 prog/aspell.cpp:392
+#: prog/aspell.cpp:333 prog/aspell.cpp:393
#, c-format
msgid "You must specify a parameter for \"%s\"."
msgstr ""
-#: prog/aspell.cpp:381
+#: prog/aspell.cpp:382
msgid "You must specify an action"
msgstr ""
-#: prog/aspell.cpp:389 prog/aspell.cpp:452 prog/aspell.cpp:474
+#: prog/aspell.cpp:390 prog/aspell.cpp:453 prog/aspell.cpp:475
#, c-format
msgid "Unknown Action: %s"
msgstr ""
-#: prog/aspell.cpp:395
+#: prog/aspell.cpp:396
#, c-format
msgid "Error: You must specify at least %d parameters for \"%s\".\n"
msgstr ""
-#: prog/aspell.cpp:637
+#: prog/aspell.cpp:638
msgid "Invalid Input"
msgstr ""
-#: prog/aspell.cpp:710
+#: prog/aspell.cpp:711
#, c-format
msgid "WARNING: Unable to enter Nroff mode: %s\n"
msgstr ""
-#: prog/aspell.cpp:731
+#: prog/aspell.cpp:732
msgid "Time to load word list: "
msgstr ""
-#: prog/aspell.cpp:929
+#: prog/aspell.cpp:930
#, c-format
msgid "Suggestion Time: %f\n"
msgstr ""
-#: prog/aspell.cpp:972
+#: prog/aspell.cpp:973
msgid "You must specify a file name."
msgstr ""
-#: prog/aspell.cpp:975
+#: prog/aspell.cpp:976
msgid "Only one file name may be specified."
msgstr ""
-#: prog/aspell.cpp:985
+#: prog/aspell.cpp:986
#, c-format
msgid "Could not open the file \"%s\" for reading"
msgstr ""
-#: prog/aspell.cpp:998
+#: prog/aspell.cpp:999
#, c-format
msgid "Invalid keymapping: %s"
msgstr ""
-#: prog/aspell.cpp:1020
+#: prog/aspell.cpp:1014
+#, c-format
+msgid "\"%s\" is not a regular file"
+msgstr ""
+
+#: prog/aspell.cpp:1025
#, c-format
msgid "Could not open the file \"%s\" for writing. File not saved."
msgstr ""
-#: prog/aspell.cpp:1033
+#: prog/aspell.cpp:1038
msgid "Ignore"
msgstr ""
-#: prog/aspell.cpp:1034
+#: prog/aspell.cpp:1039
msgid "Ignore all"
msgstr ""
-#: prog/aspell.cpp:1035
+#: prog/aspell.cpp:1040
msgid "Replace"
msgstr ""
-#: prog/aspell.cpp:1036
+#: prog/aspell.cpp:1041
msgid "Replace all"
msgstr ""
-#: prog/aspell.cpp:1037
+#: prog/aspell.cpp:1042
msgid "Add"
msgstr ""
-#: prog/aspell.cpp:1038
+#: prog/aspell.cpp:1043
msgid "Add Lower"
msgstr ""
-#: prog/aspell.cpp:1039
+#: prog/aspell.cpp:1044
msgid "Abort"
msgstr ""
-#: prog/aspell.cpp:1040
+#: prog/aspell.cpp:1045
msgid "Exit"
msgstr ""
-#: prog/aspell.cpp:1116
+#: prog/aspell.cpp:1121
msgid "Are you sure you want to abort (y/n)? "
msgstr ""
#. TRANSLATORS: The user may input any of these characters to say "yes".
#. MUST ONLY CONSIST OF ASCII CHARACTERS.
-#: prog/aspell.cpp:1120
+#: prog/aspell.cpp:1125
msgid "Yy"
msgstr ""
-#: prog/aspell.cpp:1148
+#: prog/aspell.cpp:1153
msgid "With: "
msgstr ""
-#: prog/aspell.cpp:1165
+#: prog/aspell.cpp:1170
msgid "Sorry that is an invalid choice!"
msgstr ""
-#: prog/aspell.cpp:1386
+#: prog/aspell.cpp:1391
msgid "Sorry \"filter\" is currently unimplemented.\n"
msgstr ""
-#: prog/aspell.cpp:1520
+#: prog/aspell.cpp:1525
msgid "Can't merge a master word list yet. Sorry."
msgstr ""
-#: prog/aspell.cpp:1544
+#: prog/aspell.cpp:1549
msgid "Sorry \"create/merge personal\" is currently unimplemented.\n"
msgstr ""
-#: prog/aspell.cpp:1553 prog/aspell.cpp:1609
+#: prog/aspell.cpp:1558 prog/aspell.cpp:1614
#, c-format
msgid "Sorry I won't overwrite \"%s\""
msgstr ""
-#: prog/aspell.cpp:1600
+#: prog/aspell.cpp:1605
msgid "Sorry \"create/merge repl\" is currently unimplemented.\n"
msgstr ""
-#: prog/aspell.cpp:1872
+#: prog/aspell.cpp:1877
#, c-format
msgid "\"%s\" is not a valid flag for the \"munch-list\" command."
msgstr ""
#. TRANSLATORS: These should all be formated to fit in 80 column or
#. less
-#: prog/aspell.cpp:2799
+#: prog/aspell.cpp:2804
msgid "Usage: aspell [options] <command>"
msgstr ""
-#: prog/aspell.cpp:2800
+#: prog/aspell.cpp:2805
msgid "<command> is one of:"
msgstr ""
-#: prog/aspell.cpp:2801
+#: prog/aspell.cpp:2806
msgid " -?|usage display a brief usage message"
msgstr ""
-#: prog/aspell.cpp:2802
+#: prog/aspell.cpp:2807
msgid " help display a detailed help message"
msgstr ""
-#: prog/aspell.cpp:2803
+#: prog/aspell.cpp:2808
msgid " -c|check <file> to check a file"
msgstr ""
-#: prog/aspell.cpp:2804
+#: prog/aspell.cpp:2809
msgid " -a|pipe \"ispell -a\" compatibility mode"
msgstr ""
-#: prog/aspell.cpp:2805
+#: prog/aspell.cpp:2810
msgid " [dump] config dumps the current configuration to stdout"
msgstr ""
-#: prog/aspell.cpp:2806
+#: prog/aspell.cpp:2811
msgid " config <key> prints the current value of an option"
msgstr ""
-#: prog/aspell.cpp:2807
+#: prog/aspell.cpp:2812
msgid " [dump] dicts | filters | modes"
msgstr ""
-#: prog/aspell.cpp:2808
+#: prog/aspell.cpp:2813
msgid " lists available dictionaries / filters / filter modes"
msgstr ""
-#: prog/aspell.cpp:2809
+#: prog/aspell.cpp:2814
msgid "[options] is any of the following:"
msgstr ""
-#: prog/aspell.cpp:2822
-msgid ""
-" list produce a list of misspelled words from standard input"
+#: prog/aspell.cpp:2827
+msgid " list produce a list of misspelled words from standard input"
msgstr ""
-#: prog/aspell.cpp:2825
-msgid ""
-" soundslike returns the sounds like equivalent for each word entered"
+#: prog/aspell.cpp:2830
+msgid " soundslike returns the sounds like equivalent for each word entered"
msgstr ""
-#: prog/aspell.cpp:2826
+#: prog/aspell.cpp:2831
msgid " munch generate possible root words and affixes"
msgstr ""
-#: prog/aspell.cpp:2827
+#: prog/aspell.cpp:2832
msgid " expand [1-4] expands affix flags"
msgstr ""
-#: prog/aspell.cpp:2828
-msgid ""
-" clean [strict] cleans a word list so that every line is a valid word"
+#: prog/aspell.cpp:2833
+msgid " clean [strict] cleans a word list so that every line is a valid word"
msgstr ""
-#: prog/aspell.cpp:2830
+#: prog/aspell.cpp:2835
msgid " -v|version prints a version line"
msgstr ""
-#: prog/aspell.cpp:2831
+#: prog/aspell.cpp:2836
msgid " munch-list [simple] [single|multi] [keep]"
msgstr ""
-#: prog/aspell.cpp:2832
+#: prog/aspell.cpp:2837
msgid " reduce the size of a word list via affix compression"
msgstr ""
-#: prog/aspell.cpp:2833
+#: prog/aspell.cpp:2838
msgid " conv <from> <to> [<norm-form>]"
msgstr ""
-#: prog/aspell.cpp:2834
+#: prog/aspell.cpp:2839
msgid " converts from one encoding to another"
msgstr ""
-#: prog/aspell.cpp:2835
+#: prog/aspell.cpp:2840
msgid " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
msgstr ""
-#: prog/aspell.cpp:2836
+#: prog/aspell.cpp:2841
msgid " perform Unicode normalization"
msgstr ""
-#: prog/aspell.cpp:2839
+#: prog/aspell.cpp:2844
msgid " dump|create|merge master|personal|repl [<name>]"
msgstr ""
-#: prog/aspell.cpp:2840
-msgid ""
-" dumps, creates or merges a master, personal, or replacement dictionary."
+#: prog/aspell.cpp:2845
+msgid " dumps, creates or merges a master, personal, or replacement dictionary."
msgstr ""
#. TRANSLATORS: "none", "internal" and "strict" are literal values
#. and should not be translated.
-#: prog/aspell.cpp:2844
-msgid ""
-" <norm-form> normalization form to use, either none, internal, or "
-"strict"
+#: prog/aspell.cpp:2849
+msgid " <norm-form> normalization form to use, either none, internal, or strict"
msgstr ""
-#: prog/aspell.cpp:2854
+#: prog/aspell.cpp:2859
#, c-format
msgid ""
"\n"
"\n"
msgstr ""
-#: prog/aspell.cpp:2888
+#: prog/aspell.cpp:2893
msgid ""
"Available Dictionaries:\n"
" Dictionaries can be selected directly via the \"-d\" or \"master\"\n"
" \"variety\", and \"size\" options.\n"
msgstr ""
-#: prog/aspell.cpp:2909
+#: prog/aspell.cpp:2914
msgid ""
"Available Filters (and associated options):\n"
" Filters can be added or removed via the \"filter\" option.\n"
msgstr ""
-#: prog/aspell.cpp:2916
+#: prog/aspell.cpp:2921
#, c-format
msgid ""
"\n"
msgstr ""
#. TRANSLATORS: This should be formated to fit in 80 column or less
-#: prog/aspell.cpp:2933
+#: prog/aspell.cpp:2938
msgid ""
"Available Filter Modes:\n"
" Filter Modes are reconfigured combinations of filters optimized for\n"
#: modules/speller/default/language.cpp:494
#: modules/speller/default/language.cpp:503
#, c-format
-msgid ""
-"The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgid "The character '%s' (U+%02X) must be followed by an alphabetic character."
msgstr ""
#: modules/speller/default/language.cpp:496
msgstr ""
#: modules/speller/default/language.cpp:508
-msgid ""
-"The character '\\r' (U+0D) may not appear at the end of a word. This "
-"probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgid "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
msgstr ""
#: modules/speller/default/language.cpp:511
msgid "Warning: Removing inapplicable affix '%s' from word %s.\n"
msgstr ""
-#: modules/speller/default/language.cpp:674
+#: modules/speller/default/language.cpp:675
#, c-format
msgid "Warning: %s Skipping string.\n"
msgstr ""
-#: modules/speller/default/language.cpp:732
+#: modules/speller/default/language.cpp:733
msgid "The total length is larger than 240 characters."
msgstr ""
-#: modules/speller/default/language.cpp:736
+#: modules/speller/default/language.cpp:737
#, c-format
msgid "Warning: %s Skipping word.\n"
msgstr ""
msgstr ""
#: modules/speller/default/readonly_ws.cpp:362
+msgid "Incompatible hash function."
+msgstr ""
+
+#: modules/speller/default/readonly_ws.cpp:440
msgid "Wrong endian order."
msgstr ""
-#: modules/speller/default/readonly_ws.cpp:385
+#: modules/speller/default/readonly_ws.cpp:463
msgid "Wrong soundslike."
msgstr ""
-#: modules/speller/default/readonly_ws.cpp:391
+#: modules/speller/default/readonly_ws.cpp:469
msgid "Wrong soundslike version."
msgstr ""
-#: modules/speller/default/readonly_ws.cpp:853
+#: modules/speller/default/readonly_ws.cpp:934
msgid "Affix flags found in word but no affix file given."
msgstr ""
-#: modules/speller/default/readonly_ws.cpp:891
-msgid ""
-"The total word length, with soundslike data, is larger than 240 characters."
+#: modules/speller/default/readonly_ws.cpp:972
+msgid "The total word length, with soundslike data, is larger than 240 characters."
msgstr ""
#: modules/speller/default/multi_ws.cpp:58
msgid "HTML tags to always skip the contents of"
msgstr ""
+#: modules/filter/markdown-filter.info:8
+msgid "filter for Markdown/CommonMark documents"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
+msgstr ""
+
#: modules/filter/nroff-filter.info:7
msgid "filter for dealing with Nroff documents"
msgstr ""
msgid "mode for checking HTML documents"
msgstr ""
+#: modules/filter/modes/markdown.amf:10
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr ""
+
#: modules/filter/modes/none.amf:5
msgid "mode to disable all filters"
msgstr ""
# Dutch translations for aspell.
-# Copyright (C) 2008 Kevin Atkinson (msgids)
+# Copyright (C) 2011 Kevin Atkinson (msgids)
# This file is distributed under the same license as the aspell package.
#
# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
-# Benno Schulenberg <benno@vertaalt.nl>, 2005, 2006, 2007, 2008, 2010.
+# Benno Schulenberg <benno@vertaalt.nl>, 2005, 2006, 2007, 2008, 2010, 2011.
msgid ""
msgstr ""
-"Project-Id-Version: aspell-0.60.6\n"
+"Project-Id-Version: aspell-0.60.7\n"
"Report-Msgid-Bugs-To: kevina@gnu.org\n"
-"POT-Creation-Date: 2011-07-04 03:25-0600\n"
-"PO-Revision-Date: 2010-09-26 20:30+0200\n"
+"POT-Creation-Date: 2019-07-29 02:38-0400\n"
+"PO-Revision-Date: 2011-07-08 20:54+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
+"Language: nl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.11.4\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Lokalize 1.0\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: common/info.cpp:232
msgid "a number between 0 and 1"
msgid "ASPELL_CONF env var"
msgstr "ASPELL_CONF-omgevingsvariabele"
-#. TRANSLATORS: The remaing strings in config.cpp should be kept
+#. TRANSLATORS: The remaining strings in config.cpp should be kept
#. under 50 characters, begin with a lower case character and not
#. include any trailing punctuation marks.
#: common/config.cpp:1360
msgid "time load time and suggest time in pipe mode"
msgstr "opstart- en suggestietijd bijhouden in pijpmodus"
-#: common/convert.cpp:303 common/convert.cpp:429
+#: common/convert.cpp:303 common/convert.cpp:497
#, c-format
-msgid ""
-"This could also mean that the file \"%s\" could not be opened for reading or "
-"does not exist."
-msgstr ""
-"Dit kan ook betekenen dat het bestand \"%s\" niet kan worden geopend om te "
-"lezen, of niet bestaat."
+msgid "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
+msgstr "Dit kan ook betekenen dat het bestand \"%s\" niet kan worden geopend om te lezen, of niet bestaat."
-#: common/convert.cpp:552 common/convert.cpp:659 common/convert.cpp:705
+#: common/convert.cpp:582 common/convert.cpp:689 common/convert.cpp:735
#, c-format
msgid "The Unicode code point U+%04X is unsupported."
msgstr "Unicode-codepunt U+%04X wordt niet ondersteund."
-#: common/convert.cpp:829
+#: common/convert.cpp:859
#, c-format
msgid "Invalid UTF-8 sequence at position %ld."
msgstr "Ongeldige UTF-8-reeks op positie %ld."
msgstr "Sleutel \"%key:1\" is niet %accepted:2 en is dus ongeldig."
#: common/errors.cpp:147
-msgid ""
-"The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%"
-"key:1\"."
-msgstr ""
-"De waarde \"%value:2\" is niet %accepted:3, en is dus ongeldig voor sleutel "
-"\"%key:1\"."
+msgid "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
+msgstr "De waarde \"%value:2\" is niet %accepted:3, en is dus ongeldig voor sleutel \"%key:1\"."
#: common/errors.cpp:163
msgid "The key \"%key:1\" is not a string."
msgstr "Sleutel \"%key:1\" is geen lijst."
#: common/errors.cpp:195
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"reset-"
-"\"."
-msgstr ""
-"Sleutel \"%key:1\" neemt geen parameters als deze begint met \"reset-\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
+msgstr "Sleutel \"%key:1\" neemt geen parameters als deze begint met \"reset-\"."
#: common/errors.cpp:203
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by an \"enable-"
-"\"."
-msgstr ""
-"Sleutel \"%key:1\" neemt geen parameters als deze begint met \"enable-\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by an \"enable-\"."
+msgstr "Sleutel \"%key:1\" neemt geen parameters als deze begint met \"enable-\"."
#: common/errors.cpp:211
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" "
-"or \"disable-\"."
-msgstr ""
-"Sleutel \"%key:1\" neemt geen parameters als deze begint met \"dont-\" of "
-"\"disable-\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
+msgstr "Sleutel \"%key:1\" neemt geen parameters als deze begint met \"dont-\" of \"disable-\"."
#: common/errors.cpp:219
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"clear-"
-"\"."
-msgstr ""
-"Sleutel \"%key:1\" neemt geen parameters als deze begint met \"clear-\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
+msgstr "Sleutel \"%key:1\" neemt geen parameters als deze begint met \"clear-\"."
#: common/errors.cpp:235
#, c-format
#: common/errors.cpp:299
#, c-format
-msgid ""
-"The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be "
-"stripped."
-msgstr ""
-"De voorwaarde \"%cond:1\" garandeert niet dat \"%strip:2\" altijd kan worden "
-"verwijderd."
+msgid "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
+msgstr "De voorwaarde \"%cond:1\" garandeert niet dat \"%strip:2\" altijd kan worden verwijderd."
#: common/errors.cpp:307
#, c-format
-msgid ""
-"The file \"%file:1\" is not in the proper format. Expected the file to be in "
-"\"%exp:2\" not \"%got:3\"."
-msgstr ""
-"Het bestand \"%file:1\" is niet in de juiste indeling. Indeling \"%exp:2\" "
-"werd verwacht, niet \"%got:3\"."
+msgid "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
+msgstr "Het bestand \"%file:1\" is niet in de juiste indeling. Indeling \"%exp:2\" werd verwacht, niet \"%got:3\"."
#: common/errors.cpp:323
#, c-format
#: common/errors.cpp:635
#, c-format
msgid "\"%mode:1\" error while extend Aspell modes. (out of memory?)"
-msgstr ""
-"\"%mode:1\"-fout bij uitbreiden van 'aspell'-modi -- onvoldoende geheugen?"
+msgstr "\"%mode:1\"-fout bij uitbreiden van 'aspell'-modi -- onvoldoende geheugen?"
#: common/errors.cpp:651
#, c-format
msgid "\"%mode:1\": no start for magic search given for magic \"%magic:2\"."
-msgstr ""
-"\"%mode:1\": geen begin voor magische zoekactie gegeven voor \"%magic:2\"."
+msgstr "\"%mode:1\": geen begin voor magische zoekactie gegeven voor \"%magic:2\"."
#: common/errors.cpp:659
#, c-format
msgid "\"%mode:1\": no range for magic search given for magic \"%magic:2\"."
-msgstr ""
-"\"%mode:1\": geen bereik voor magische zoekactie gegeven voor \"%magic:2\"."
+msgstr "\"%mode:1\": geen bereik voor magische zoekactie gegeven voor \"%magic:2\"."
#: common/errors.cpp:667
#, c-format
msgstr "\"%mode:1\": geen magische uitdrukking beschikbaar voor \"%magic:2\"."
#: common/errors.cpp:675
-msgid ""
-"\"%mode:1\": Magic \"%magic:2\": bad regular expression after location "
-"specifier; regexp reports: \"%regerr:3\"."
+msgid "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
msgstr ""
"\"%mode:1\": \"%magic:2\": ongeldige reguliere expressie na locatie-opgave;\n"
"regexp() rapporteert: \"%regerr:3\"."
msgid "Unhandled Error: "
msgstr "Onbehandelde fout: "
-#: prog/aspell.cpp:97
+#: prog/aspell.cpp:98
#, c-format
msgid "Error: %s\n"
msgstr "Fout: %s\n"
-#: prog/aspell.cpp:102
+#: prog/aspell.cpp:103
msgid "Error: "
msgstr "Fout: "
-#: prog/aspell.cpp:203
+#: prog/aspell.cpp:204
msgid "enter Email mode."
msgstr "op e-mailmodus overgaan"
-#: prog/aspell.cpp:204
+#: prog/aspell.cpp:205
msgid "enter HTML mode."
msgstr "op HTML-modus overgaan"
-#: prog/aspell.cpp:205
+#: prog/aspell.cpp:206
msgid "enter TeX mode."
msgstr "op TeX-modus overgaan"
-#: prog/aspell.cpp:206
+#: prog/aspell.cpp:207
msgid "enter Nroff mode."
msgstr "op Nroff-modus overgaan"
-#: prog/aspell.cpp:312
+#: prog/aspell.cpp:313
#, c-format
msgid "Invalid Option: %s"
msgstr "Ongeldige optie: %s"
-#: prog/aspell.cpp:319
+#: prog/aspell.cpp:320
msgid " does not take any parameters."
msgstr " neemt geen parameters aan."
-#: prog/aspell.cpp:332 prog/aspell.cpp:392
+#: prog/aspell.cpp:333 prog/aspell.cpp:393
#, c-format
msgid "You must specify a parameter for \"%s\"."
msgstr "U dient een parameter op te geven voor \"%s\"."
-#: prog/aspell.cpp:381
+#: prog/aspell.cpp:382
msgid "You must specify an action"
msgstr "U dient een actie op te geven."
-#: prog/aspell.cpp:389 prog/aspell.cpp:452 prog/aspell.cpp:474
+#: prog/aspell.cpp:390 prog/aspell.cpp:453 prog/aspell.cpp:475
#, c-format
msgid "Unknown Action: %s"
msgstr "Onbekende actie: %s"
-#: prog/aspell.cpp:395
+#: prog/aspell.cpp:396
#, c-format
msgid "Error: You must specify at least %d parameters for \"%s\".\n"
msgstr "Fout: u dient minstens %d parameters op te geven voor \"%s\".\n"
-#: prog/aspell.cpp:637
+#: prog/aspell.cpp:638
msgid "Invalid Input"
msgstr "Ongeldige invoer"
-#: prog/aspell.cpp:710
+#: prog/aspell.cpp:711
#, c-format
msgid "WARNING: Unable to enter Nroff mode: %s\n"
msgstr "Waarschuwing: kan niet op Nroff-modus overgaan: %s\n"
-#: prog/aspell.cpp:731
+#: prog/aspell.cpp:732
msgid "Time to load word list: "
msgstr "Tijd gebruikt voor laden van woordenlijst: "
-#: prog/aspell.cpp:929
+#: prog/aspell.cpp:930
#, c-format
msgid "Suggestion Time: %f\n"
msgstr "Tijd gebruikt voor suggesties: %f\n"
-#: prog/aspell.cpp:972
+#: prog/aspell.cpp:973
msgid "You must specify a file name."
msgstr "U dient een bestandsnaam op te geven."
-#: prog/aspell.cpp:975
+#: prog/aspell.cpp:976
msgid "Only one file name may be specified."
msgstr "Er mag slechts één bestandsnaam opgegeven worden."
-#: prog/aspell.cpp:985
+#: prog/aspell.cpp:986
#, c-format
msgid "Could not open the file \"%s\" for reading"
msgstr "Kan bestand \"%s\" niet openen om te lezen."
-#: prog/aspell.cpp:998
+#: prog/aspell.cpp:999
#, c-format
msgid "Invalid keymapping: %s"
msgstr "Ongeldige toets-toekenning: %s"
-#: prog/aspell.cpp:1020
+#: prog/aspell.cpp:1014
+#, fuzzy, c-format
+#| msgid "\"%expression:1\" is not a valid regular expression."
+msgid "\"%s\" is not a regular file"
+msgstr "\"%expression:1\" is geen geldige reguliere expressie."
+
+#: prog/aspell.cpp:1025
#, c-format
msgid "Could not open the file \"%s\" for writing. File not saved."
-msgstr ""
-"Kan bestand \"%s\" niet openen om te schrijven -- bestand is niet opgeslagen."
+msgstr "Kan bestand \"%s\" niet openen om te schrijven -- bestand is niet opgeslagen."
-#: prog/aspell.cpp:1033
+#: prog/aspell.cpp:1038
msgid "Ignore"
msgstr "Negeren"
-#: prog/aspell.cpp:1034
+#: prog/aspell.cpp:1039
msgid "Ignore all"
msgstr "Alle negeren"
-#: prog/aspell.cpp:1035
+#: prog/aspell.cpp:1040
msgid "Replace"
msgstr "Vervangen"
-#: prog/aspell.cpp:1036
+#: prog/aspell.cpp:1041
msgid "Replace all"
msgstr "Alle vervangen"
-#: prog/aspell.cpp:1037
+#: prog/aspell.cpp:1042
msgid "Add"
msgstr "Toevoegen"
-#: prog/aspell.cpp:1038
+#: prog/aspell.cpp:1043
msgid "Add Lower"
msgstr "Lager toevoegen"
-#: prog/aspell.cpp:1039
+#: prog/aspell.cpp:1044
msgid "Abort"
msgstr "Afbreken"
-#: prog/aspell.cpp:1040
+#: prog/aspell.cpp:1045
msgid "Exit"
msgstr "Afsluiten"
-#: prog/aspell.cpp:1116
+#: prog/aspell.cpp:1121
msgid "Are you sure you want to abort (y/n)? "
msgstr "Wilt u het programma afbreken (j/n)? "
#. TRANSLATORS: The user may input any of these characters to say "yes".
#. MUST ONLY CONSIST OF ASCII CHARACTERS.
-#: prog/aspell.cpp:1120
+#: prog/aspell.cpp:1125
msgid "Yy"
msgstr "JjYy"
-#: prog/aspell.cpp:1148
+#: prog/aspell.cpp:1153
msgid "With: "
msgstr "Met: "
-#: prog/aspell.cpp:1165
+#: prog/aspell.cpp:1170
msgid "Sorry that is an invalid choice!"
msgstr "Sorry, die keuze is ongeldig!"
-#: prog/aspell.cpp:1386
+#: prog/aspell.cpp:1391
msgid "Sorry \"filter\" is currently unimplemented.\n"
msgstr "Sorry, 'filter' is nog niet geïmplementeerd.\n"
-#: prog/aspell.cpp:1520
+#: prog/aspell.cpp:1525
msgid "Can't merge a master word list yet. Sorry."
msgstr "Kan hoofdwoordenlijst nog niet samenvoegen. Sorry."
-#: prog/aspell.cpp:1544
+#: prog/aspell.cpp:1549
msgid "Sorry \"create/merge personal\" is currently unimplemented.\n"
-msgstr ""
-"Sorry, \"aanmaken/samenvoegen van persoonlijk woordenboek\" is nog niet "
-"geïmplementeerd.\n"
+msgstr "Sorry, \"aanmaken/samenvoegen van persoonlijk woordenboek\" is nog niet geïmplementeerd.\n"
-#: prog/aspell.cpp:1553 prog/aspell.cpp:1609
+#: prog/aspell.cpp:1558 prog/aspell.cpp:1614
#, c-format
msgid "Sorry I won't overwrite \"%s\""
msgstr "Sorry, '%s' wordt NIET overschreven."
-#: prog/aspell.cpp:1600
+#: prog/aspell.cpp:1605
msgid "Sorry \"create/merge repl\" is currently unimplemented.\n"
-msgstr ""
-"Sorry, \"aanmaken/samenvoegen van vervangingen\" is nog niet "
-"geïmplementeerd.\n"
+msgstr "Sorry, \"aanmaken/samenvoegen van vervangingen\" is nog niet geïmplementeerd.\n"
-#: prog/aspell.cpp:1872
+#: prog/aspell.cpp:1877
#, c-format
msgid "\"%s\" is not a valid flag for the \"munch-list\" command."
msgstr "'%s' is geen geldige optie voor de opdracht 'munch-list'."
#. TRANSLATORS: These should all be formated to fit in 80 column or
#. less
-#: prog/aspell.cpp:2799
+#: prog/aspell.cpp:2804
msgid "Usage: aspell [options] <command>"
msgstr "Gebruik: aspell [opties] <opdracht>"
-#: prog/aspell.cpp:2800
+#: prog/aspell.cpp:2805
msgid "<command> is one of:"
msgstr "<opdracht> is één van:"
-#: prog/aspell.cpp:2801
+#: prog/aspell.cpp:2806
msgid " -?|usage display a brief usage message"
msgstr " -?|usage een korte gebruikssamenvatting tonen"
-#: prog/aspell.cpp:2802
+#: prog/aspell.cpp:2807
msgid " help display a detailed help message"
msgstr " help deze uitgebreide hulptekst tonen"
-#: prog/aspell.cpp:2803
+#: prog/aspell.cpp:2808
msgid " -c|check <file> to check a file"
msgstr " -c|check <bestand> dit bestand controleren"
-#: prog/aspell.cpp:2804
+#: prog/aspell.cpp:2809
msgid " -a|pipe \"ispell -a\" compatibility mode"
msgstr " -a|pipe compatibiliteitsmodus (met 'ispell -a')"
-#: prog/aspell.cpp:2805
+#: prog/aspell.cpp:2810
msgid " [dump] config dumps the current configuration to stdout"
msgstr " [dump] config huidige configuratie tonen"
-#: prog/aspell.cpp:2806
+#: prog/aspell.cpp:2811
msgid " config <key> prints the current value of an option"
msgstr " config <sleutel> huidige waarde van een optie tonen"
-#: prog/aspell.cpp:2807
+#: prog/aspell.cpp:2812
msgid " [dump] dicts | filters | modes"
msgstr " [dump] dicts | filters | modes"
-#: prog/aspell.cpp:2808
+#: prog/aspell.cpp:2813
msgid " lists available dictionaries / filters / filter modes"
-msgstr ""
-" beschikbare woordenboeken, filters en filtermodi "
-"opsommen"
+msgstr " beschikbare woordenboeken, filters en filtermodi opsommen"
-#: prog/aspell.cpp:2809
+#: prog/aspell.cpp:2814
msgid "[options] is any of the following:"
msgstr "[opties] kunnen de volgende zijn:"
-#: prog/aspell.cpp:2822
-msgid ""
-" list produce a list of misspelled words from standard input"
+#: prog/aspell.cpp:2827
+msgid " list produce a list of misspelled words from standard input"
msgstr " list een lijst van verkeerd gespelde woorden tonen"
-#: prog/aspell.cpp:2825
-msgid ""
-" soundslike returns the sounds like equivalent for each word entered"
-msgstr ""
-" soundslike een \"klinkt-als\"-equivalent voor elk gegeven woord "
-"geven"
+#: prog/aspell.cpp:2830
+msgid " soundslike returns the sounds like equivalent for each word entered"
+msgstr " soundslike een \"klinkt-als\"-equivalent voor elk gegeven woord geven"
-#: prog/aspell.cpp:2826
+#: prog/aspell.cpp:2831
msgid " munch generate possible root words and affixes"
msgstr " munch mogelijke stamwoorden en affixen genereren"
-#: prog/aspell.cpp:2827
+#: prog/aspell.cpp:2832
msgid " expand [1-4] expands affix flags"
msgstr " expand [1-3] resultaten van affixopties uitschrijven"
-#: prog/aspell.cpp:2828
-msgid ""
-" clean [strict] cleans a word list so that every line is a valid word"
-msgstr ""
-" clean [strict] woordenlijst opschonen, alleen geldige woorden toestaan"
+#: prog/aspell.cpp:2833
+msgid " clean [strict] cleans a word list so that every line is a valid word"
+msgstr " clean [strict] woordenlijst opschonen, alleen geldige woorden toestaan"
-#: prog/aspell.cpp:2830
+#: prog/aspell.cpp:2835
msgid " -v|version prints a version line"
msgstr " -v|version programmaversie tonen"
-#: prog/aspell.cpp:2831
+#: prog/aspell.cpp:2836
msgid " munch-list [simple] [single|multi] [keep]"
msgstr " munch-list [simple] [single|multi] [keep]"
-#: prog/aspell.cpp:2832
+#: prog/aspell.cpp:2837
msgid " reduce the size of a word list via affix compression"
-msgstr ""
-" grootte van woordenlijst door affixcompressie "
-"verkleinen"
+msgstr " grootte van woordenlijst door affixcompressie verkleinen"
-#: prog/aspell.cpp:2833
+#: prog/aspell.cpp:2838
msgid " conv <from> <to> [<norm-form>]"
msgstr " conv <van> <naar> [<normalisatievorm>]"
-#: prog/aspell.cpp:2834
+#: prog/aspell.cpp:2839
msgid " converts from one encoding to another"
msgstr " naar een andere codering converteren"
-#: prog/aspell.cpp:2835
+#: prog/aspell.cpp:2840
msgid " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
-msgstr ""
-" norm (<norm.afbeelding> | <van> <norm.afbeelding> <naar>) [<norm.vorm>]"
+msgstr " norm (<norm.afbeelding> | <van> <norm.afbeelding> <naar>) [<norm.vorm>]"
-#: prog/aspell.cpp:2836
+#: prog/aspell.cpp:2841
msgid " perform Unicode normalization"
msgstr " Unicode-normalisatie uitvoeren"
-#: prog/aspell.cpp:2839
+#: prog/aspell.cpp:2844
msgid " dump|create|merge master|personal|repl [<name>]"
msgstr " dump|create|merge master|personal|repl [<naam van woordenlijst>]"
-#: prog/aspell.cpp:2840
-msgid ""
-" dumps, creates or merges a master, personal, or replacement dictionary."
+#: prog/aspell.cpp:2845
+msgid " dumps, creates or merges a master, personal, or replacement dictionary."
msgstr ""
" weergeven, aanmaken of samenvoegen van\n"
" hoofd-, persoonlijke of vervangingswoordenlijst"
#. TRANSLATORS: "none", "internal" and "strict" are literal values
#. and should not be translated.
-#: prog/aspell.cpp:2844
-msgid ""
-" <norm-form> normalization form to use, either none, internal, or "
-"strict"
+#: prog/aspell.cpp:2849
+msgid " <norm-form> normalization form to use, either none, internal, or strict"
msgstr ""
" <normalisatievorm> te gebruiken normalisatievorm: 'none' (geen),\n"
" 'internal' (intern), of 'strict' (strikt)"
-#: prog/aspell.cpp:2854
+#: prog/aspell.cpp:2859
#, c-format
msgid ""
"\n"
"Aspell %s. Copyright 2000-2011 Kevin Atkinson.\n"
"\n"
-#: prog/aspell.cpp:2888
+#: prog/aspell.cpp:2893
msgid ""
"Available Dictionaries:\n"
" Dictionaries can be selected directly via the \"-d\" or \"master\"\n"
" (Woordenboeken kunnen gekozen worden met de optie '-d' of 'master';\n"
" of indirect via de opties 'lang', 'variety' en 'size'.)\n"
-#: prog/aspell.cpp:2909
+#: prog/aspell.cpp:2914
msgid ""
"Available Filters (and associated options):\n"
" Filters can be added or removed via the \"filter\" option.\n"
"Beschikbare filters (en bijbehorende opties):\n"
" (Filters kunnen worden toegevoegd of verwijderd met de optie 'filter'.)\n"
-#: prog/aspell.cpp:2916
+#: prog/aspell.cpp:2921
#, c-format
msgid ""
"\n"
" %s filter: %s\n"
#. TRANSLATORS: This should be formated to fit in 80 column or less
-#: prog/aspell.cpp:2933
+#: prog/aspell.cpp:2938
msgid ""
"Available Filter Modes:\n"
" Filter Modes are reconfigured combinations of filters optimized for\n"
#: modules/speller/default/language.cpp:492
#, c-format
msgid "The character '%s' (U+%02X) may not appear at the beginning of a word."
-msgstr ""
-"Het teken '%s' (U+%02X) mag niet aan het begin van een woord voorkomen."
+msgstr "Het teken '%s' (U+%02X) mag niet aan het begin van een woord voorkomen."
#: modules/speller/default/language.cpp:494
#: modules/speller/default/language.cpp:503
#, c-format
-msgid ""
-"The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgid "The character '%s' (U+%02X) must be followed by an alphabetic character."
msgstr "Het teken '%s' (U+%02X) moet door een letterteken gevolgd worden."
#: modules/speller/default/language.cpp:496
#: modules/speller/default/language.cpp:501
#, c-format
msgid "The character '%s' (U+%02X) may not appear in the middle of a word."
-msgstr ""
-"Het teken '%s' (U+%02X) mag niet in het midden van een woord voorkomen."
+msgstr "Het teken '%s' (U+%02X) mag niet in het midden van een woord voorkomen."
#: modules/speller/default/language.cpp:508
-msgid ""
-"The character '\\r' (U+0D) may not appear at the end of a word. This "
-"probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgid "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
msgstr ""
"Het teken '\\r' (U+0D) mag niet aan het einde van een woord voorkomen.\n"
"Dit betekent waarschijnlijk dat het bestand het regeleindeteken van MS-DOS\n"
#: modules/speller/default/language.cpp:511
#, c-format
msgid "The character '%s' (U+%02X) may not appear at the end of a word."
-msgstr ""
-"Het teken '%s' (U+%02X) mag niet aan het einde van een woord voorkomen."
+msgstr "Het teken '%s' (U+%02X) mag niet aan het einde van een woord voorkomen."
#: modules/speller/default/language.cpp:543
#, c-format
msgid "Warning: Removing invalid affix '%s' from word %s.\n"
-msgstr ""
-"Waarschuwing: ongeldige affix '%s' wordt uit woord \"%s\" verwijderd.\n"
+msgstr "Waarschuwing: ongeldige affix '%s' wordt uit woord \"%s\" verwijderd.\n"
#: modules/speller/default/language.cpp:544
#, c-format
msgid "Warning: Removing inapplicable affix '%s' from word %s.\n"
-msgstr ""
-"Waarschuwing: ontoepasselijke affix '%s' wordt uit woord \"%s\" verwijderd.\n"
+msgstr "Waarschuwing: ontoepasselijke affix '%s' wordt uit woord \"%s\" verwijderd.\n"
-#: modules/speller/default/language.cpp:674
+#: modules/speller/default/language.cpp:675
#, c-format
msgid "Warning: %s Skipping string.\n"
msgstr "Waarschuwing: %s -- tekenreeks wordt overgeslagen.\n"
-#: modules/speller/default/language.cpp:732
+#: modules/speller/default/language.cpp:733
msgid "The total length is larger than 240 characters."
msgstr "De totale lengte is groter dan 240 tekens."
-#: modules/speller/default/language.cpp:736
+#: modules/speller/default/language.cpp:737
#, c-format
msgid "Warning: %s Skipping word.\n"
msgstr "Waarschuwing: %s -- woord wordt overgeslagen.\n"
msgstr "Misschien een onjuist aantal."
#: modules/speller/default/readonly_ws.cpp:362
+msgid "Incompatible hash function."
+msgstr "Incompatibele hash-functie."
+
+#: modules/speller/default/readonly_ws.cpp:440
msgid "Wrong endian order."
msgstr "Verkeerde bytevolgorde ('endianness')."
-#: modules/speller/default/readonly_ws.cpp:385
+#: modules/speller/default/readonly_ws.cpp:463
msgid "Wrong soundslike."
msgstr "Onjuiste \"klinkt-als\"."
-#: modules/speller/default/readonly_ws.cpp:391
+#: modules/speller/default/readonly_ws.cpp:469
msgid "Wrong soundslike version."
msgstr "Onjuiste versie van \"klinkt-als\"."
-#: modules/speller/default/readonly_ws.cpp:853
+#: modules/speller/default/readonly_ws.cpp:934
msgid "Affix flags found in word but no affix file given."
msgstr "Affixopties gevonden in woord, maar er is geen affixbestand opgegeven."
-#: modules/speller/default/readonly_ws.cpp:891
-msgid ""
-"The total word length, with soundslike data, is larger than 240 characters."
-msgstr ""
-"De totale woordlengte, inclusief \"klinkt-als\"-gegevens, is meer dan 240 "
-"tekens."
+#: modules/speller/default/readonly_ws.cpp:972
+msgid "The total word length, with soundslike data, is larger than 240 characters."
+msgstr "De totale woordlengte, inclusief \"klinkt-als\"-gegevens, is meer dan 240 tekens."
#: modules/speller/default/multi_ws.cpp:58
msgid "There must be at least one \"add\" line."
msgid "HTML tags to always skip the contents of"
msgstr "HTML-tags waarvan inhoud moet worden overgeslagen"
+#: modules/filter/markdown-filter.info:8
+#, fuzzy
+#| msgid "filter for dealing with Texinfo documents"
+msgid "filter for Markdown/CommonMark documents"
+msgstr "voor behandeling van Texinfo-documenten"
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
+msgstr ""
+
#: modules/filter/nroff-filter.info:7
msgid "filter for dealing with Nroff documents"
msgstr "voor behandeling van Nroff-documenten"
msgid "mode for checking HTML documents"
msgstr "voor het controleren van HTML-documenten"
+#: modules/filter/modes/markdown.amf:10
+#, fuzzy
+#| msgid "mode for checking Nroff documents"
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr "voor het controleren van Nroff-documenten"
+
#: modules/filter/modes/none.amf:5
msgid "mode to disable all filters"
msgstr "schakelt alle filters uit"
--- /dev/null
+# Polish translation for aspell.
+# Copyright (C) 2011 Kevin Atkinson (msgids)
+# This file is distributed under the same license as the aspell package.
+# Jakub Bogusz <qboosh@pld-linux.org>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: aspell 0.60.7\n"
+"Report-Msgid-Bugs-To: kevina@gnu.org\n"
+"POT-Creation-Date: 2019-07-29 02:38-0400\n"
+"PO-Revision-Date: 2011-07-14 21:20+0200\n"
+"Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
+"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
+"Language: pl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+
+#: common/info.cpp:232
+msgid "a number between 0 and 1"
+msgstr "liczba od 0 do 1"
+
+#: common/info.cpp:569
+msgid "in the form \"<name> <value>\""
+msgstr "w postaci \"<nazwa> <wartość>\""
+
+#: common/config.cpp:74
+msgid "string"
+msgstr "łańcuch"
+
+#: common/config.cpp:74
+msgid "integer"
+msgstr "liczba całkowita"
+
+#: common/config.cpp:74
+msgid "boolean"
+msgstr "wartość logiczna"
+
+#: common/config.cpp:74
+msgid "list"
+msgstr "lista"
+
+#. TRANSLATORS: "true" and "false" are literal
+#. * values and should not be translated.
+#: common/config.cpp:978
+msgid "either \"true\" or \"false\""
+msgstr "\"true\" lub \"false\""
+
+#: common/config.cpp:997
+msgid "a positive integer"
+msgstr "liczba całkowita dodatnia"
+
+#: common/config.cpp:1125
+msgid "# default: "
+msgstr "# domyślnie: "
+
+#: common/config.cpp:1188
+#, c-format
+msgid ""
+"\n"
+"#######################################################################\n"
+"#\n"
+"# Filter: %s\n"
+"# %s\n"
+"#\n"
+"# configured as follows:\n"
+"\n"
+msgstr ""
+"\n"
+"#######################################################################\n"
+"#\n"
+"# Filtr: %s\n"
+"# %s\n"
+"#\n"
+"# skonfigurowano następująco:\n"
+"\n"
+
+#: common/config.cpp:1286
+msgid "ASPELL_CONF env var"
+msgstr "zmienna środowiskowa ASPELL_CONF"
+
+#. TRANSLATORS: The remaining strings in config.cpp should be kept
+#. under 50 characters, begin with a lower case character and not
+#. include any trailing punctuation marks.
+#: common/config.cpp:1360
+msgid "main configuration file"
+msgstr "główny plik konfiguracyjny"
+
+#: common/config.cpp:1362
+msgid "location of main configuration file"
+msgstr "położenie głównego pliku konfiguracyjnego"
+
+#: common/config.cpp:1365
+msgid "location of language data files"
+msgstr "położenie plików danych językowych"
+
+#: common/config.cpp:1367
+msgid "create dictionary aliases"
+msgstr "utworzenie aliasów do słownika"
+
+#: common/config.cpp:1369
+msgid "location of the main word list"
+msgstr "położenie głównej listy słów"
+
+#: common/config.cpp:1371
+msgid "encoding to expect data to be in"
+msgstr "kodowanie danych"
+
+#: common/config.cpp:1373
+msgid "add or removes a filter"
+msgstr "dodanie lub usunięcie filtra"
+
+#: common/config.cpp:1375
+msgid "path(s) aspell looks for filters"
+msgstr "ścieżki poszukiwania filtrów"
+
+#: common/config.cpp:1379
+msgid "filter mode"
+msgstr "tryb filtra"
+
+#: common/config.cpp:1381
+msgid "extra dictionaries to use"
+msgstr "dodatkowe słowniki do użycia"
+
+#: common/config.cpp:1383
+msgid "location for personal files"
+msgstr "położenie plików osobistych"
+
+#: common/config.cpp:1385
+msgid "ignore words <= n chars"
+msgstr "ignorowanie słów <= n znaków"
+
+#. TRANSLATORS: It is OK if this is longer than 50 chars
+#: common/config.cpp:1388
+msgid "ignore accents when checking words -- CURRENTLY IGNORED"
+msgstr "ignorowanie akcentów przy sprawdzaniu słów - OBECNIE IGNOROWANE"
+
+#: common/config.cpp:1390
+msgid "ignore case when checking words"
+msgstr "ignorowanie wielkości liter przy sprawdzaniu"
+
+#: common/config.cpp:1392
+msgid "ignore commands to store replacement pairs"
+msgstr "ignorowanie poleceń zapisu par zamienników"
+
+#: common/config.cpp:1394 common/config.cpp:1461
+msgid "extra information for the word list"
+msgstr "dodatkowe informacje do listy słów"
+
+#: common/config.cpp:1396
+msgid "keyboard definition to use for typo analysis"
+msgstr "definicja klawiatury do wyszukiwania literówek"
+
+#: common/config.cpp:1398
+msgid "language code"
+msgstr "kod języka"
+
+#: common/config.cpp:1400
+msgid "deprecated, use lang instead"
+msgstr "przestarzałe, należy używać lang"
+
+#: common/config.cpp:1402
+msgid "location of local language data files"
+msgstr "położenie lokalnych plików danych językowych"
+
+#: common/config.cpp:1404
+msgid "base name of the main dictionary to use"
+msgstr "nazwa głównego słownika do użycia"
+
+#: common/config.cpp:1408
+msgid "set module name"
+msgstr "ustawienie nazwy modułu"
+
+#: common/config.cpp:1410
+msgid "search order for modules"
+msgstr "kolejność przeszukiwania modułów"
+
+#: common/config.cpp:1412
+msgid "enable Unicode normalization"
+msgstr "włączenie normalizacji Unikodu"
+
+#: common/config.cpp:1414
+msgid "Unicode normalization required for current lang"
+msgstr "wymagana normalizacja Unikodu dla bieżącego języka"
+
+#. TRANSLATORS: the values after the ':' are literal
+#. values and should not be translated.
+#: common/config.cpp:1418
+msgid "Unicode normalization form: none, nfd, nfc, comp"
+msgstr "tryb normalizacji Unikodu: none, nfd, nfc, comp"
+
+#: common/config.cpp:1420
+msgid "avoid lossy conversions when normalization"
+msgstr "unikanie stratnej konwersji przy normalizacji"
+
+#: common/config.cpp:1422
+msgid "personal configuration file"
+msgstr "osobisty plik konfiguracji"
+
+#: common/config.cpp:1425
+msgid "personal dictionary file name"
+msgstr "nazwa pliku słownika osobistego"
+
+#: common/config.cpp:1428
+msgid "prefix directory"
+msgstr "katalog przedrostków"
+
+#: common/config.cpp:1430
+msgid "replacements list file name"
+msgstr "nazwa pliku list zamienników"
+
+#: common/config.cpp:1433
+msgid "consider run-together words legal"
+msgstr "uważanie sklejonych słów za poprawne"
+
+#: common/config.cpp:1435
+msgid "maximum number that can be strung together"
+msgstr "maksymalna liczba łączonych słów"
+
+#: common/config.cpp:1437
+msgid "minimal length of interior words"
+msgstr "minimalna długość słów składowych"
+
+#: common/config.cpp:1439
+msgid "save replacement pairs on save all"
+msgstr "zapis par zamienników wraz ze wszystkim"
+
+#: common/config.cpp:1441
+msgid "set the prefix based on executable location"
+msgstr "ustawienie prefiksu wg położenia programu"
+
+#: common/config.cpp:1443
+msgid "size of the word list"
+msgstr "rozmiar listy słów"
+
+#: common/config.cpp:1445
+msgid "no longer used"
+msgstr "już nie używane"
+
+#: common/config.cpp:1447
+msgid "suggestion mode"
+msgstr "tryb podpowiedzi"
+
+#. TRANSLATORS: "sug-mode" is a literal value and should not be
+#. translated.
+#: common/config.cpp:1451
+msgid "edit distance to use, override sug-mode default"
+msgstr "użycie odległości edycyjnej, wyłącza domyślne sug-mode"
+
+#: common/config.cpp:1453
+msgid "use typo analysis, override sug-mode default"
+msgstr "użycie analizy literówek, wyłącza domyślne sug-mode"
+
+#: common/config.cpp:1455
+msgid "use replacement tables, override sug-mode default"
+msgstr "użycie tablic zamienników, wyłącza domyślne sug-mode"
+
+#: common/config.cpp:1457
+msgid "characters to insert when a word is split"
+msgstr "znaki do wstawienia przy podziale słowa"
+
+#: common/config.cpp:1459
+msgid "use personal, replacement & session dictionaries"
+msgstr "użycie osobistych słowników zamienników i sesji"
+
+#: common/config.cpp:1463
+msgid "search path for word list information files"
+msgstr "ścieżka wyszukiwania plików inform. list słów"
+
+#: common/config.cpp:1465
+msgid "enable warnings"
+msgstr "włączenie ostrzeżeń"
+
+#. TRANSLATORS: It is OK if this is longer than 50 chars
+#: common/config.cpp:1475
+msgid "indicator for affix flags in word lists -- CURRENTLY IGNORED"
+msgstr "znacznik flag afiksów w listach słów - OBECNIE IGNOROWANY"
+
+#: common/config.cpp:1477
+msgid "use affix compression when creating dictionaries"
+msgstr "kompresja afiksów przy tworzeniu słowników"
+
+#: common/config.cpp:1479
+msgid "remove invalid affix flags"
+msgstr "usuwanie błędnych flag afiksów"
+
+#: common/config.cpp:1481
+msgid "attempts to clean words so that they are valid"
+msgstr "próba czyszczenia słów, by były poprawne"
+
+#: common/config.cpp:1483
+msgid "compute soundslike on demand rather than storing"
+msgstr "wyliczanie brzmienia słowa zamiast przechowywania"
+
+#: common/config.cpp:1485
+msgid "partially expand affixes for better suggestions"
+msgstr "częściowe rozszerzanie afiksów przy sugestiach"
+
+#: common/config.cpp:1487
+msgid "skip invalid words"
+msgstr "pomijanie niepoprawnych słów"
+
+#: common/config.cpp:1489
+msgid "check if affix flags are valid"
+msgstr "sprawdzanie poprawności flag afiksów"
+
+#: common/config.cpp:1491
+msgid "check if words are valid"
+msgstr "sprawdzanie poprawności słów"
+
+#: common/config.cpp:1498
+msgid "create a backup file by appending \".bak\""
+msgstr "tworzenie kopii zapasowej przez dodanie \".bak\""
+
+#: common/config.cpp:1500
+msgid "use byte offsets instead of character offsets"
+msgstr "użycie pozycji w bajtach zamiast w znakach"
+
+#: common/config.cpp:1502
+msgid "create missing root/affix combinations"
+msgstr "tworzenie brakujących kombinacji rdzeń/afiksy"
+
+#: common/config.cpp:1504
+msgid "keymapping for check mode: \"aspell\" or \"ispell\""
+msgstr "mapa klawiszy trybu sprawdzania: \"aspell\"/\"ispell\""
+
+#: common/config.cpp:1506
+msgid "reverse the order of the suggest list"
+msgstr "odwrócenie kolejności listy sugestii"
+
+#: common/config.cpp:1508
+msgid "suggest possible replacements"
+msgstr "sugerowanie możliwych zamienników"
+
+#: common/config.cpp:1510
+msgid "time load time and suggest time in pipe mode"
+msgstr "mierzenie czasu wczytywania i sugestii w potoku"
+
+#: common/convert.cpp:303 common/convert.cpp:497
+#, c-format
+msgid "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
+msgstr "Może to także oznaczać, że plik \"%s\" nie istnieje lub ni można go otworzyć do odczytu."
+
+#: common/convert.cpp:582 common/convert.cpp:689 common/convert.cpp:735
+#, c-format
+msgid "The Unicode code point U+%04X is unsupported."
+msgstr "Znak unikodowy o kodzie U+%04X nie jest obsługiwany."
+
+#: common/convert.cpp:859
+#, c-format
+msgid "Invalid UTF-8 sequence at position %ld."
+msgstr "Błędna sekwencja UTF-8 na pozycji %ld."
+
+#: common/errors.cpp:27
+msgid "Operation Not Supported: %what:1"
+msgstr "Operacja nie obsługiwana: %what:1"
+
+#: common/errors.cpp:43
+msgid "The method \"%what:1\" is unimplemented in \"%where:2\"."
+msgstr "Metoda \"%what:1\" nie jest zaimplementowana w \"%where:2\"."
+
+#: common/errors.cpp:51
+#, c-format
+msgid "%file:1:"
+msgstr "%file:1:"
+
+#: common/errors.cpp:59
+#, c-format
+msgid "The file \"%file:1\" can not be opened"
+msgstr "Nie można otworzyć pliku \"%file:1\""
+
+#: common/errors.cpp:67
+#, c-format
+msgid "The file \"%file:1\" can not be opened for reading."
+msgstr "Nie można otworzyć pliku \"%file:1\" do odczytu."
+
+#: common/errors.cpp:75
+#, c-format
+msgid "The file \"%file:1\" can not be opened for writing."
+msgstr "Nie można otworzyć pliku \"%file:1\" do zapisu."
+
+#: common/errors.cpp:83
+#, c-format
+msgid "The file name \"%file:1\" is invalid."
+msgstr "Nazwa pliku \"%file:1\" jest błędna."
+
+#: common/errors.cpp:91
+#, c-format
+msgid "The file \"%file:1\" is not in the proper format."
+msgstr "Plik \"%file:1\" jest w niewłaściwym formacie."
+
+#: common/errors.cpp:107
+#, c-format
+msgid "The directory \"%dir:1\" can not be opened for reading."
+msgstr "Nie można otworzyć katalogu \"%dir:1\" do odczytu."
+
+#: common/errors.cpp:123
+msgid "The key \"%key:1\" is unknown."
+msgstr "Nieznany klucz \"%key:1\"."
+
+#: common/errors.cpp:131
+msgid "The value for option \"%key:1\" can not be changed."
+msgstr "Wartości opcji \"%key:1\" nie można zmienić."
+
+#: common/errors.cpp:139
+msgid "The key \"%key:1\" is not %accepted:2 and is thus invalid."
+msgstr "Klucz \"%key:1\" nie jest %accepted:2, więc jest błędny."
+
+#: common/errors.cpp:147
+msgid "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
+msgstr "Wartość \"%value:2\" nie jest %accepted:3, więc jest błędna dla klucza \"%key:1\"."
+
+#: common/errors.cpp:163
+msgid "The key \"%key:1\" is not a string."
+msgstr "Klucz \"%key:1\" nie jest łańcuchem."
+
+#: common/errors.cpp:171
+msgid "The key \"%key:1\" is not an integer."
+msgstr "Klucz \"%key:1\" nie jest liczbą całkowitą."
+
+#: common/errors.cpp:179
+msgid "The key \"%key:1\" is not a boolean."
+msgstr "Klucz \"%key:1\" nie jest wartością logiczną."
+
+#: common/errors.cpp:187
+msgid "The key \"%key:1\" is not a list."
+msgstr "Klucz \"%key:1\" nie jest listą."
+
+#: common/errors.cpp:195
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
+msgstr "Klucz \"%key:1\" nie przyjmuje parametrów, jeśli jest poprzedzony \"reset-\"."
+
+#: common/errors.cpp:203
+msgid "The key \"%key:1\" does not take any parameters when prefixed by an \"enable-\"."
+msgstr "Klucz \"%key:1\" nie przyjmuje parametrów, jeśli jest poprzedzony \"enable-\"."
+
+#: common/errors.cpp:211
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
+msgstr "Klucz \"%key:1\" nie przyjmuje parametrów, jeśli jest poprzedzony \"dont-\" lub \"disable-\"."
+
+#: common/errors.cpp:219
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
+msgstr "Klucz \"%key:1\" nie przyjmuje parametrów, jeśli jest poprzedzony \"clear-\"."
+
+#: common/errors.cpp:235
+#, c-format
+msgid "The language \"%lang:1\" is not known."
+msgstr "Nieznany język \"%lang:1\"."
+
+#: common/errors.cpp:243
+#, c-format
+msgid "The soundslike \"%sl:2\" is not known."
+msgstr "Nieznane brzmienie \"%sl:2\"."
+
+#: common/errors.cpp:251
+#, c-format
+msgid "The language \"%lang:1\" is not supported."
+msgstr "Język \"%lang:1\" nie jest obsługiwany."
+
+#: common/errors.cpp:259
+#, c-format
+msgid "No word lists can be found for the language \"%lang:1\"."
+msgstr "Brak listy słów dla języka \"%lang:1\"."
+
+#: common/errors.cpp:267
+#, c-format
+msgid "Expected language \"%lang:1\" but got \"%prev:2\"."
+msgstr "Oczekiwano języka \"%lang:1\", ale znaleziono \"%prev:2\"."
+
+#: common/errors.cpp:283
+#, c-format
+msgid "Affix '%aff:1' is corrupt."
+msgstr "Afiks '%aff:1' jest uszkodzony."
+
+#: common/errors.cpp:291
+#, c-format
+msgid "The condition \"%cond:1\" is invalid."
+msgstr "Warunek \"%cond:1\" jest błędny."
+
+#: common/errors.cpp:299
+#, c-format
+msgid "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
+msgstr "Warunek \"%conf:1\" nie gwarantuje, że \"%strip:2\" zawsze będzie ucięte."
+
+#: common/errors.cpp:307
+#, c-format
+msgid "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
+msgstr "Plik \"%file:1\" jest w niewłaściwym formacie. Oczekiwano pliku \"%exp:2\", a nie \"%got:3\"."
+
+#: common/errors.cpp:323
+#, c-format
+msgid "The encoding \"%encod:1\" is not known."
+msgstr "Nieznane kodowanie \"%encod:1\"."
+
+#: common/errors.cpp:331
+#, c-format
+msgid "The encoding \"%encod:1\" is not supported."
+msgstr "Kodowanie \"%encod:1\" nie jest obsługiwane."
+
+#: common/errors.cpp:339
+#, c-format
+msgid "The conversion from \"%encod:1\" to \"%encod2:2\" is not supported."
+msgstr "Konwersja z \"%encod:1\" do \"%encod2:2\" nie jest obsługiwana."
+
+#: common/errors.cpp:379
+#, c-format
+msgid "The string \"%str:1\" is invalid."
+msgstr "Błędny łańcuch \"%str:1\"."
+
+#: common/errors.cpp:387
+msgid "The word \"%word:1\" is invalid."
+msgstr "Błędne słowo \"%word:1\"."
+
+#: common/errors.cpp:395
+msgid "The affix flag '%aff:1' is invalid for word \"%word:2\"."
+msgstr "Błędna flaga afiksu '%aff:1' dla słowa \"%word:2\"."
+
+#: common/errors.cpp:403
+msgid "The affix flag '%aff:1' can not be applied to word \"%word:2\"."
+msgstr "Flagi afiksu '%aff:1' nie można zastosować dla słowa \"%word:2\"."
+
+#: common/errors.cpp:451
+msgid "not a version number"
+msgstr "nie jest numerem wersji"
+
+#: common/errors.cpp:467
+msgid "dlopen returned \"%return:1\"."
+msgstr "dlopen zwróciło \"%return:1\"."
+
+#: common/errors.cpp:475
+#, c-format
+msgid "The file \"%filter:1\" does not contain any filters."
+msgstr "Plik \"%filter:1\" nie zawiera żadnych filtrów."
+
+#: common/errors.cpp:483
+#, c-format
+msgid "The filter \"%filter:1\" does not exist."
+msgstr "Filtr \"%filter:1\" nie istnieje."
+
+#: common/errors.cpp:491 common/errors.cpp:587
+msgid "Confused by version control."
+msgstr "Zaskoczony kontrolą wersji."
+
+#: common/errors.cpp:499
+msgid "Aspell version does not match filter's requirement."
+msgstr "Wersja Aspella nie odpowiada wymaganiom filtra."
+
+#: common/errors.cpp:507
+msgid "Filter option already exists."
+msgstr "Opcja filtra już istnieje."
+
+#: common/errors.cpp:515
+msgid "Use option modifiers only within named option."
+msgstr "Modyfikatorów opcji można użyć tylko z daną opcją."
+
+#: common/errors.cpp:523
+msgid "Option modifier unknown."
+msgstr "Nieznany modyfikator opcji."
+
+#: common/errors.cpp:531
+msgid "Error setting filter description."
+msgstr "Błąd ustawiania opisu filtra."
+
+#: common/errors.cpp:547
+msgid "Empty option specifier."
+msgstr "Puste określenie opcji."
+
+#: common/errors.cpp:555
+#, c-format
+msgid "Option \"%option:1\" possibly specified prior to filter."
+msgstr "Opcja \"%option:1\" prawdopodobnie podana przed filtrem."
+
+#: common/errors.cpp:563
+msgid "Unknown mode description key \"%key:1\"."
+msgstr "Nieznany klucz opisu trybu \"%key:1\"."
+
+#: common/errors.cpp:571
+#, c-format
+msgid "Expecting \"%modekey:1\" key."
+msgstr "Oczekiwano klucza \"%modekey:1\"."
+
+#: common/errors.cpp:579
+msgid "Version specifier missing key: \"aspell\"."
+msgstr "Brak klucza określającego wersję: \"aspell\"."
+
+#: common/errors.cpp:595
+msgid "Aspell version does not match mode's requirement."
+msgstr "Wersja Aspella nie zgadza się z wymaganym trybem."
+
+#: common/errors.cpp:603
+msgid "Missing magic mode expression."
+msgstr "Brak magicznego określenia trybu."
+
+#: common/errors.cpp:611
+#, c-format
+msgid "Empty extension at char %char:1."
+msgstr "Puste rozszerzenie przy znaku %char:1."
+
+#: common/errors.cpp:619
+#, c-format
+msgid "\"%mode:1\" error"
+msgstr "Błąd \"%mode:1\""
+
+#: common/errors.cpp:627
+#, c-format
+msgid "Unknown mode: \"%mode:1\"."
+msgstr "Nieznany tryb: \"%mode:1\"."
+
+#: common/errors.cpp:635
+#, c-format
+msgid "\"%mode:1\" error while extend Aspell modes. (out of memory?)"
+msgstr "Błąd \"%mode:1\" przy rozszerzaniu trybów Aspella (brak pamięci?)."
+
+#: common/errors.cpp:651
+#, c-format
+msgid "\"%mode:1\": no start for magic search given for magic \"%magic:2\"."
+msgstr "\"%mode:1\": brak początku wyszukiwania sekwencji magicznej \"%magic:2\"."
+
+#: common/errors.cpp:659
+#, c-format
+msgid "\"%mode:1\": no range for magic search given for magic \"%magic:2\"."
+msgstr "\"%mode:1\": brak zakresu wyszukiwania sekwencji magicznej \"%magic:2\"."
+
+#: common/errors.cpp:667
+#, c-format
+msgid "\"%mode:1\": no magic expression available for magic \"%magic:2\"."
+msgstr "\"%mode:1\": brak wyrażenia sekwencji magicznej \"%magic:2\"."
+
+#: common/errors.cpp:675
+msgid "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
+msgstr "\"%mode:1\": Sekwencja magiczna \"%magic:2\": błędne wyrażenie regularne po określeniu położenia: \"%regerr:3\"."
+
+#: common/errors.cpp:691
+#, c-format
+msgid "\"%expression:1\" is not a valid regular expression."
+msgstr "\"%expression:1\" nie jest poprawnym wyrażeniem regularnym."
+
+#: common/posib_err.cpp:100
+msgid "Unhandled Error: "
+msgstr "Nie obsłużony błąd: "
+
+#: prog/aspell.cpp:98
+#, c-format
+msgid "Error: %s\n"
+msgstr "Błąd: %s\n"
+
+#: prog/aspell.cpp:103
+msgid "Error: "
+msgstr "Błąd: "
+
+#: prog/aspell.cpp:204
+msgid "enter Email mode."
+msgstr "przejście w tryb E-mail."
+
+#: prog/aspell.cpp:205
+msgid "enter HTML mode."
+msgstr "przejście w tryb HTML."
+
+#: prog/aspell.cpp:206
+msgid "enter TeX mode."
+msgstr "przejście w tryb TeX."
+
+#: prog/aspell.cpp:207
+msgid "enter Nroff mode."
+msgstr "przejście w tryb Nroff."
+
+#: prog/aspell.cpp:313
+#, c-format
+msgid "Invalid Option: %s"
+msgstr "Błędna opcja: %s"
+
+#: prog/aspell.cpp:320
+msgid " does not take any parameters."
+msgstr " nie przyjmuje żadnych parametrów."
+
+#: prog/aspell.cpp:333 prog/aspell.cpp:393
+#, c-format
+msgid "You must specify a parameter for \"%s\"."
+msgstr "Trzeba podać parametr dla opcji \"%s\"."
+
+#: prog/aspell.cpp:382
+msgid "You must specify an action"
+msgstr "Trzeba podać akcję"
+
+#: prog/aspell.cpp:390 prog/aspell.cpp:453 prog/aspell.cpp:475
+#, c-format
+msgid "Unknown Action: %s"
+msgstr "Nieznana akcja: %s"
+
+#: prog/aspell.cpp:396
+#, c-format
+msgid "Error: You must specify at least %d parameters for \"%s\".\n"
+msgstr "Błąd: trzeba podać przynajmniej %d parametrów dla opcji \"%s\".\n"
+
+#: prog/aspell.cpp:638
+msgid "Invalid Input"
+msgstr "Błędne wejście"
+
+#: prog/aspell.cpp:711
+#, c-format
+msgid "WARNING: Unable to enter Nroff mode: %s\n"
+msgstr "UWAGA: Nie udało się przejść w tryb Nroff: %s\n"
+
+#: prog/aspell.cpp:732
+msgid "Time to load word list: "
+msgstr "Czas wczytywania listy słów: "
+
+#: prog/aspell.cpp:930
+#, c-format
+msgid "Suggestion Time: %f\n"
+msgstr "Czas podpowiedzi: %f\n"
+
+#: prog/aspell.cpp:973
+msgid "You must specify a file name."
+msgstr "Trzeba podać nazwę pliku."
+
+#: prog/aspell.cpp:976
+msgid "Only one file name may be specified."
+msgstr "Można podać tylko jedną nazwę pliku."
+
+#: prog/aspell.cpp:986
+#, c-format
+msgid "Could not open the file \"%s\" for reading"
+msgstr "Nie można otworzyć pliku \"%s\" do odczytu"
+
+#: prog/aspell.cpp:999
+#, c-format
+msgid "Invalid keymapping: %s"
+msgstr "Błędna mapa klawiszy: %s"
+
+#: prog/aspell.cpp:1014
+#, fuzzy, c-format
+#| msgid "\"%expression:1\" is not a valid regular expression."
+msgid "\"%s\" is not a regular file"
+msgstr "\"%expression:1\" nie jest poprawnym wyrażeniem regularnym."
+
+#: prog/aspell.cpp:1025
+#, c-format
+msgid "Could not open the file \"%s\" for writing. File not saved."
+msgstr "Nie można otworzyć pliku \"%s\" do zapisu. Plik nie zapisany."
+
+#: prog/aspell.cpp:1038
+msgid "Ignore"
+msgstr "Zignoruj"
+
+#: prog/aspell.cpp:1039
+msgid "Ignore all"
+msgstr "Zignoruj wszystkie"
+
+#: prog/aspell.cpp:1040
+msgid "Replace"
+msgstr "Zastąp"
+
+#: prog/aspell.cpp:1041
+msgid "Replace all"
+msgstr "Zastąp wszystkie"
+
+#: prog/aspell.cpp:1042
+msgid "Add"
+msgstr "Dodaj"
+
+#: prog/aspell.cpp:1043
+msgid "Add Lower"
+msgstr "Dodaj małymi literami"
+
+#: prog/aspell.cpp:1044
+msgid "Abort"
+msgstr "Przerwij"
+
+#: prog/aspell.cpp:1045
+msgid "Exit"
+msgstr "Zakończ"
+
+#: prog/aspell.cpp:1121
+msgid "Are you sure you want to abort (y/n)? "
+msgstr "Czy na pewno przerwać (t/n)? "
+
+#. TRANSLATORS: The user may input any of these characters to say "yes".
+#. MUST ONLY CONSIST OF ASCII CHARACTERS.
+#: prog/aspell.cpp:1125
+msgid "Yy"
+msgstr "TtYy"
+
+#: prog/aspell.cpp:1153
+msgid "With: "
+msgstr "Czym zastąpić: "
+
+#: prog/aspell.cpp:1170
+msgid "Sorry that is an invalid choice!"
+msgstr "Błędny wybór!"
+
+#: prog/aspell.cpp:1391
+msgid "Sorry \"filter\" is currently unimplemented.\n"
+msgstr "Niestety \"filter\" nie jest teraz zaimplementowany.\n"
+
+#: prog/aspell.cpp:1525
+msgid "Can't merge a master word list yet. Sorry."
+msgstr "Niestety nie można jeszcze łączyć głównej listy słów."
+
+#: prog/aspell.cpp:1549
+msgid "Sorry \"create/merge personal\" is currently unimplemented.\n"
+msgstr "Niestety \"create/merge\" na osobistej liście słów nie jest teraz zaimplementowane.\n"
+
+#: prog/aspell.cpp:1558 prog/aspell.cpp:1614
+#, c-format
+msgid "Sorry I won't overwrite \"%s\""
+msgstr "Niestety \"%s\" nie zostanie nadpisany"
+
+#: prog/aspell.cpp:1605
+msgid "Sorry \"create/merge repl\" is currently unimplemented.\n"
+msgstr "Niestety \"create/merge\" na liście zamienników nie jest teraz zaimplementowane.\n"
+
+#: prog/aspell.cpp:1877
+#, c-format
+msgid "\"%s\" is not a valid flag for the \"munch-list\" command."
+msgstr "\"%s\" nie jest poprawną flagą polecenia \"munch-list\"."
+
+#. TRANSLATORS: These should all be formated to fit in 80 column or
+#. less
+#: prog/aspell.cpp:2804
+msgid "Usage: aspell [options] <command>"
+msgstr "Składnia: aspell [opcje] <polecenie>"
+
+#: prog/aspell.cpp:2805
+msgid "<command> is one of:"
+msgstr "<polecenie> to jedno z:"
+
+#: prog/aspell.cpp:2806
+msgid " -?|usage display a brief usage message"
+msgstr " -?|usage wyświetlenie skróconego opisu użycia"
+
+#: prog/aspell.cpp:2807
+msgid " help display a detailed help message"
+msgstr " help wyświetlenie szczegółowego opisu"
+
+#: prog/aspell.cpp:2808
+msgid " -c|check <file> to check a file"
+msgstr " -c|check <plik> sprawdzenie pliku"
+
+#: prog/aspell.cpp:2809
+msgid " -a|pipe \"ispell -a\" compatibility mode"
+msgstr " -a|pipe tryb kompatybilności z \"ispell -a\""
+
+#: prog/aspell.cpp:2810
+msgid " [dump] config dumps the current configuration to stdout"
+msgstr " [dump] config zrzut bieżącej konfiguracji na standardowe wyjście"
+
+#: prog/aspell.cpp:2811
+msgid " config <key> prints the current value of an option"
+msgstr " config <klucz> wypisanie bieżącej wartości opcji"
+
+#: prog/aspell.cpp:2812
+msgid " [dump] dicts | filters | modes"
+msgstr " [dump] dicts | filters | modes"
+
+#: prog/aspell.cpp:2813
+msgid " lists available dictionaries / filters / filter modes"
+msgstr " wypisanie dostępnych słowników / filtrów / trybów filtrów"
+
+#: prog/aspell.cpp:2814
+msgid "[options] is any of the following:"
+msgstr "[opcje] mogą być dowolnymi z:"
+
+#: prog/aspell.cpp:2827
+msgid " list produce a list of misspelled words from standard input"
+msgstr " list utworzenie listy błędnie pisanych słów ze stand. wejścia"
+
+#: prog/aspell.cpp:2830
+msgid " soundslike returns the sounds like equivalent for each word entered"
+msgstr " soundslike podanie tak samo brzmiących ekwiwalentów wpisanych słów"
+
+#: prog/aspell.cpp:2831
+msgid " munch generate possible root words and affixes"
+msgstr " munch wygenerowanie możliwych korzeni i afiksów słów"
+
+#: prog/aspell.cpp:2832
+msgid " expand [1-4] expands affix flags"
+msgstr " expand [1-4] rozszerzenie flag afiksów"
+
+#: prog/aspell.cpp:2833
+msgid " clean [strict] cleans a word list so that every line is a valid word"
+msgstr " clean [strict] czyszczenie listy słów, żeby każda linia była poprawnym słowem"
+
+#: prog/aspell.cpp:2835
+msgid " -v|version prints a version line"
+msgstr " -v|version wypisanie informacji o wersji"
+
+#: prog/aspell.cpp:2836
+msgid " munch-list [simple] [single|multi] [keep]"
+msgstr " munch-list [simple] [single|multi] [keep]"
+
+#: prog/aspell.cpp:2837
+msgid " reduce the size of a word list via affix compression"
+msgstr " zmniejszenie rozmiaru listy słów poprzez kompresję afiksów"
+
+#: prog/aspell.cpp:2838
+msgid " conv <from> <to> [<norm-form>]"
+msgstr " conv <z> <do> [<forma-norm>]"
+
+#: prog/aspell.cpp:2839
+msgid " converts from one encoding to another"
+msgstr " przekształcenie z jednego kodowania do innego"
+
+#: prog/aspell.cpp:2840
+msgid " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
+msgstr " norm (<mapa-norm> | <z> <mapa-norm> <do>] [<forma-norm>]"
+
+#: prog/aspell.cpp:2841
+msgid " perform Unicode normalization"
+msgstr " wykonanie normalizacji Unikodu"
+
+#: prog/aspell.cpp:2844
+msgid " dump|create|merge master|personal|repl [<name>]"
+msgstr " dump|create|merge master|personal|repl [<nazwa>]"
+
+#: prog/aspell.cpp:2845
+msgid " dumps, creates or merges a master, personal, or replacement dictionary."
+msgstr " zrzut, utworzenie lub łącznie słownika głównego, osobistego lub zamienników"
+
+#. TRANSLATORS: "none", "internal" and "strict" are literal values
+#. and should not be translated.
+#: prog/aspell.cpp:2849
+msgid " <norm-form> normalization form to use, either none, internal, or strict"
+msgstr " <forma-norm> forma normalizacji do wykonania: none, internal lub strict"
+
+#: prog/aspell.cpp:2859
+#, c-format
+msgid ""
+"\n"
+"Aspell %s. Copyright 2000-2011 by Kevin Atkinson.\n"
+"\n"
+msgstr ""
+"\n"
+"Aspell %s. Copyright 2000-2011 Kevin Atkinson.\n"
+"\n"
+
+#: prog/aspell.cpp:2893
+msgid ""
+"Available Dictionaries:\n"
+" Dictionaries can be selected directly via the \"-d\" or \"master\"\n"
+" option. They can also be selected indirectly via the \"lang\",\n"
+" \"variety\", and \"size\" options.\n"
+msgstr ""
+"Dostępne słowniki:\n"
+" Słowniki można wybrać bezpośrednio opcją \"-d\" lub \"master\".\n"
+" Mogą być także wybierane pośrednio opcjami \"lang\", \"variety\" oraz\n"
+" \"size\".\n"
+
+#: prog/aspell.cpp:2914
+msgid ""
+"Available Filters (and associated options):\n"
+" Filters can be added or removed via the \"filter\" option.\n"
+msgstr ""
+"Dostępne filtry (i powiązane opcje):\n"
+" Filtry można dodawać i usuwać opcją \"filter\".\n"
+
+#: prog/aspell.cpp:2921
+#, c-format
+msgid ""
+"\n"
+" %s filter: %s\n"
+msgstr ""
+"\n"
+" filtr %s: %s\n"
+
+#. TRANSLATORS: This should be formated to fit in 80 column or less
+#: prog/aspell.cpp:2938
+msgid ""
+"Available Filter Modes:\n"
+" Filter Modes are reconfigured combinations of filters optimized for\n"
+" files of a specific type. A mode is selected via the \"mode\" option.\n"
+" This will happen implicitly if Aspell is able to identify the file\n"
+" type from the extension, and possibility the contents, of the file.\n"
+msgstr ""
+"Dostępne tryby filtrów:\n"
+" Tryby filtrów to skonfigurowane kombinacje filtrów zoptymalizowane\n"
+" dla plików określonego rodzaju. Tryb wybiera się opcją \"mode\".\n"
+" Jest to robione samoczynnie, jeśli Aspell jest w stanie określić rodzaj\n"
+" pliku po rozszerzeniu i ewentualnie zawartości pliku.\n"
+
+#: prog/check_funs.cpp:287
+msgid "Error: Stdin not a terminal."
+msgstr "Błąd: standardowe wejście nie jest terminalem."
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:774
+msgid "Enter"
+msgstr "Enter"
+
+#: prog/check_funs.cpp:776
+msgid "Accept Changes"
+msgstr "Akceptacja zmian"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:779
+msgid "Backspace"
+msgstr "Backspace"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:781
+msgid "Control-H"
+msgstr "Control-H"
+
+#: prog/check_funs.cpp:782
+msgid "Delete the previous character"
+msgstr "Usunięcie poprzedniego znaku"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:785
+msgid "Left"
+msgstr "Lewo"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:787
+msgid "Control-B"
+msgstr "Control-B"
+
+#: prog/check_funs.cpp:788
+msgid "Move Back one space"
+msgstr "Przesunięcie o jedno miejsce w lewo"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:791
+msgid "Right"
+msgstr "Prawo"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:793
+msgid "Control-F"
+msgstr "Control-F"
+
+#: prog/check_funs.cpp:794
+msgid "Move Forward one space"
+msgstr "Przesunięcie o jedno miejsce w prawo"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:797
+msgid "Home"
+msgstr "Home"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:799
+msgid "Control-A"
+msgstr "Control-A"
+
+#: prog/check_funs.cpp:800
+msgid "Move to the beginning of the line"
+msgstr "Przejście na początek linii"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:803
+msgid "End"
+msgstr "End"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:805
+msgid "Control-E"
+msgstr "Control-E"
+
+#: prog/check_funs.cpp:806
+msgid "Move to the end of the line"
+msgstr "Przejście na koniec linii"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:809
+msgid "Delete"
+msgstr "Delete"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:811
+msgid "Control-D"
+msgstr "Control-D"
+
+#: prog/check_funs.cpp:812
+msgid "Delete the next character"
+msgstr "Usunięcie następnego znaku"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:816
+msgid "Control-K"
+msgstr "Control-K"
+
+#: prog/check_funs.cpp:817
+msgid "Kill all characters to the EOL"
+msgstr "Usunięcie wszystkich znaków do końca linii"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:821
+msgid "Control-C"
+msgstr "Control-C"
+
+#: prog/check_funs.cpp:822
+msgid "Abort This Operation"
+msgstr "Przerwanie operacji"
+
+#: modules/speller/default/language.cpp:103
+msgid "This is probably because: "
+msgstr "Prawdopodobna przyczyna: "
+
+#: modules/speller/default/language.cpp:110
+msgid "The required field \"name\" is missing."
+msgstr "Brak wymaganego pola \"name\"."
+
+#: modules/speller/default/language.cpp:488
+msgid "Empty string."
+msgstr "Pusty łańcuch."
+
+#: modules/speller/default/language.cpp:492
+#, c-format
+msgid "The character '%s' (U+%02X) may not appear at the beginning of a word."
+msgstr "Znak '%s' (U+%02X) nie może wystąpić na początku słowa."
+
+#: modules/speller/default/language.cpp:494
+#: modules/speller/default/language.cpp:503
+#, c-format
+msgid "The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgstr "Znak '%s' (U+%02X) musi poprzedzać znak z alfabetu."
+
+#: modules/speller/default/language.cpp:496
+msgid "Does not contain any alphabetic characters."
+msgstr "Nie zawiera żadnych znaków z alfabetu."
+
+#: modules/speller/default/language.cpp:501
+#, c-format
+msgid "The character '%s' (U+%02X) may not appear in the middle of a word."
+msgstr "Znak '%s' (U+%02X) nie może wystąpić w środku słowa."
+
+#: modules/speller/default/language.cpp:508
+msgid "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgstr "Znak '\\r' (U+0D) nie może wystąpić na końcu słowa. Oznacza to prawdopodobnie, że plik zawiera znaki końca linii MS-DOS zamiast uniksowych."
+
+#: modules/speller/default/language.cpp:511
+#, c-format
+msgid "The character '%s' (U+%02X) may not appear at the end of a word."
+msgstr "Znak '%s' (U+%02X) nie może wystąpić na końcu słowa."
+
+#: modules/speller/default/language.cpp:543
+#, c-format
+msgid "Warning: Removing invalid affix '%s' from word %s.\n"
+msgstr "Uwaga: Usuwanie błędnego afiksu '%s' ze słowa %s.\n"
+
+#: modules/speller/default/language.cpp:544
+#, c-format
+msgid "Warning: Removing inapplicable affix '%s' from word %s.\n"
+msgstr "Uwaga: Usuwanie nie pasującego afiksu '%s' ze słowa %s.\n"
+
+#: modules/speller/default/language.cpp:675
+#, c-format
+msgid "Warning: %s Skipping string.\n"
+msgstr "Uwaga: %s Pominięto łańcuch.\n"
+
+#: modules/speller/default/language.cpp:733
+msgid "The total length is larger than 240 characters."
+msgstr "Całkowita długość jest większa niż 240 znaków."
+
+#: modules/speller/default/language.cpp:737
+#, c-format
+msgid "Warning: %s Skipping word.\n"
+msgstr "Uwaga: %s Pominięto słowo.\n"
+
+#: modules/speller/default/affix.cpp:426
+msgid "Possibly incorrect count."
+msgstr "Prawdopodobnie błędna liczba."
+
+#: modules/speller/default/readonly_ws.cpp:362
+msgid "Incompatible hash function."
+msgstr "Niekompatybilna funkcja skrótu."
+
+#: modules/speller/default/readonly_ws.cpp:440
+msgid "Wrong endian order."
+msgstr "Błędna kolejność bajtów w słowie."
+
+#: modules/speller/default/readonly_ws.cpp:463
+msgid "Wrong soundslike."
+msgstr "Błędne nazwa pliku brzmień."
+
+#: modules/speller/default/readonly_ws.cpp:469
+msgid "Wrong soundslike version."
+msgstr "Błędna wersja brzmień."
+
+#: modules/speller/default/readonly_ws.cpp:934
+msgid "Affix flags found in word but no affix file given."
+msgstr "Napotkano w słowie flagi afiksów, ale nie podano pliku afiksów."
+
+#: modules/speller/default/readonly_ws.cpp:972
+msgid "The total word length, with soundslike data, is larger than 240 characters."
+msgstr "Całkowita długość słowa, wraz z danymi o brzmieniu, jest większa niż 240 znaków."
+
+#: modules/speller/default/multi_ws.cpp:58
+msgid "There must be at least one \"add\" line."
+msgstr "Musi być przynajmniej jedna linia \"add\"."
+
+#: modules/speller/default/suggest.cpp:1403
+msgid "one of ultra, fast, normal, slow, or bad-spellers"
+msgstr "jeden z: ultra, fast, normal, slow, bad-spellers"
+
+#: modules/speller/default/data.cpp:404
+msgid "is not one of the allowed types"
+msgstr "nie jest jednym z dozwolonych typów"
+
+#: modules/speller/default/speller_impl.cpp:241
+msgid "The personal word list is unavailable."
+msgstr "Osobista lista słów nie jest dostępna."
+
+#: modules/speller/default/speller_impl.cpp:248
+msgid "The session word list is unavailable."
+msgstr "List słów sesji nie jest dostępna."
+
+#: modules/speller/default/speller_impl.cpp:255
+msgid "The main word list is unavailable."
+msgstr "Główna lista słów nie jest dostępna."
+
+#: modules/filter/tex.cpp:255 modules/filter/tex.cpp:262
+msgid "a string of 'o','O','p',or 'P'"
+msgstr "łańcuch z 'o','O','p' lub 'P'"
+
+#. TRANSLATORS: Like the strings in config.cpp, all strings in *-filter.opt
+#. should be under 50 characters, begin with a lower case character and
+#. not include any trailing punctuation marks.
+#: modules/filter/context-filter.info:7
+msgid "experimental filter for hiding delimited contexts"
+msgstr "eksperymentalny filtr ukrywający wybrany kontekst"
+
+#: modules/filter/context-filter.info:13
+msgid "context delimiters (separated by spaces)"
+msgstr "ograniczniki kontekstu (oddzielone spacjami)"
+
+#: modules/filter/context-filter.info:21
+msgid "swaps visible and invisible text"
+msgstr "zamiana tekstu widzialnego i niewidzialnego"
+
+#: modules/filter/email-filter.info:7
+msgid "filter for skipping quoted text in email messages"
+msgstr "filtr pomijający cytowany tekst w listach"
+
+#: modules/filter/email-filter.info:13
+msgid "email quote characters"
+msgstr "znaki cytowania w e-mailach"
+
+#: modules/filter/email-filter.info:21
+msgid "num chars that can appear before the quote char"
+msgstr "liczba znaków mogących wystąpić przed cytowaniem"
+
+#: modules/filter/html-filter.info:9
+msgid "filter for dealing with HTML documents"
+msgstr "filtr do obsługi dokumentów HTML"
+
+#: modules/filter/html-filter.info:15
+msgid "HTML attributes to always check"
+msgstr "atrybuty HTML do sprawdzania zawsze"
+
+#: modules/filter/html-filter.info:21
+msgid "HTML tags to always skip the contents of"
+msgstr "znaczniki HTML do pomijania zawartości zawsze"
+
+#: modules/filter/markdown-filter.info:8
+#, fuzzy
+#| msgid "filter for dealing with Texinfo documents"
+msgid "filter for Markdown/CommonMark documents"
+msgstr "filtr do obsługi dokumentów Texinfo"
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
+msgstr ""
+
+#: modules/filter/nroff-filter.info:7
+msgid "filter for dealing with Nroff documents"
+msgstr "filtr do obsługi dokumentów Nroff"
+
+#: modules/filter/sgml-filter.info:9
+msgid "filter for dealing with generic SGML/XML documents"
+msgstr "filtr do obsługi ogólnych dokumentów SGML/XML"
+
+#: modules/filter/sgml-filter.info:15
+msgid "SGML attributes to always check"
+msgstr "atrybuty SGML do sprawdzania zawsze"
+
+#: modules/filter/sgml-filter.info:20
+msgid "SGML tags to always skip the contents of"
+msgstr "znaczniki SGML do pomijania zawartości zawsze"
+
+#: modules/filter/tex-filter.info:7
+msgid "filter for dealing with TeX/LaTeX documents"
+msgstr "filtr do obsługi dokumentów w TeXu/LaTeXu"
+
+#: modules/filter/tex-filter.info:15
+msgid "check TeX comments"
+msgstr "sprawdzanie komentarzy TeXa"
+
+#: modules/filter/tex-filter.info:21
+msgid "TeX commands"
+msgstr "polecenia TeXa"
+
+#: modules/filter/texinfo-filter.info:7
+msgid "filter for dealing with Texinfo documents"
+msgstr "filtr do obsługi dokumentów Texinfo"
+
+#: modules/filter/texinfo-filter.info:13
+msgid "Texinfo commands to ignore the parameters of"
+msgstr "polecenia Texinfo do ignorowania parametrów"
+
+#: modules/filter/texinfo-filter.info:41
+msgid "Texinfo environments to ignore"
+msgstr "środowiska Texinfo do ignorowania"
+
+#: modules/filter/url-filter.info:7
+msgid "filter to skip URL like constructs"
+msgstr "filtr pomijający konstrukcje w stylu URL-i"
+
+#: modules/filter/modes/ccpp.amf:8
+msgid "mode for checking C++ comments and string literals"
+msgstr "tryb do sprawdzania komentarzy i łańcuchów w C++"
+
+#: modules/filter/modes/comment.amf:5
+msgid "mode to check any lines starting with a #"
+msgstr "tryb do sprawdzania linii zaczynających się od #"
+
+#: modules/filter/modes/email.amf:5
+msgid "mode for skipping quoted text in email messages"
+msgstr "tryb do pomijania cytowanego tekstu w listach"
+
+#: modules/filter/modes/html.amf:10
+msgid "mode for checking HTML documents"
+msgstr "tryb do sprawdzania dokumentów HTML"
+
+#: modules/filter/modes/markdown.amf:10
+#, fuzzy
+#| msgid "mode for checking Nroff documents"
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr "tryb do sprawdzania dokumentów Nroff"
+
+#: modules/filter/modes/none.amf:5
+msgid "mode to disable all filters"
+msgstr "tryb wyłączający wszystkie filtry"
+
+#: modules/filter/modes/nroff.amf:7
+msgid "mode for checking Nroff documents"
+msgstr "tryb do sprawdzania dokumentów Nroff"
+
+#: modules/filter/modes/perl.amf:8
+msgid "mode for checking Perl comments and string literals"
+msgstr "tryb do sprawdzania komentarzy i łańcuchów w Perlu"
+
+#: modules/filter/modes/sgml.amf:8
+msgid "mode for checking generic SGML/XML documents"
+msgstr "tryb do sprawdzania ogólnych dokumentów SGML/XML"
+
+#: modules/filter/modes/tex.amf:7
+msgid "mode for checking TeX/LaTeX documents"
+msgstr "tryb do sprawdzania dokumentów w TeXu/LaTeXu"
+
+#: modules/filter/modes/texinfo.amf:7
+msgid "mode for checking Texinfo documents"
+msgstr "tryb do sprawdzania dokumentów Texinfo"
+
+#: modules/filter/modes/url.amf:5
+msgid "mode to skip URL like constructs (default mode)"
+msgstr "tryb do pomijania napisów typu URL (domyślny)"
--- /dev/null
+# Aspell.
+# Copyright (C) 2018 Free Software Foundation, Inc.
+# This file is distributed under the same license as the Aspell package.
+# Pedro Albuquerque <palbuquerque73@gmail.com>, 2018.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: aspell-0.60.7\n"
+"Report-Msgid-Bugs-To: kevina@gnu.org\n"
+"POT-Creation-Date: 2019-07-29 02:38-0400\n"
+"PO-Revision-Date: 2018-03-03 09:07+0000\n"
+"Last-Translator: Pedro Albuquerque <palbuquerque73@gmail.com>\n"
+"Language-Team: Portuguese <translation-team-pt@lists.sourceforge.net>\n"
+"Language: pt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Gtranslator 2.91.6\n"
+
+#: common/info.cpp:232
+msgid "a number between 0 and 1"
+msgstr "um número entre 0 1 e"
+
+#: common/info.cpp:569
+msgid "in the form \"<name> <value>\""
+msgstr "na forma \"<nome> <valor>\""
+
+#: common/config.cpp:74
+msgid "string"
+msgstr "cadeia"
+
+#: common/config.cpp:74
+msgid "integer"
+msgstr "inteiro"
+
+#: common/config.cpp:74
+msgid "boolean"
+msgstr "booliano"
+
+#: common/config.cpp:74
+msgid "list"
+msgstr "lista"
+
+#. TRANSLATORS: "true" and "false" are literal
+#. * values and should not be translated.
+#: common/config.cpp:978
+msgid "either \"true\" or \"false\""
+msgstr "ou \"true\" ou \"false\""
+
+#: common/config.cpp:997
+msgid "a positive integer"
+msgstr "um inteiro positivo"
+
+#: common/config.cpp:1125
+msgid "# default: "
+msgstr "nº predefinido: "
+
+#: common/config.cpp:1188
+#, c-format
+msgid ""
+"\n"
+"#######################################################################\n"
+"#\n"
+"# Filter: %s\n"
+"# %s\n"
+"#\n"
+"# configured as follows:\n"
+"\n"
+msgstr ""
+"\n"
+"#######################################################################\n"
+"#\n"
+"# Filtro: %s\n"
+"# %s\n"
+"#\n"
+"# configurado como segue:\n"
+"\n"
+
+#: common/config.cpp:1286
+msgid "ASPELL_CONF env var"
+msgstr "variável de ambiente ASPELL_CONF"
+
+#. TRANSLATORS: The remaining strings in config.cpp should be kept
+#. under 50 characters, begin with a lower case character and not
+#. include any trailing punctuation marks.
+#: common/config.cpp:1360
+msgid "main configuration file"
+msgstr "ficheiro de configuração principal"
+
+#: common/config.cpp:1362
+msgid "location of main configuration file"
+msgstr "localização do ficheiro de configuração principal"
+
+#: common/config.cpp:1365
+msgid "location of language data files"
+msgstr "localização dos ficheiros de dados de idioma"
+
+#: common/config.cpp:1367
+msgid "create dictionary aliases"
+msgstr "cria aliás de dicionários"
+
+#: common/config.cpp:1369
+msgid "location of the main word list"
+msgstr "localização da lista principal de palavras"
+
+#: common/config.cpp:1371
+msgid "encoding to expect data to be in"
+msgstr "codificação em que se esperam os dados"
+
+#: common/config.cpp:1373
+msgid "add or removes a filter"
+msgstr "adiciona ou remove um filtro"
+
+#: common/config.cpp:1375
+msgid "path(s) aspell looks for filters"
+msgstr "caminhos em que o Aspell procura filtros"
+
+#: common/config.cpp:1379
+msgid "filter mode"
+msgstr "modo de filtragem"
+
+#: common/config.cpp:1381
+msgid "extra dictionaries to use"
+msgstr "dicionários extra a usar"
+
+#: common/config.cpp:1383
+msgid "location for personal files"
+msgstr "localização de ficheiros pessoais"
+
+#: common/config.cpp:1385
+msgid "ignore words <= n chars"
+msgstr "ignora palavras <= n caracteres"
+
+#. TRANSLATORS: It is OK if this is longer than 50 chars
+#: common/config.cpp:1388
+msgid "ignore accents when checking words -- CURRENTLY IGNORED"
+msgstr "ignora acentos ao verificar palavras - IGNORADA"
+
+#: common/config.cpp:1390
+msgid "ignore case when checking words"
+msgstr "ignora maiúsculas ao verificar palavras"
+
+#: common/config.cpp:1392
+msgid "ignore commands to store replacement pairs"
+msgstr "ignora comandos para gravar pares de substituição"
+
+#: common/config.cpp:1394 common/config.cpp:1461
+msgid "extra information for the word list"
+msgstr "informação extra para a lista de palavras"
+
+#: common/config.cpp:1396
+msgid "keyboard definition to use for typo analysis"
+msgstr "definição de teclado a usar em análise ortográfica"
+
+#: common/config.cpp:1398
+msgid "language code"
+msgstr "código de idioma"
+
+#: common/config.cpp:1400
+msgid "deprecated, use lang instead"
+msgstr "obsoleto, use antes lang"
+
+#: common/config.cpp:1402
+msgid "location of local language data files"
+msgstr "localização de ficheiros de dados do idioma local"
+
+#: common/config.cpp:1404
+msgid "base name of the main dictionary to use"
+msgstr "nome base do dicionário principal a usar"
+
+#: common/config.cpp:1408
+msgid "set module name"
+msgstr "define nome do módulo"
+
+#: common/config.cpp:1410
+msgid "search order for modules"
+msgstr "ordem de procura de módulos"
+
+#: common/config.cpp:1412
+msgid "enable Unicode normalization"
+msgstr "activa normalização Unicode"
+
+#: common/config.cpp:1414
+msgid "Unicode normalization required for current lang"
+msgstr "normalização Unicode requerida para idioma actual"
+
+#. TRANSLATORS: the values after the ':' are literal
+#. values and should not be translated.
+#: common/config.cpp:1418
+msgid "Unicode normalization form: none, nfd, nfc, comp"
+msgstr "Forma de normalização Unicode: none, nfd, nfc, comp"
+
+#: common/config.cpp:1420
+msgid "avoid lossy conversions when normalization"
+msgstr "evita conversões com perda ao normalizar"
+
+#: common/config.cpp:1422
+msgid "personal configuration file"
+msgstr "ficheiro de configuração pessoal"
+
+#: common/config.cpp:1425
+msgid "personal dictionary file name"
+msgstr "nome do ficheiro de dicionário pessoal"
+
+#: common/config.cpp:1428
+msgid "prefix directory"
+msgstr "pasta de prefixo"
+
+#: common/config.cpp:1430
+msgid "replacements list file name"
+msgstr "nome do ficheiro da lista de substituições"
+
+#: common/config.cpp:1433
+msgid "consider run-together words legal"
+msgstr "considerar palavras corridas legais"
+
+#: common/config.cpp:1435
+msgid "maximum number that can be strung together"
+msgstr "número máximo que se pode encadear"
+
+#: common/config.cpp:1437
+msgid "minimal length of interior words"
+msgstr "tamanho mínimo de palavras interiores"
+
+#: common/config.cpp:1439
+msgid "save replacement pairs on save all"
+msgstr "gravar pares de substituição ao gravar tudo"
+
+#: common/config.cpp:1441
+msgid "set the prefix based on executable location"
+msgstr "definir o prefixo com base na pasta do executável"
+
+#: common/config.cpp:1443
+msgid "size of the word list"
+msgstr "tamanho da lista de palavras"
+
+#: common/config.cpp:1445
+msgid "no longer used"
+msgstr "não utilizado"
+
+#: common/config.cpp:1447
+msgid "suggestion mode"
+msgstr "modo de sugestão"
+
+#. TRANSLATORS: "sug-mode" is a literal value and should not be
+#. translated.
+#: common/config.cpp:1451
+msgid "edit distance to use, override sug-mode default"
+msgstr "edita distância a usar, ignora predefinição sug-mode"
+
+#: common/config.cpp:1453
+msgid "use typo analysis, override sug-mode default"
+msgstr "usa análise de erros, ignora predefinição sug-mode"
+
+#: common/config.cpp:1455
+msgid "use replacement tables, override sug-mode default"
+msgstr "usa tabelas de substituição, ignora predefinição sug-mode"
+
+#: common/config.cpp:1457
+msgid "characters to insert when a word is split"
+msgstr "caracteres a inserir ao dividir uma palavra"
+
+#: common/config.cpp:1459
+msgid "use personal, replacement & session dictionaries"
+msgstr "usa dicionários pessoal, de substituição e de sessão"
+
+#: common/config.cpp:1463
+msgid "search path for word list information files"
+msgstr "caminho para os ficheiros de informação de lista de palavras"
+
+#: common/config.cpp:1465
+msgid "enable warnings"
+msgstr "activa avisos"
+
+#. TRANSLATORS: It is OK if this is longer than 50 chars
+#: common/config.cpp:1475
+msgid "indicator for affix flags in word lists -- CURRENTLY IGNORED"
+msgstr "indicador de bandeiras de afixo em listas de palavras - IGNORADA"
+
+#: common/config.cpp:1477
+msgid "use affix compression when creating dictionaries"
+msgstr "usa compressão de afixos ao criar dicionários"
+
+#: common/config.cpp:1479
+msgid "remove invalid affix flags"
+msgstr "remove bandeiras de afixos inválidas"
+
+#: common/config.cpp:1481
+msgid "attempts to clean words so that they are valid"
+msgstr "tenta limpar palavras para que sejam váidas"
+
+#: common/config.cpp:1483
+msgid "compute soundslike on demand rather than storing"
+msgstr "calcular \"soa como\" a pedido em vez de armazenar"
+
+#: common/config.cpp:1485
+msgid "partially expand affixes for better suggestions"
+msgstr "expande afixos parcialmente para melhores sugestões"
+
+#: common/config.cpp:1487
+msgid "skip invalid words"
+msgstr "ignora palavras inválidas"
+
+#: common/config.cpp:1489
+msgid "check if affix flags are valid"
+msgstr "verifica a validade de bandeiras de afixos"
+
+#: common/config.cpp:1491
+msgid "check if words are valid"
+msgstr "verifica a validade das palavras"
+
+#: common/config.cpp:1498
+msgid "create a backup file by appending \".bak\""
+msgstr "cria uma segurança apondo \".bak\""
+
+#: common/config.cpp:1500
+msgid "use byte offsets instead of character offsets"
+msgstr "usa desvios de bytes em vez de desvios de palavras"
+
+#: common/config.cpp:1502
+msgid "create missing root/affix combinations"
+msgstr "cria combinações raiz/afixo em falta"
+
+#: common/config.cpp:1504
+msgid "keymapping for check mode: \"aspell\" or \"ispell\""
+msgstr "mapa de teclado para modo de verificação: \"aspell\" ou \"ispell\""
+
+#: common/config.cpp:1506
+msgid "reverse the order of the suggest list"
+msgstr "reverte a ordem da lista de sugestões"
+
+#: common/config.cpp:1508
+msgid "suggest possible replacements"
+msgstr "Sugere possíveis substituições"
+
+#: common/config.cpp:1510
+msgid "time load time and suggest time in pipe mode"
+msgstr "tempo de carregamento e de sugestão em modo pipe"
+
+#: common/convert.cpp:303 common/convert.cpp:497
+#, c-format
+msgid "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
+msgstr "Também pode significar que o ficheiro %s não pôde ser aberto para leitura ou não existe."
+
+#: common/convert.cpp:582 common/convert.cpp:689 common/convert.cpp:735
+#, c-format
+msgid "The Unicode code point U+%04X is unsupported."
+msgstr "O código Unicode U+%04X não é suportado."
+
+#: common/convert.cpp:859
+#, c-format
+msgid "Invalid UTF-8 sequence at position %ld."
+msgstr "Sequência UTF-8 inválida na posição %ld."
+
+#: common/errors.cpp:27
+msgid "Operation Not Supported: %what:1"
+msgstr "Operação não suportada: %what:1"
+
+#: common/errors.cpp:43
+msgid "The method \"%what:1\" is unimplemented in \"%where:2\"."
+msgstr "O método \"%what:1\" não está implementado em \"%where:2\"."
+
+#: common/errors.cpp:51
+#, c-format
+msgid "%file:1:"
+msgstr "%file:1:"
+
+#: common/errors.cpp:59
+#, c-format
+msgid "The file \"%file:1\" can not be opened"
+msgstr "O ficheiro \"%file:1\" não pôde ser aberto"
+
+#: common/errors.cpp:67
+#, c-format
+msgid "The file \"%file:1\" can not be opened for reading."
+msgstr "O ficheiro \"%file:1\" não pôde ser aberto para leitura."
+
+#: common/errors.cpp:75
+#, c-format
+msgid "The file \"%file:1\" can not be opened for writing."
+msgstr "O ficheiro \"%file:1\" não pôde ser aberto para escrita."
+
+#: common/errors.cpp:83
+#, c-format
+msgid "The file name \"%file:1\" is invalid."
+msgstr "O nome de ficheiro \"%file:1\" é inválido."
+
+#: common/errors.cpp:91
+#, c-format
+msgid "The file \"%file:1\" is not in the proper format."
+msgstr "O ficheiro \"%file:1\" não está no formato apropriado."
+
+#: common/errors.cpp:107
+#, c-format
+msgid "The directory \"%dir:1\" can not be opened for reading."
+msgstr "A pasta \"%dir:1\" não pode ser aberta para leitura."
+
+#: common/errors.cpp:123
+msgid "The key \"%key:1\" is unknown."
+msgstr "A chave \"%key:1\" é desconhecida."
+
+#: common/errors.cpp:131
+msgid "The value for option \"%key:1\" can not be changed."
+msgstr "O valor da opção \"%key:1\" não pode ser alterado."
+
+#: common/errors.cpp:139
+msgid "The key \"%key:1\" is not %accepted:2 and is thus invalid."
+msgstr "A chave \"%key:1\" não é %accepted:2, como tal é inválida."
+
+#: common/errors.cpp:147
+msgid "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
+msgstr "O valor \"%value:2\" não é %accepted:3, como tal é inválido para a chave \"%key:1\"."
+
+#: common/errors.cpp:163
+msgid "The key \"%key:1\" is not a string."
+msgstr "A chave \"%key:1\" não é uma cadeia."
+
+#: common/errors.cpp:171
+msgid "The key \"%key:1\" is not an integer."
+msgstr "A chave \"%key:1\" não é um inteiro."
+
+#: common/errors.cpp:179
+msgid "The key \"%key:1\" is not a boolean."
+msgstr "A chave \"%key:1\" não é um booleano."
+
+#: common/errors.cpp:187
+msgid "The key \"%key:1\" is not a list."
+msgstr "A chave \"%key:1\" não é uma lista."
+
+#: common/errors.cpp:195
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
+msgstr "A chave \"%key:1\" não recebe parâmetros quando prefixada com \"reset-\"."
+
+#: common/errors.cpp:203
+msgid "The key \"%key:1\" does not take any parameters when prefixed by an \"enable-\"."
+msgstr "A chave \"%key:1\" não recebe parâmetros quando prefixada com \"enable-\""
+
+#: common/errors.cpp:211
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
+msgstr "A chave \"%key:1\" não recebe parâmetros quando prefixada com \"dont-\" ou \"disable-\""
+
+#: common/errors.cpp:219
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
+msgstr "A chave \"%key:1\" não recebe parâmetros quando prefixada com \"clear-\""
+
+#: common/errors.cpp:235
+#, c-format
+msgid "The language \"%lang:1\" is not known."
+msgstr "O idioma \"%lang:1\" não é conhecido."
+
+#: common/errors.cpp:243
+#, c-format
+msgid "The soundslike \"%sl:2\" is not known."
+msgstr "Soa como \"%sl:2\" não é conhecido.."
+
+#: common/errors.cpp:251
+#, c-format
+msgid "The language \"%lang:1\" is not supported."
+msgstr "O idioma \"%lang:1\" não é suportado."
+
+#: common/errors.cpp:259
+#, c-format
+msgid "No word lists can be found for the language \"%lang:1\"."
+msgstr "Não se encontraram listas de palavras para \"%lang:1\"."
+
+#: common/errors.cpp:267
+#, c-format
+msgid "Expected language \"%lang:1\" but got \"%prev:2\"."
+msgstr "Esperado idioma \"%lang:1\", obtido \"%prev:2\"."
+
+#: common/errors.cpp:283
+#, c-format
+msgid "Affix '%aff:1' is corrupt."
+msgstr "O afixo \"%aff:1\" está corrompido."
+
+#: common/errors.cpp:291
+#, c-format
+msgid "The condition \"%cond:1\" is invalid."
+msgstr "A condição \"%cond:1\" é inválida."
+
+#: common/errors.cpp:299
+#, c-format
+msgid "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
+msgstr "A condição \"%cond:1\" não garante que \"%strip:2\" possa sempre ser removido."
+
+#: common/errors.cpp:307
+#, c-format
+msgid "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
+msgstr "O ficheiro \"%file:1\" não está no formato apropriado. Esperado o formato \"%exp:2\" não \"%got:3\"."
+
+#: common/errors.cpp:323
+#, c-format
+msgid "The encoding \"%encod:1\" is not known."
+msgstr "Codificação \"%encod:1\" desconhecida."
+
+#: common/errors.cpp:331
+#, c-format
+msgid "The encoding \"%encod:1\" is not supported."
+msgstr "Codificação \"%encod:1\" não suportada."
+
+#: common/errors.cpp:339
+#, c-format
+msgid "The conversion from \"%encod:1\" to \"%encod2:2\" is not supported."
+msgstr "A conversão de \"%encod:1\" para \"%encod2:2\" não é suportada."
+
+#: common/errors.cpp:379
+#, c-format
+msgid "The string \"%str:1\" is invalid."
+msgstr "A cadeia \"%str:1\" é inválida."
+
+#: common/errors.cpp:387
+msgid "The word \"%word:1\" is invalid."
+msgstr "A palavra \"%word:1\" é inválida."
+
+#: common/errors.cpp:395
+msgid "The affix flag '%aff:1' is invalid for word \"%word:2\"."
+msgstr "A bandeira de afixo \"%aff:1\" é inválida para \"%word:2\"."
+
+#: common/errors.cpp:403
+msgid "The affix flag '%aff:1' can not be applied to word \"%word:2\"."
+msgstr "A bandeira de afixo \"%aff:1\" não pode ser aplicada a \"%word:2\"."
+
+#: common/errors.cpp:451
+msgid "not a version number"
+msgstr "não é número de versão"
+
+#: common/errors.cpp:467
+msgid "dlopen returned \"%return:1\"."
+msgstr "dlopen devolveu \"%return:1\"."
+
+#: common/errors.cpp:475
+#, c-format
+msgid "The file \"%filter:1\" does not contain any filters."
+msgstr "O ficheiro \"%filter:1\" não contém filtros."
+
+#: common/errors.cpp:483
+#, c-format
+msgid "The filter \"%filter:1\" does not exist."
+msgstr "O filtro \"%filter:1\" não existe."
+
+#: common/errors.cpp:491 common/errors.cpp:587
+msgid "Confused by version control."
+msgstr "Confuso pelo controlo de versão."
+
+#: common/errors.cpp:499
+msgid "Aspell version does not match filter's requirement."
+msgstr "Versão Aspell não corresponde à requerida pelo filtro."
+
+#: common/errors.cpp:507
+msgid "Filter option already exists."
+msgstr "A opção do filtro já existe."
+
+#: common/errors.cpp:515
+msgid "Use option modifiers only within named option."
+msgstr "Use modificadores de opção só dentro da opção nomeada."
+
+#: common/errors.cpp:523
+msgid "Option modifier unknown."
+msgstr "Modificador de opção desconhecido."
+
+#: common/errors.cpp:531
+msgid "Error setting filter description."
+msgstr "Erro ao definir descrição do filtro."
+
+#: common/errors.cpp:547
+msgid "Empty option specifier."
+msgstr "Especificador de opção vazio."
+
+#: common/errors.cpp:555
+#, c-format
+msgid "Option \"%option:1\" possibly specified prior to filter."
+msgstr "Opção \"%option:1\" possivelmente especificada antes do filtro."
+
+#: common/errors.cpp:563
+msgid "Unknown mode description key \"%key:1\"."
+msgstr "Modo de descrição de chave \"%key:1\" desconhecido."
+
+#: common/errors.cpp:571
+#, c-format
+msgid "Expecting \"%modekey:1\" key."
+msgstr "Esperada chave \"%modekey:1\"."
+
+#: common/errors.cpp:579
+msgid "Version specifier missing key: \"aspell\"."
+msgstr "Chave em falta no especificador de versão: \"aspell\"."
+
+#: common/errors.cpp:595
+msgid "Aspell version does not match mode's requirement."
+msgstr "Versão Aspell não corresponde à requerida pelo modo."
+
+#: common/errors.cpp:603
+msgid "Missing magic mode expression."
+msgstr "Expressão do modo mágico em falta."
+
+#: common/errors.cpp:611
+#, c-format
+msgid "Empty extension at char %char:1."
+msgstr "Extensão vazia no carácter %char:1."
+
+#: common/errors.cpp:619
+#, c-format
+msgid "\"%mode:1\" error"
+msgstr "Erro \"%mode:1\""
+
+#: common/errors.cpp:627
+#, c-format
+msgid "Unknown mode: \"%mode:1\"."
+msgstr "Modo desconhecido: \"%mode:1\"."
+
+#: common/errors.cpp:635
+#, c-format
+msgid "\"%mode:1\" error while extend Aspell modes. (out of memory?)"
+msgstr "\"%mode:1\" erro ao estender os modos Aspell (sem memória?)."
+
+#: common/errors.cpp:651
+#, c-format
+msgid "\"%mode:1\": no start for magic search given for magic \"%magic:2\"."
+msgstr "\"%mode:1\": sem início para procura mágica indicada para \"%magic:2\"."
+
+#: common/errors.cpp:659
+#, c-format
+msgid "\"%mode:1\": no range for magic search given for magic \"%magic:2\"."
+msgstr "\"%mode:1\": sem intervalo para procura mágica indicada para \"%magic:2\"."
+
+#: common/errors.cpp:667
+#, c-format
+msgid "\"%mode:1\": no magic expression available for magic \"%magic:2\"."
+msgstr "\"%mode:1\": sem expressão mágica disponível para \"%magic:2\"."
+
+#: common/errors.cpp:675
+msgid "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
+msgstr "\"%mode:1\": \"%magic:2\": má expressão regular após especificador de localização; regexp reporta: \"%regerr:3\"."
+
+#: common/errors.cpp:691
+#, c-format
+msgid "\"%expression:1\" is not a valid regular expression."
+msgstr "\"%expression:1\" não é uma expressão regular válida."
+
+#: common/posib_err.cpp:100
+msgid "Unhandled Error: "
+msgstr "Erro não gerido: "
+
+#: prog/aspell.cpp:98
+#, c-format
+msgid "Error: %s\n"
+msgstr "Erro: %s\n"
+
+#: prog/aspell.cpp:103
+msgid "Error: "
+msgstr "Erro: "
+
+#: prog/aspell.cpp:204
+msgid "enter Email mode."
+msgstr "entrar em modo Email."
+
+#: prog/aspell.cpp:205
+msgid "enter HTML mode."
+msgstr "entrar em modo HTML."
+
+#: prog/aspell.cpp:206
+msgid "enter TeX mode."
+msgstr "entrar em modo TeX."
+
+#: prog/aspell.cpp:207
+msgid "enter Nroff mode."
+msgstr "entrar em modo Nroff."
+
+#: prog/aspell.cpp:313
+#, c-format
+msgid "Invalid Option: %s"
+msgstr "Opção inválida: %s"
+
+#: prog/aspell.cpp:320
+msgid " does not take any parameters."
+msgstr " não recebe parâmetros."
+
+#: prog/aspell.cpp:333 prog/aspell.cpp:393
+#, c-format
+msgid "You must specify a parameter for \"%s\"."
+msgstr "Tem de especificar um parâmetro para \"%s\"."
+
+#: prog/aspell.cpp:382
+msgid "You must specify an action"
+msgstr "Tem de especificar uma acção"
+
+#: prog/aspell.cpp:390 prog/aspell.cpp:453 prog/aspell.cpp:475
+#, c-format
+msgid "Unknown Action: %s"
+msgstr "Acção desconhecida: %s"
+
+#: prog/aspell.cpp:396
+#, c-format
+msgid "Error: You must specify at least %d parameters for \"%s\".\n"
+msgstr "Erro: tem de especificar pelo menos %d parâmetros para \"%s\".\n"
+
+#: prog/aspell.cpp:638
+msgid "Invalid Input"
+msgstr "Entrada inválida"
+
+#: prog/aspell.cpp:711
+#, c-format
+msgid "WARNING: Unable to enter Nroff mode: %s\n"
+msgstr "AVISO: impossível entrar em modo Nroff: %s\n"
+
+#: prog/aspell.cpp:732
+msgid "Time to load word list: "
+msgstr "Tempo para carregar a lista de palavras: "
+
+#: prog/aspell.cpp:930
+#, c-format
+msgid "Suggestion Time: %f\n"
+msgstr "Tempo da sugestão: %f\n"
+
+#: prog/aspell.cpp:973
+msgid "You must specify a file name."
+msgstr "Tem de especificar um nome de ficheiro."
+
+#: prog/aspell.cpp:976
+msgid "Only one file name may be specified."
+msgstr "Só pode especificar um nome de ficheiro."
+
+#: prog/aspell.cpp:986
+#, c-format
+msgid "Could not open the file \"%s\" for reading"
+msgstr "Impossível abrir o ficheiro \"%s\" para leitura"
+
+#: prog/aspell.cpp:999
+#, c-format
+msgid "Invalid keymapping: %s"
+msgstr "Mapa de teclado inválido: %s"
+
+#: prog/aspell.cpp:1014
+#, fuzzy, c-format
+#| msgid "\"%expression:1\" is not a valid regular expression."
+msgid "\"%s\" is not a regular file"
+msgstr "\"%expression:1\" não é uma expressão regular válida."
+
+#: prog/aspell.cpp:1025
+#, c-format
+msgid "Could not open the file \"%s\" for writing. File not saved."
+msgstr "Impossível abrir o ficheiro \"%s\" para escrita. Ficheiro não gravado."
+
+#: prog/aspell.cpp:1038
+msgid "Ignore"
+msgstr "Ignorar"
+
+#: prog/aspell.cpp:1039
+msgid "Ignore all"
+msgstr "Ignorar tudo"
+
+#: prog/aspell.cpp:1040
+msgid "Replace"
+msgstr "Substituir"
+
+#: prog/aspell.cpp:1041
+msgid "Replace all"
+msgstr "Substituir tudo"
+
+#: prog/aspell.cpp:1042
+msgid "Add"
+msgstr "Adicionar"
+
+#: prog/aspell.cpp:1043
+msgid "Add Lower"
+msgstr "Adicionar abaixo"
+
+#: prog/aspell.cpp:1044
+msgid "Abort"
+msgstr "Abortar"
+
+#: prog/aspell.cpp:1045
+msgid "Exit"
+msgstr "Sair"
+
+#: prog/aspell.cpp:1121
+msgid "Are you sure you want to abort (y/n)? "
+msgstr "Tem a certeza que quer abortar (s/n)? "
+
+#. TRANSLATORS: The user may input any of these characters to say "yes".
+#. MUST ONLY CONSIST OF ASCII CHARACTERS.
+#: prog/aspell.cpp:1125
+msgid "Yy"
+msgstr "Ss"
+
+#: prog/aspell.cpp:1153
+msgid "With: "
+msgstr "Com: "
+
+#: prog/aspell.cpp:1170
+msgid "Sorry that is an invalid choice!"
+msgstr "Desculpe, a escolha é inválida!"
+
+#: prog/aspell.cpp:1391
+msgid "Sorry \"filter\" is currently unimplemented.\n"
+msgstr "Desculpe, \"filter\" não está implementado.\n"
+
+#: prog/aspell.cpp:1525
+msgid "Can't merge a master word list yet. Sorry."
+msgstr "Desculpe, impossível unir listas mestras de palavras."
+
+#: prog/aspell.cpp:1549
+msgid "Sorry \"create/merge personal\" is currently unimplemented.\n"
+msgstr "Desculpe, \"create/merge personal\" não está implementado.\n"
+
+#: prog/aspell.cpp:1558 prog/aspell.cpp:1614
+#, c-format
+msgid "Sorry I won't overwrite \"%s\""
+msgstr "Desculpe, impossível sobrescrever \"%s\""
+
+#: prog/aspell.cpp:1605
+msgid "Sorry \"create/merge repl\" is currently unimplemented.\n"
+msgstr "Desculpe, \"create/merge repl\" não está implementado.\n"
+
+#: prog/aspell.cpp:1877
+#, c-format
+msgid "\"%s\" is not a valid flag for the \"munch-list\" command."
+msgstr "\"%s\" não é uma bandeira válida para o comando \"munch-list\"."
+
+#. TRANSLATORS: These should all be formated to fit in 80 column or
+#. less
+#: prog/aspell.cpp:2804
+msgid "Usage: aspell [options] <command>"
+msgstr "Uso: aspell [opções] <comando>"
+
+#: prog/aspell.cpp:2805
+msgid "<command> is one of:"
+msgstr "<comando> é um de:"
+
+#: prog/aspell.cpp:2806
+msgid " -?|usage display a brief usage message"
+msgstr " -?|usage mostra uma breve mensagem de utilização"
+
+#: prog/aspell.cpp:2807
+msgid " help display a detailed help message"
+msgstr " help mostra uma mensagem detalhada de ajuda"
+
+#: prog/aspell.cpp:2808
+msgid " -c|check <file> to check a file"
+msgstr " -c|check <ficheiro> para verificar um ficheiro"
+
+#: prog/aspell.cpp:2809
+msgid " -a|pipe \"ispell -a\" compatibility mode"
+msgstr " -a|pipe modo de compatibilidade \"ispell -a\""
+
+#: prog/aspell.cpp:2810
+msgid " [dump] config dumps the current configuration to stdout"
+msgstr " [dump] config despeja a configuração actual para stdout"
+
+#: prog/aspell.cpp:2811
+msgid " config <key> prints the current value of an option"
+msgstr " config <chave> imprime o valor actual de uma opção"
+
+#: prog/aspell.cpp:2812
+msgid " [dump] dicts | filters | modes"
+msgstr " [dump] dicts|filters|modes"
+
+#: prog/aspell.cpp:2813
+msgid " lists available dictionaries / filters / filter modes"
+msgstr ""
+" [dump] dicts|filters|modes\n"
+" lista dicionários/filtros/modos de filtro disponíveis"
+
+#: prog/aspell.cpp:2814
+msgid "[options] is any of the following:"
+msgstr "[opções] é qualquer uma das seguintes:"
+
+#: prog/aspell.cpp:2827
+msgid " list produce a list of misspelled words from standard input"
+msgstr " list produz uma lista de palavras com erros da entrada padrão"
+
+#: prog/aspell.cpp:2830
+msgid " soundslike returns the sounds like equivalent for each word entered"
+msgstr " soundslike devolve o equivalente \"Soa como\" para cada palavra inserida"
+
+#: prog/aspell.cpp:2831
+msgid " munch generate possible root words and affixes"
+msgstr " munch gera possíveis palavras raiz e afixos"
+
+#: prog/aspell.cpp:2832
+msgid " expand [1-4] expands affix flags"
+msgstr " expand [1-4] expande bandeiras de afixo"
+
+#: prog/aspell.cpp:2833
+msgid " clean [strict] cleans a word list so that every line is a valid word"
+msgstr " clean [strict] limpa uma lista de palavras para que cada linha seja uma palavra válida"
+
+#: prog/aspell.cpp:2835
+msgid " -v|version prints a version line"
+msgstr " -v|version mostra informação da versão"
+
+#: prog/aspell.cpp:2836
+msgid " munch-list [simple] [single|multi] [keep]"
+msgstr " munch-list [simples] [única|multi] [manter]"
+
+#: prog/aspell.cpp:2837
+msgid " reduce the size of a word list via affix compression"
+msgstr " reduz o tamanho duma lista de palavras via compressão de afixos"
+
+#: prog/aspell.cpp:2838
+msgid " conv <from> <to> [<norm-form>]"
+msgstr " conv <de> <para> [<forma-norm>]"
+
+#: prog/aspell.cpp:2839
+msgid " converts from one encoding to another"
+msgstr " converte de uma codificação para outra"
+
+#: prog/aspell.cpp:2840
+msgid " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
+msgstr " norm (<mapa-norm> | <de> <mapa-norm> <para>) [<forma-norm>]"
+
+#: prog/aspell.cpp:2841
+msgid " perform Unicode normalization"
+msgstr " realiza normalização Unicode"
+
+#: prog/aspell.cpp:2844
+msgid " dump|create|merge master|personal|repl [<name>]"
+msgstr " dump|create|merge master|personal|repl [<nome>]"
+
+#: prog/aspell.cpp:2845
+msgid " dumps, creates or merges a master, personal, or replacement dictionary."
+msgstr " despeja, cria ou une um dicionário mestre, pessoal ou de substituição."
+
+#. TRANSLATORS: "none", "internal" and "strict" are literal values
+#. and should not be translated.
+#: prog/aspell.cpp:2849
+msgid " <norm-form> normalization form to use, either none, internal, or strict"
+msgstr " <forma-norm> forma de normalização a usar, none, internal, ou strict"
+
+#: prog/aspell.cpp:2859
+#, c-format
+msgid ""
+"\n"
+"Aspell %s. Copyright 2000-2011 by Kevin Atkinson.\n"
+"\n"
+msgstr ""
+"\n"
+"Aspell %s. Copyright 2000-2011 por Kevin Atkinson.\n"
+"\n"
+
+#: prog/aspell.cpp:2893
+msgid ""
+"Available Dictionaries:\n"
+" Dictionaries can be selected directly via the \"-d\" or \"master\"\n"
+" option. They can also be selected indirectly via the \"lang\",\n"
+" \"variety\", and \"size\" options.\n"
+msgstr ""
+"Dicionários disponíveis:\n"
+" Pode escolher os dicionários directamente com a opção \"-d\" ou\n"
+" \"master\". Também pode escolhê-los indirectamente com as opções\n"
+" \"lang\", \"variety\" e \"size\".\n"
+
+#: prog/aspell.cpp:2914
+msgid ""
+"Available Filters (and associated options):\n"
+" Filters can be added or removed via the \"filter\" option.\n"
+msgstr ""
+"Filtros disponíveis (e opções associadas):\n"
+" Pode adicionar ou remover filtros com a opção \"filter\".\n"
+
+#: prog/aspell.cpp:2921
+#, c-format
+msgid ""
+"\n"
+" %s filter: %s\n"
+msgstr ""
+"\n"
+" filtro %s: %s\n"
+
+#. TRANSLATORS: This should be formated to fit in 80 column or less
+#: prog/aspell.cpp:2938
+msgid ""
+"Available Filter Modes:\n"
+" Filter Modes are reconfigured combinations of filters optimized for\n"
+" files of a specific type. A mode is selected via the \"mode\" option.\n"
+" This will happen implicitly if Aspell is able to identify the file\n"
+" type from the extension, and possibility the contents, of the file.\n"
+msgstr ""
+"Modos de filtro disponíveis:\n"
+" Modos de filtro são combinações de filtros reconfiguradas e optimizadas\n"
+" para um dado tipo de ficheiro. O modo é escolhido com a opção \"mode\".\n"
+" Isto acontece implicitamente se o Aspell identificar o tipo de ficheiro\n"
+" pela sua extensão e, possivelmente, pelo conteúdo do ficheiro.\n"
+
+#: prog/check_funs.cpp:287
+msgid "Error: Stdin not a terminal."
+msgstr "Erro: stdin não é um terminal."
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:774
+msgid "Enter"
+msgstr "Enter"
+
+#: prog/check_funs.cpp:776
+msgid "Accept Changes"
+msgstr "Aceitar alterações"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:779
+msgid "Backspace"
+msgstr "Backspace"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:781
+msgid "Control-H"
+msgstr "Control-H"
+
+#: prog/check_funs.cpp:782
+msgid "Delete the previous character"
+msgstr "Eliminar o carácter anterior"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:785
+msgid "Left"
+msgstr "Esquerda"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:787
+msgid "Control-B"
+msgstr "Control-B"
+
+#: prog/check_funs.cpp:788
+msgid "Move Back one space"
+msgstr "Recuar um espaço"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:791
+msgid "Right"
+msgstr "Direita"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:793
+msgid "Control-F"
+msgstr "Control-F"
+
+#: prog/check_funs.cpp:794
+msgid "Move Forward one space"
+msgstr "Avançar um espaço"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:797
+msgid "Home"
+msgstr "Home"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:799
+msgid "Control-A"
+msgstr "Control-A"
+
+#: prog/check_funs.cpp:800
+msgid "Move to the beginning of the line"
+msgstr "Ir para o início da linha"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:803
+msgid "End"
+msgstr "End"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:805
+msgid "Control-E"
+msgstr "Control-E"
+
+#: prog/check_funs.cpp:806
+msgid "Move to the end of the line"
+msgstr "Ir para o final da linha"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:809
+msgid "Delete"
+msgstr "Delete"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:811
+msgid "Control-D"
+msgstr "Control-D"
+
+#: prog/check_funs.cpp:812
+msgid "Delete the next character"
+msgstr "Eliminar o carácter seguinte"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:816
+msgid "Control-K"
+msgstr "Control-K"
+
+#: prog/check_funs.cpp:817
+msgid "Kill all characters to the EOL"
+msgstr "Matar todos os caracteres até ao EOL"
+
+#. TRANSLATORS: This is a literal Key.
+#: prog/check_funs.cpp:821
+msgid "Control-C"
+msgstr "Control-C"
+
+#: prog/check_funs.cpp:822
+msgid "Abort This Operation"
+msgstr "Abortar esta operação"
+
+#: modules/speller/default/language.cpp:103
+msgid "This is probably because: "
+msgstr "É provavelmente porque: "
+
+#: modules/speller/default/language.cpp:110
+msgid "The required field \"name\" is missing."
+msgstr "Campo \"name\" requerido está em falta."
+
+#: modules/speller/default/language.cpp:488
+msgid "Empty string."
+msgstr "Cadeia vazia."
+
+#: modules/speller/default/language.cpp:492
+#, c-format
+msgid "The character '%s' (U+%02X) may not appear at the beginning of a word."
+msgstr "O carácter \"%s\" (U+%02X) não pode aparecer no princípio de uma palavra."
+
+#: modules/speller/default/language.cpp:494
+#: modules/speller/default/language.cpp:503
+#, c-format
+msgid "The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgstr "O carácter \"%s\" (U+%02X) tem de ser seguido de um carácter alfabético."
+
+#: modules/speller/default/language.cpp:496
+msgid "Does not contain any alphabetic characters."
+msgstr "Não contém caracteres alfabéticos."
+
+#: modules/speller/default/language.cpp:501
+#, c-format
+msgid "The character '%s' (U+%02X) may not appear in the middle of a word."
+msgstr "O carácter \"%s\" (U+%02X) não pode aparecer no meio de uma palavra."
+
+#: modules/speller/default/language.cpp:508
+msgid "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgstr "O carácter \"\\r\" (U+0D) não pode aparecer no final de uma palavra. Provavelmente significa que o ficheiro usa EOL MS-DOS em vez de EOL Unix."
+
+#: modules/speller/default/language.cpp:511
+#, c-format
+msgid "The character '%s' (U+%02X) may not appear at the end of a word."
+msgstr "O carácter \"%s\" (U+%02X) não pode aparecer no final de uma palavra."
+
+#: modules/speller/default/language.cpp:543
+#, c-format
+msgid "Warning: Removing invalid affix '%s' from word %s.\n"
+msgstr "Aviso: a remover afixo \"%s\" inválido da palavra %s.\n"
+
+#: modules/speller/default/language.cpp:544
+#, c-format
+msgid "Warning: Removing inapplicable affix '%s' from word %s.\n"
+msgstr "Aviso: a remover afixo \"%s\" inaplicável da palavra %s.\n"
+
+#: modules/speller/default/language.cpp:675
+#, c-format
+msgid "Warning: %s Skipping string.\n"
+msgstr "Aviso: %s a saltar a cadeia.\n"
+
+#: modules/speller/default/language.cpp:733
+msgid "The total length is larger than 240 characters."
+msgstr "O tamanho total excede os 240 caracteres."
+
+#: modules/speller/default/language.cpp:737
+#, c-format
+msgid "Warning: %s Skipping word.\n"
+msgstr "Aviso: %s a saltar a palavra.\n"
+
+#: modules/speller/default/affix.cpp:426
+msgid "Possibly incorrect count."
+msgstr "Possível total incorrecto."
+
+#: modules/speller/default/readonly_ws.cpp:362
+msgid "Incompatible hash function."
+msgstr "Função hash incompatível."
+
+#: modules/speller/default/readonly_ws.cpp:440
+msgid "Wrong endian order."
+msgstr "Ordem endian errada."
+
+#: modules/speller/default/readonly_ws.cpp:463
+msgid "Wrong soundslike."
+msgstr "soundslike errado."
+
+#: modules/speller/default/readonly_ws.cpp:469
+msgid "Wrong soundslike version."
+msgstr "Versão sounslike errada."
+
+#: modules/speller/default/readonly_ws.cpp:934
+msgid "Affix flags found in word but no affix file given."
+msgstr "Encontradas bandeiras de afixo na palavra sem ficheiro de afixos indicado."
+
+#: modules/speller/default/readonly_ws.cpp:972
+msgid "The total word length, with soundslike data, is larger than 240 characters."
+msgstr "O tamanho total da palavra, com dados soundslike, excede os 240 caracteres."
+
+#: modules/speller/default/multi_ws.cpp:58
+msgid "There must be at least one \"add\" line."
+msgstr "Tem de haver pelo menos uma linha \"add\"."
+
+#: modules/speller/default/suggest.cpp:1403
+msgid "one of ultra, fast, normal, slow, or bad-spellers"
+msgstr "uma de ultra, fast, normal, slow, ou bad-spellers"
+
+#: modules/speller/default/data.cpp:404
+msgid "is not one of the allowed types"
+msgstr "não é um dos tipos permitidos"
+
+#: modules/speller/default/speller_impl.cpp:241
+msgid "The personal word list is unavailable."
+msgstr "A lista de palavras pessoal está indisponível."
+
+#: modules/speller/default/speller_impl.cpp:248
+msgid "The session word list is unavailable."
+msgstr "A lista de palavras da sessão está indisponível."
+
+#: modules/speller/default/speller_impl.cpp:255
+msgid "The main word list is unavailable."
+msgstr "A lista de palavras principal está indisponível."
+
+#: modules/filter/tex.cpp:255 modules/filter/tex.cpp:262
+msgid "a string of 'o','O','p',or 'P'"
+msgstr "uma cadeia de \"o\",\"O\",\"p\",ou \"P\""
+
+#. TRANSLATORS: Like the strings in config.cpp, all strings in *-filter.opt
+#. should be under 50 characters, begin with a lower case character and
+#. not include any trailing punctuation marks.
+#: modules/filter/context-filter.info:7
+msgid "experimental filter for hiding delimited contexts"
+msgstr "filtro experimental para ocultar contextos delimitados"
+
+#: modules/filter/context-filter.info:13
+msgid "context delimiters (separated by spaces)"
+msgstr "contextos delimitados (separados por espaços)"
+
+#: modules/filter/context-filter.info:21
+msgid "swaps visible and invisible text"
+msgstr "troca texto visível e invisível"
+
+#: modules/filter/email-filter.info:7
+msgid "filter for skipping quoted text in email messages"
+msgstr "filtro para saltar texto citado em mensagens de email"
+
+#: modules/filter/email-filter.info:13
+msgid "email quote characters"
+msgstr "caracteres de citação em email"
+
+#: modules/filter/email-filter.info:21
+msgid "num chars that can appear before the quote char"
+msgstr "nº de caracteres possível antes do carácter de citação"
+
+#: modules/filter/html-filter.info:9
+msgid "filter for dealing with HTML documents"
+msgstr "filtro para lidar com documentos HTML"
+
+#: modules/filter/html-filter.info:15
+msgid "HTML attributes to always check"
+msgstr "Atributos HTML a verificar sempre"
+
+#: modules/filter/html-filter.info:21
+msgid "HTML tags to always skip the contents of"
+msgstr "Conteúdo de etiquetas HTML a saltar sempre"
+
+#: modules/filter/markdown-filter.info:8
+#, fuzzy
+#| msgid "filter for dealing with Texinfo documents"
+msgid "filter for Markdown/CommonMark documents"
+msgstr "filtro para lidar com documentos Texinfo"
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
+msgstr ""
+
+#: modules/filter/nroff-filter.info:7
+msgid "filter for dealing with Nroff documents"
+msgstr "filtro para lidar com documentos Nroff"
+
+#: modules/filter/sgml-filter.info:9
+msgid "filter for dealing with generic SGML/XML documents"
+msgstr "filtro para lidar com documentos genéricos SGML/XML"
+
+#: modules/filter/sgml-filter.info:15
+msgid "SGML attributes to always check"
+msgstr "Atributos SGML a verificar sempre"
+
+#: modules/filter/sgml-filter.info:20
+msgid "SGML tags to always skip the contents of"
+msgstr "Conteúdo de etiquetas SGML a saltar sempre"
+
+#: modules/filter/tex-filter.info:7
+msgid "filter for dealing with TeX/LaTeX documents"
+msgstr "filtro para lidar com documentos TeX/LaTeX"
+
+#: modules/filter/tex-filter.info:15
+msgid "check TeX comments"
+msgstr "verificar comentários TeX"
+
+#: modules/filter/tex-filter.info:21
+msgid "TeX commands"
+msgstr "Comandos TeX"
+
+#: modules/filter/texinfo-filter.info:7
+msgid "filter for dealing with Texinfo documents"
+msgstr "filtro para lidar com documentos Texinfo"
+
+#: modules/filter/texinfo-filter.info:13
+msgid "Texinfo commands to ignore the parameters of"
+msgstr "Comandos Texinfo cujos parâmetros se devem ignorar"
+
+#: modules/filter/texinfo-filter.info:41
+msgid "Texinfo environments to ignore"
+msgstr "Ambientes Texinfo a ignorar"
+
+#: modules/filter/url-filter.info:7
+msgid "filter to skip URL like constructs"
+msgstr "filtro para saltar constructs tipo URL"
+
+#: modules/filter/modes/ccpp.amf:8
+msgid "mode for checking C++ comments and string literals"
+msgstr "modo para verificar comentários C++ e literais de cadeia"
+
+#: modules/filter/modes/comment.amf:5
+msgid "mode to check any lines starting with a #"
+msgstr "modo para verificar quaisquer linhas começadas por #"
+
+#: modules/filter/modes/email.amf:5
+msgid "mode for skipping quoted text in email messages"
+msgstr "modo para saltar texto citado em mensagens de email"
+
+#: modules/filter/modes/html.amf:10
+msgid "mode for checking HTML documents"
+msgstr "modo para verificar documentos HTML"
+
+#: modules/filter/modes/markdown.amf:10
+#, fuzzy
+#| msgid "mode for checking Nroff documents"
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr "modo para verificar documentos Nroff"
+
+#: modules/filter/modes/none.amf:5
+msgid "mode to disable all filters"
+msgstr "modo para desactivar todos os filtros"
+
+#: modules/filter/modes/nroff.amf:7
+msgid "mode for checking Nroff documents"
+msgstr "modo para verificar documentos Nroff"
+
+#: modules/filter/modes/perl.amf:8
+msgid "mode for checking Perl comments and string literals"
+msgstr "modo para verificar comentários Perl e literais de cadeia"
+
+#: modules/filter/modes/sgml.amf:8
+msgid "mode for checking generic SGML/XML documents"
+msgstr "modo para verificar documentos genéricos SGML/XML"
+
+#: modules/filter/modes/tex.amf:7
+msgid "mode for checking TeX/LaTeX documents"
+msgstr "modo para verificar documentos TeX/LaTeX"
+
+#: modules/filter/modes/texinfo.amf:7
+msgid "mode for checking Texinfo documents"
+msgstr "modo para verificar documentos Texinfo"
+
+#: modules/filter/modes/url.amf:5
+msgid "mode to skip URL like constructs (default mode)"
+msgstr "modo para saltar constructs tipo URL (modo predefinido)"
-# Translation to Brazilian Portuguese (pt_BR)
-# Copyright (C) 2004 Free Software Foundation, Inc.
+# Brazilian Portuguese translation for Aspell (pt_BR)
+# Copyright (C) 2004-2013 Free Software Foundation, Inc.
+# This file is distributed under the same license as the aspell package.
# Marcus Moreira de Souza <marcus@frb.br>, 2004.
+# Enrico Nicoletto <liverig@gmail.com>, 2013.
#
msgid ""
msgstr ""
-"Project-Id-Version: aspell 0.51-b20040219\n"
+"Project-Id-Version: aspell 0.60.7\n"
"Report-Msgid-Bugs-To: kevina@gnu.org\n"
-"POT-Creation-Date: 2011-07-04 03:25-0600\n"
-"PO-Revision-Date: 2004-03-15 12:10-0300\n"
-"Last-Translator: Marcus Moreira de Souza <marcus@frb.br>\n"
-"Language-Team: Brazilian Portuguese <ldp-br@bazar.conectiva.com.br>\n"
+"POT-Creation-Date: 2019-07-29 02:38-0400\n"
+"PO-Revision-Date: 2013-08-13 22:07-0300\n"
+"Last-Translator: Enrico Nicoletto <liverig@gmail.com>\n"
+"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge.net>\n"
+"Language: pt_BR\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Poedit 1.5.4\n"
#: common/info.cpp:232
msgid "a number between 0 and 1"
-msgstr ""
+msgstr "um número entre 0 e 1"
#: common/info.cpp:569
msgid "in the form \"<name> <value>\""
-msgstr ""
+msgstr "na forma \"<nome> <valor>\""
#: common/config.cpp:74
-#, fuzzy
msgid "string"
-msgstr "String vazia."
+msgstr "texto"
#: common/config.cpp:74
msgid "integer"
-msgstr ""
+msgstr "inteiro"
#: common/config.cpp:74
msgid "boolean"
-msgstr ""
+msgstr "booleano"
#: common/config.cpp:74
msgid "list"
-msgstr ""
+msgstr "lista"
#. TRANSLATORS: "true" and "false" are literal
#. * values and should not be translated.
#: common/config.cpp:978
msgid "either \"true\" or \"false\""
-msgstr ""
+msgstr "tanto \"true\" ou \"false\""
#: common/config.cpp:997
msgid "a positive integer"
-msgstr ""
+msgstr "um inteiro positivo"
#: common/config.cpp:1125
msgid "# default: "
-msgstr ""
+msgstr "# padrão: "
#: common/config.cpp:1188
#, c-format
"# configured as follows:\n"
"\n"
msgstr ""
+"\n"
+"#######################################################################\n"
+"#\n"
+"# Filtro: %s\n"
+"# %s\n"
+"#\n"
+"# foi configurado deste modo:\n"
+"\n"
#: common/config.cpp:1286
msgid "ASPELL_CONF env var"
-msgstr ""
+msgstr "ASPELL_CONF env var"
-#. TRANSLATORS: The remaing strings in config.cpp should be kept
+#. TRANSLATORS: The remaining strings in config.cpp should be kept
#. under 50 characters, begin with a lower case character and not
#. include any trailing punctuation marks.
#: common/config.cpp:1360
msgid "main configuration file"
-msgstr "arquivo de configuração principal"
+msgstr "arquivo de configuração principal"
#: common/config.cpp:1362
msgid "location of main configuration file"
-msgstr "local do arquivo de configuração principal"
+msgstr "local do arquivo de configuração principal"
#: common/config.cpp:1365
msgid "location of language data files"
msgstr "local dos arquivos de idiomas"
#: common/config.cpp:1367
-#, fuzzy
msgid "create dictionary aliases"
-msgstr "arquivo de dicionário pessoal"
+msgstr "criar apelidos de dicionário"
#: common/config.cpp:1369
msgid "location of the main word list"
-msgstr "local do vocabulário principal"
+msgstr "local do vocabulário principal"
#: common/config.cpp:1371
msgid "encoding to expect data to be in"
-msgstr "codificação de entrada"
+msgstr "codificação de entrada"
#: common/config.cpp:1373
msgid "add or removes a filter"
msgstr "adiciona ou remove um filtro"
#: common/config.cpp:1375
-#, fuzzy
msgid "path(s) aspell looks for filters"
-msgstr "caminho(s) de busca por filtros"
+msgstr "caminho(s) para aspell buscar filtros"
#: common/config.cpp:1379
-#, fuzzy
msgid "filter mode"
-msgstr "entrar no modo TeX."
+msgstr "modo filtro"
#: common/config.cpp:1381
msgid "extra dictionaries to use"
-msgstr "dicionários adicionais"
+msgstr "dicionários adicionais"
#: common/config.cpp:1383
msgid "location for personal files"
#. TRANSLATORS: It is OK if this is longer than 50 chars
#: common/config.cpp:1388
-#, fuzzy
msgid "ignore accents when checking words -- CURRENTLY IGNORED"
-msgstr "ignorar acentuação ao verificar palavras"
+msgstr "ignorar acentuação ao verificar palavras -- ATUALMENTE IGNORADO"
#: common/config.cpp:1390
msgid "ignore case when checking words"
#: common/config.cpp:1392
msgid "ignore commands to store replacement pairs"
-msgstr "ignorar comandos de substituição"
+msgstr "ignorar comandos de substituição"
#: common/config.cpp:1394 common/config.cpp:1461
msgid "extra information for the word list"
-msgstr "informação extra para o vocabulário"
+msgstr "informação extra para o vocabulário"
#: common/config.cpp:1396
msgid "keyboard definition to use for typo analysis"
-msgstr "definição de teclado para uso em analise tipográfica"
+msgstr "definição de teclado para uso em analise tipográfica"
#: common/config.cpp:1398
msgid "language code"
-msgstr "codificação do idioma"
+msgstr "código do idioma"
#: common/config.cpp:1400
msgid "deprecated, use lang instead"
#: common/config.cpp:1402
msgid "location of local language data files"
-msgstr "localização do "
+msgstr "localização do "
#: common/config.cpp:1404
msgid "base name of the main dictionary to use"
-msgstr "nome do dicionário principal"
+msgstr "nome do dicionário principal"
#: common/config.cpp:1408
msgid "set module name"
-msgstr "definir nome do módulo"
+msgstr "definir nome do módulo"
#: common/config.cpp:1410
msgid "search order for modules"
-msgstr "ordem de busca por módulos"
+msgstr "ordem de busca por módulos"
#: common/config.cpp:1412
msgid "enable Unicode normalization"
-msgstr ""
+msgstr "habilitar normalização Unicode"
#: common/config.cpp:1414
msgid "Unicode normalization required for current lang"
-msgstr ""
+msgstr "É necessária normalização Unicode para o idioma atual"
#. TRANSLATORS: the values after the ':' are literal
#. values and should not be translated.
#: common/config.cpp:1418
msgid "Unicode normalization form: none, nfd, nfc, comp"
-msgstr ""
+msgstr "Forma de normalização Unicode: none, nfd, nfc, comp"
#: common/config.cpp:1420
msgid "avoid lossy conversions when normalization"
-msgstr ""
+msgstr "evitar conversões com perdas na normalização"
#: common/config.cpp:1422
msgid "personal configuration file"
-msgstr "arquivo de configuração pessoal"
+msgstr "arquivo de configuração pessoal"
#: common/config.cpp:1425
msgid "personal dictionary file name"
-msgstr "arquivo de dicionário pessoal"
+msgstr "arquivo de dicionário pessoal"
#: common/config.cpp:1428
msgid "prefix directory"
-msgstr "prefixo do diretório"
+msgstr "prefixo do diretório"
#: common/config.cpp:1430
msgid "replacements list file name"
-msgstr "arquivos de substituição"
+msgstr "arquivos de substituição"
#: common/config.cpp:1433
msgid "consider run-together words legal"
-msgstr "considerar palavras aglutindas como válidas"
+msgstr "considerar palavras aglutindas como válidas"
#: common/config.cpp:1435
-#, fuzzy
msgid "maximum number that can be strung together"
-msgstr "número máximo quem podem ser aglutinadas"
+msgstr "número máximo quem podem ser colocadas juntas"
#: common/config.cpp:1437
msgid "minimal length of interior words"
-msgstr "tamanho mínimo de palavras interior"
+msgstr "tamanho mínimo de palavras interior"
#: common/config.cpp:1439
msgid "save replacement pairs on save all"
-msgstr "salvar substituições no comando «save all»"
+msgstr "salvar substituições quando for comando \"save all\""
#: common/config.cpp:1441
msgid "set the prefix based on executable location"
-msgstr "definir o prefixo baseado na localização do executável"
+msgstr "definir o prefixo baseado na localização do executável"
#: common/config.cpp:1443
msgid "size of the word list"
-msgstr "tamanho do vocabulário"
+msgstr "tamanho do vocabulário"
#: common/config.cpp:1445
msgid "no longer used"
-msgstr "não mais usado"
+msgstr "não mais usado"
#: common/config.cpp:1447
msgid "suggestion mode"
-msgstr "modo de sugestão"
+msgstr "modo de sugestão"
#. TRANSLATORS: "sug-mode" is a literal value and should not be
#. translated.
#: common/config.cpp:1451
msgid "edit distance to use, override sug-mode default"
-msgstr ""
+msgstr "editar a distância a ser usada, sobrescrevendo o padrão \"sug-mode\""
#: common/config.cpp:1453
msgid "use typo analysis, override sug-mode default"
-msgstr ""
+msgstr "usar análise de erro de digitação, sobrescrevendo o padrão \"sug-mode\""
#: common/config.cpp:1455
msgid "use replacement tables, override sug-mode default"
-msgstr ""
+msgstr "usar tabelas de substituição, sobrescrevendo o padrão \"sug-mode\""
#: common/config.cpp:1457
msgid "characters to insert when a word is split"
-msgstr "caracteres a inserir quando a palavra é dividida"
+msgstr "caracteres a inserir quando a palavra é dividida"
#: common/config.cpp:1459
msgid "use personal, replacement & session dictionaries"
-msgstr ""
+msgstr "usar dicionários pessoais, de substituição & sessão."
#: common/config.cpp:1463
msgid "search path for word list information files"
-msgstr "caminho de busca pelos arquivos de informação"
+msgstr "caminho de busca pelos arquivos de informação"
#: common/config.cpp:1465
msgid "enable warnings"
-msgstr ""
+msgstr "habilitar alertas"
#. TRANSLATORS: It is OK if this is longer than 50 chars
#: common/config.cpp:1475
msgid "indicator for affix flags in word lists -- CURRENTLY IGNORED"
-msgstr ""
+msgstr "indicador para sinais de afixo em listas de palavras -- ATUALMENTE IGNORADO"
#: common/config.cpp:1477
msgid "use affix compression when creating dictionaries"
-msgstr ""
+msgstr "usar compressão de afixos ao criar dicionários"
#: common/config.cpp:1479
msgid "remove invalid affix flags"
-msgstr ""
+msgstr "remover sinais inválidos de afixos"
#: common/config.cpp:1481
msgid "attempts to clean words so that they are valid"
-msgstr ""
+msgstr "tentar limpar palavras para que se tornem válidas"
#: common/config.cpp:1483
msgid "compute soundslike on demand rather than storing"
-msgstr ""
+msgstr "computar pronúncia sob demanda ao invés de armazená-la"
#: common/config.cpp:1485
msgid "partially expand affixes for better suggestions"
-msgstr ""
+msgstr "expandir parcialmente afixos para sugestões melhores"
#: common/config.cpp:1487
msgid "skip invalid words"
-msgstr ""
+msgstr "ignorar palavras inválidas"
#: common/config.cpp:1489
msgid "check if affix flags are valid"
-msgstr ""
+msgstr "verifica se sinais de afixo são válidos"
#: common/config.cpp:1491
msgid "check if words are valid"
-msgstr ""
+msgstr "verificar se palavras são válidas"
#: common/config.cpp:1498
msgid "create a backup file by appending \".bak\""
-msgstr "criar arquivo de backup com extensão «.bak»"
+msgstr "criar arquivo de backup acrescentando extensão \".bak\""
#: common/config.cpp:1500
msgid "use byte offsets instead of character offsets"
-msgstr ""
+msgstr "deslocamentos de bytes ao invés de caracteres"
#: common/config.cpp:1502
msgid "create missing root/affix combinations"
-msgstr ""
+msgstr "criar combinações raiz/afixo em falta"
#: common/config.cpp:1504
msgid "keymapping for check mode: \"aspell\" or \"ispell\""
-msgstr ""
+msgstr "mapa de tecla p/ verificação: \"aspell\" ou \"ispell\""
#: common/config.cpp:1506
msgid "reverse the order of the suggest list"
-msgstr "inverter ordem da lista de sugestões"
+msgstr "inverter ordem da lista de sugestões"
#: common/config.cpp:1508
msgid "suggest possible replacements"
-msgstr "sugerir substituições possíveis"
+msgstr "sugerir substituições possíveis"
#: common/config.cpp:1510
msgid "time load time and suggest time in pipe mode"
-msgstr ""
+msgstr "tempo de carregamento e sugestão em modo pipe"
-#: common/convert.cpp:303 common/convert.cpp:429
+#: common/convert.cpp:303 common/convert.cpp:497
#, c-format
-msgid ""
-"This could also mean that the file \"%s\" could not be opened for reading or "
-"does not exist."
-msgstr ""
+msgid "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
+msgstr "Isto também pode significar que o arquivo \"%s\" não pode ser aberto para leitura ou não existe."
-#: common/convert.cpp:552 common/convert.cpp:659 common/convert.cpp:705
-#, fuzzy, c-format
+#: common/convert.cpp:582 common/convert.cpp:689 common/convert.cpp:735
+#, c-format
msgid "The Unicode code point U+%04X is unsupported."
-msgstr "Codificação \"%encod:1\" não suportada."
+msgstr "O ponto de código Unicode U+%04X não é suportado."
-#: common/convert.cpp:829
+#: common/convert.cpp:859
#, c-format
msgid "Invalid UTF-8 sequence at position %ld."
-msgstr ""
+msgstr "Sequência UTF-8 inválida na posição %ld."
#: common/errors.cpp:27
msgid "Operation Not Supported: %what:1"
-msgstr ""
+msgstr "Não há suporte à operação: %what:1"
#: common/errors.cpp:43
msgid "The method \"%what:1\" is unimplemented in \"%where:2\"."
-msgstr ""
+msgstr "O método \"%what:1\" não está implementado em \"%where:2\"."
#: common/errors.cpp:51
#, c-format
#: common/errors.cpp:59
#, c-format
msgid "The file \"%file:1\" can not be opened"
-msgstr "O arquivo \"%file:1\" não pode ser aberto"
+msgstr "O arquivo \"%file:1\" não pode ser aberto"
#: common/errors.cpp:67
#, c-format
msgid "The file \"%file:1\" can not be opened for reading."
-msgstr "O arquivo \"%file:1\" não pode ser aberto para leitura."
+msgstr "O arquivo \"%file:1\" não pode ser aberto para leitura."
#: common/errors.cpp:75
#, c-format
msgid "The file \"%file:1\" can not be opened for writing."
-msgstr "O arquivo \"%file:1\" não pode ser aberto para escrita."
+msgstr "O arquivo \"%file:1\" não pode ser aberto para escrita."
#: common/errors.cpp:83
#, c-format
msgid "The file name \"%file:1\" is invalid."
-msgstr "O nome de arquivo \"%file:1\" é inválido."
+msgstr "O nome de arquivo \"%file:1\" é inválido."
#: common/errors.cpp:91
#, c-format
msgid "The file \"%file:1\" is not in the proper format."
-msgstr "O arquivo \"%file:1\" não está no formato apropriado."
+msgstr "O arquivo \"%file:1\" não está no formato apropriado."
#: common/errors.cpp:107
#, c-format
msgid "The directory \"%dir:1\" can not be opened for reading."
-msgstr "O diretório \"%dir:1\" não pode ser aberto para leitura."
+msgstr "O diretório \"%dir:1\" não pode ser aberto para leitura."
#: common/errors.cpp:123
msgid "The key \"%key:1\" is unknown."
-msgstr "A chave \"%key:1\" é desconhecida."
+msgstr "A chave \"%key:1\" é desconhecida."
#: common/errors.cpp:131
msgid "The value for option \"%key:1\" can not be changed."
-msgstr "O valor para opção \"%key:1\" não pode ser aberto."
+msgstr "O valor para opção \"%key:1\" não pode ser aberto."
#: common/errors.cpp:139
msgid "The key \"%key:1\" is not %accepted:2 and is thus invalid."
-msgstr "A chave \"%key:1\" não é %accepted:2 e não é válida."
+msgstr "A chave \"%key:1\" não é %accepted:2 e não é válida."
#: common/errors.cpp:147
-msgid ""
-"The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%"
-"key:1\"."
-msgstr ""
-"O valor \"%value:2\" não é %accepted:3 e não é válido para a chave \"%key:1"
-"\"."
+msgid "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
+msgstr "O valor \"%value:2\" não é %accepted:3 e não é válido para a chave \"%key:1\"."
#: common/errors.cpp:163
-#, fuzzy
msgid "The key \"%key:1\" is not a string."
-msgstr "A chave \"%key:1\" é desconhecida."
+msgstr "A chave \"%key:1\" não é uma string."
#: common/errors.cpp:171
-#, fuzzy
msgid "The key \"%key:1\" is not an integer."
-msgstr "A chave \"%key:1\" é desconhecida."
+msgstr "A chave \"%key:1\" não é um inteiro."
#: common/errors.cpp:179
-#, fuzzy
msgid "The key \"%key:1\" is not a boolean."
-msgstr "A chave \"%key:1\" é desconhecida."
+msgstr "A chave \"%key:1\" não é um booleano."
#: common/errors.cpp:187
-#, fuzzy
msgid "The key \"%key:1\" is not a list."
-msgstr "A chave \"%key:1\" é desconhecida."
+msgstr "A chave \"%key:1\" não é uma lista."
#: common/errors.cpp:195
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"reset-"
-"\"."
-msgstr ""
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
+msgstr "A chave \"%key:1\" não leva parãmetros quando prefixada por um \"reset-\"."
#: common/errors.cpp:203
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by an \"enable-"
-"\"."
-msgstr ""
+msgid "The key \"%key:1\" does not take any parameters when prefixed by an \"enable-\"."
+msgstr "A chave \"%key:1\" não leva parãmetros quando prefixada por um \"enable-\"."
#: common/errors.cpp:211
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" "
-"or \"disable-\"."
-msgstr ""
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
+msgstr "A chave \"%key:1\" não leva parãmetros quando prefixada por um \"dont-\" ou \"disable-\"."
#: common/errors.cpp:219
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"clear-"
-"\"."
-msgstr ""
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
+msgstr "A chave \"%key:1\" não leva parãmetros quando prefixada por um \"clear-\"."
#: common/errors.cpp:235
#, c-format
msgid "The language \"%lang:1\" is not known."
-msgstr "O idioma \"%lang:1\" é desconhecido."
+msgstr "O idioma \"%lang:1\" é desconhecido."
#: common/errors.cpp:243
#, c-format
msgid "The soundslike \"%sl:2\" is not known."
-msgstr "O código \"%sl:2\" é desconhecido"
+msgstr "A pronúncia \"%sl:2\" é desconhecida."
#: common/errors.cpp:251
#, c-format
msgid "The language \"%lang:1\" is not supported."
-msgstr "O idioma \"%lang:1\" não é suportado."
+msgstr "O idioma \"%lang:1\" não é suportado."
#: common/errors.cpp:259
#, c-format
msgid "No word lists can be found for the language \"%lang:1\"."
-msgstr "Nenhum vocabulário foi localizado para o idioma \"%lang:1\"."
+msgstr "Nenhum vocabulário foi localizado para o idioma \"%lang:1\"."
#: common/errors.cpp:267
#, c-format
#: common/errors.cpp:283
#, c-format
msgid "Affix '%aff:1' is corrupt."
-msgstr ""
+msgstr "Afixo '%aff:1' está corrompido."
#: common/errors.cpp:291
-#, fuzzy, c-format
+#, c-format
msgid "The condition \"%cond:1\" is invalid."
-msgstr "A palavra \"%word:1\" é inválida."
+msgstr "A condição \"%cond:1\" é inválida."
#: common/errors.cpp:299
#, c-format
-msgid ""
-"The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be "
-"stripped."
-msgstr ""
+msgid "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
+msgstr "A condição \"%cond:1\" não garante que \"%strip:2\" sempre possa ser eliminada."
#: common/errors.cpp:307
-#, fuzzy, c-format
-msgid ""
-"The file \"%file:1\" is not in the proper format. Expected the file to be in "
-"\"%exp:2\" not \"%got:3\"."
-msgstr "O arquivo \"%file:1\" não está no formato apropriado."
+#, c-format
+msgid "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
+msgstr "O arquivo \"%file:1\" não está no formato apropriado. Esperava-se o arquivo estar em \"%exp:2\" e não em \"%got:3\"."
#: common/errors.cpp:323
#, c-format
msgid "The encoding \"%encod:1\" is not known."
-msgstr "Codificação \"%encod:1\" desconhecida."
+msgstr "Codificação \"%encod:1\" desconhecida."
#: common/errors.cpp:331
#, c-format
msgid "The encoding \"%encod:1\" is not supported."
-msgstr "Codificação \"%encod:1\" não suportada."
+msgstr "Codificação \"%encod:1\" não suportada."
#: common/errors.cpp:339
#, c-format
msgid "The conversion from \"%encod:1\" to \"%encod2:2\" is not supported."
-msgstr "Conversão de \"%encod:1\" para \"%encod2:2\" não suportada."
+msgstr "Conversão de \"%encod:1\" para \"%encod2:2\" não suportada."
#: common/errors.cpp:379
-#, fuzzy, c-format
+#, c-format
msgid "The string \"%str:1\" is invalid."
-msgstr "A palavra \"%word:1\" é inválida."
+msgstr "A string \"%str:1\" é inválida."
#: common/errors.cpp:387
msgid "The word \"%word:1\" is invalid."
-msgstr "A palavra \"%word:1\" é inválida."
+msgstr "A palavra \"%word:1\" é inválida."
#: common/errors.cpp:395
msgid "The affix flag '%aff:1' is invalid for word \"%word:2\"."
-msgstr ""
+msgstr "O sinal de afixo '%aff:1' é inválido para a palavra \"%word:2\"."
#: common/errors.cpp:403
-#, fuzzy
msgid "The affix flag '%aff:1' can not be applied to word \"%word:2\"."
-msgstr "O arquivo \"%file:1\" não pode ser aberto para leitura."
+msgstr "O sinal de afixo '%aff:1' não pode ser aplicado à palavra \"%word:2\"."
#: common/errors.cpp:451
msgid "not a version number"
-msgstr ""
+msgstr "não é um número de versão"
#: common/errors.cpp:467
-#, fuzzy
msgid "dlopen returned \"%return:1\"."
-msgstr "%where:1: \"%filter:2\" dlopen retornou \"%return:3\"."
+msgstr "dlopen retornou \"%return:1\"."
#: common/errors.cpp:475
-#, fuzzy, c-format
+#, c-format
msgid "The file \"%filter:1\" does not contain any filters."
-msgstr "%where:1: O arquivo \"%filter:2\" não contém filtros."
+msgstr "O arquivo \"%filter:1\" não contém nenhum filtro."
#: common/errors.cpp:483
-#, fuzzy, c-format
+#, c-format
msgid "The filter \"%filter:1\" does not exist."
-msgstr "O arquivo \"%file:1\" não pode ser aberto"
+msgstr "O filtro \"%filter:1\" não existe."
#: common/errors.cpp:491 common/errors.cpp:587
msgid "Confused by version control."
-msgstr ""
+msgstr "Confundido pelo controle de versão."
#: common/errors.cpp:499
-#, fuzzy
msgid "Aspell version does not match filter's requirement."
-msgstr ""
-"%where:1: \"%filter:2\": Linha %line:3 A versão do Aspell não atende às "
-"necessidades do filtro."
+msgstr "A versão do Aspell não atende às necessidades do filtro."
#: common/errors.cpp:507
-#, fuzzy
msgid "Filter option already exists."
-msgstr "%where:1: \"%filter:2\" Line %line:3 Opção do filtro já existe."
+msgstr "Esta opção de filtro já existe."
#: common/errors.cpp:515
-#, fuzzy
msgid "Use option modifiers only within named option."
-msgstr ""
-"%where:1: \"%filter:2\" %line:3 Use modificadores de opções apenas em opções "
-"nomeadas."
+msgstr "Use modificadores de opções apenas em opções nomeadas."
#: common/errors.cpp:523
-#, fuzzy
msgid "Option modifier unknown."
-msgstr "%where:1: \"%filter:2\" %line:3 Modificador de opção desconhecido."
+msgstr "Modificador de opção desconhecido."
#: common/errors.cpp:531
-#, fuzzy
msgid "Error setting filter description."
-msgstr "%where:1: \"%filter:2\" erro configurando descrição do filtro."
+msgstr "Ocorreu erro ao definir a descrição do filtro."
#: common/errors.cpp:547
msgid "Empty option specifier."
-msgstr ""
+msgstr "Especificador de opção vazio."
#: common/errors.cpp:555
#, c-format
msgid "Option \"%option:1\" possibly specified prior to filter."
-msgstr ""
+msgstr "Possivelmente a opção \"%option:1\" foi especificada antes que o filtro."
#: common/errors.cpp:563
msgid "Unknown mode description key \"%key:1\"."
-msgstr ""
+msgstr "A chave de descrição \"%key:1\" possui modo desconhecido."
#: common/errors.cpp:571
#, c-format
msgid "Expecting \"%modekey:1\" key."
-msgstr ""
+msgstr "Espera-se chave \"%modekey:1\"."
#: common/errors.cpp:579
msgid "Version specifier missing key: \"aspell\"."
-msgstr ""
+msgstr "Falta chave especificador da versão: \"aspell\"."
#: common/errors.cpp:595
-#, fuzzy
msgid "Aspell version does not match mode's requirement."
-msgstr ""
-"%where:1: \"%filter:2\": Linha %line:3 A versão do Aspell não atende às "
-"necessidades do filtro."
+msgstr "A versão do Aspell não atende às necessidades do modo."
#: common/errors.cpp:603
msgid "Missing magic mode expression."
-msgstr ""
+msgstr "Falta a expressão de modo mágico."
#: common/errors.cpp:611
#, c-format
msgid "Empty extension at char %char:1."
-msgstr ""
+msgstr "Extensão vazia no caractere %char:1."
#: common/errors.cpp:619
#, c-format
msgid "\"%mode:1\" error"
-msgstr ""
+msgstr "erro \"%mode:1\""
#: common/errors.cpp:627
#, c-format
msgid "Unknown mode: \"%mode:1\"."
-msgstr ""
+msgstr "Modo desconhecito: \"%mode:1\"."
#: common/errors.cpp:635
-#, fuzzy, c-format
+#, c-format
msgid "\"%mode:1\" error while extend Aspell modes. (out of memory?)"
-msgstr ""
-"%where:1: \"%filter:2\" erro ao estender opções do Aspell. (out of memory?)"
+msgstr "erro \"%mode:1\" ao estender módulos do Aspell. (sem memória?)"
#: common/errors.cpp:651
#, c-format
msgid "\"%mode:1\": no start for magic search given for magic \"%magic:2\"."
-msgstr ""
+msgstr "\"%mode:1\": nenhum começo para a pesquisa mágica fornecida pela mágica \"%magic:2\"."
#: common/errors.cpp:659
#, c-format
msgid "\"%mode:1\": no range for magic search given for magic \"%magic:2\"."
-msgstr ""
+msgstr "\"%mode:1\": nenhum intervalo para a pesquisa mágica fornecida pela mágica \"%magic:2\"."
#: common/errors.cpp:667
#, c-format
msgid "\"%mode:1\": no magic expression available for magic \"%magic:2\"."
-msgstr ""
+msgstr "\"%mode:1\": nenhuma expressão mágica disponível para a mágica \"%magic:2\"."
#: common/errors.cpp:675
-msgid ""
-"\"%mode:1\": Magic \"%magic:2\": bad regular expression after location "
-"specifier; regexp reports: \"%regerr:3\"."
-msgstr ""
+msgid "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
+msgstr "\"%mode:1\": Mágica \"%magic:2\": expressão regular ruim após especificador de local; regexp informa: \"%regerr:3\"."
#: common/errors.cpp:691
-#, fuzzy, c-format
+#, c-format
msgid "\"%expression:1\" is not a valid regular expression."
-msgstr "%action:1: `%expression:2' não é uma expressão válida."
+msgstr "\"%expression:1\" não é uma expressão regular válida."
#: common/posib_err.cpp:100
msgid "Unhandled Error: "
-msgstr "Erro não previsto: "
+msgstr "Erro não previsto: "
-#: prog/aspell.cpp:97
-#, fuzzy, c-format
+#: prog/aspell.cpp:98
+#, c-format
msgid "Error: %s\n"
-msgstr "Erro: "
+msgstr "Erro: %s\n"
-#: prog/aspell.cpp:102
+#: prog/aspell.cpp:103
msgid "Error: "
msgstr "Erro: "
-#: prog/aspell.cpp:203
+#: prog/aspell.cpp:204
msgid "enter Email mode."
msgstr "entrar no modo Email."
-#: prog/aspell.cpp:204
-#, fuzzy
+#: prog/aspell.cpp:205
msgid "enter HTML mode."
-msgstr "entrar no modo TeX."
+msgstr "entrar no modo HTML."
-#: prog/aspell.cpp:205
+#: prog/aspell.cpp:206
msgid "enter TeX mode."
msgstr "entrar no modo TeX."
-#: prog/aspell.cpp:206
-#, fuzzy
+#: prog/aspell.cpp:207
msgid "enter Nroff mode."
-msgstr "entrar no modo TeX."
+msgstr "entrar no modo Nroff."
-#: prog/aspell.cpp:312
+#: prog/aspell.cpp:313
#, c-format
msgid "Invalid Option: %s"
-msgstr "Opção Inválida: %s"
+msgstr "Opção Inválida: %s"
-#: prog/aspell.cpp:319
+#: prog/aspell.cpp:320
msgid " does not take any parameters."
-msgstr " não recebe nenhum parametro."
+msgstr " não recebe nenhum parametro."
-#: prog/aspell.cpp:332 prog/aspell.cpp:392
-#, fuzzy, c-format
+#: prog/aspell.cpp:333 prog/aspell.cpp:393
+#, c-format
msgid "You must specify a parameter for \"%s\"."
-msgstr "É necessário especificar um parêmtro para %s"
+msgstr "Você deve especificar um parâmetro para \"%s\"."
-#: prog/aspell.cpp:381
+#: prog/aspell.cpp:382
msgid "You must specify an action"
-msgstr "É necessário especificar um ação"
+msgstr "É necessário especificar um ação"
-#: prog/aspell.cpp:389 prog/aspell.cpp:452 prog/aspell.cpp:474
+#: prog/aspell.cpp:390 prog/aspell.cpp:453 prog/aspell.cpp:475
#, c-format
msgid "Unknown Action: %s"
-msgstr "Ação Desconhecida: %s"
+msgstr "Ação Desconhecida: %s"
-#: prog/aspell.cpp:395
-#, fuzzy, c-format
+#: prog/aspell.cpp:396
+#, c-format
msgid "Error: You must specify at least %d parameters for \"%s\".\n"
-msgstr "É necessário especificar um parêmtro para %s"
+msgstr "Erro: Você deve especificar ao menos %d parâmetros para \"%s\".\n"
-#: prog/aspell.cpp:637
+#: prog/aspell.cpp:638
msgid "Invalid Input"
-msgstr "Entrada Inválida"
+msgstr "Entrada Inválida"
-#: prog/aspell.cpp:710
+#: prog/aspell.cpp:711
#, c-format
msgid "WARNING: Unable to enter Nroff mode: %s\n"
-msgstr ""
+msgstr "ALERTA: Não é possível entrar no modo Nroff: %s\n"
-#: prog/aspell.cpp:731
+#: prog/aspell.cpp:732
msgid "Time to load word list: "
-msgstr "Carregar vocabulário"
+msgstr "Carregar vocabulário"
-#: prog/aspell.cpp:929
-#, fuzzy, c-format
+#: prog/aspell.cpp:930
+#, c-format
msgid "Suggestion Time: %f\n"
-msgstr "Sugestão:"
+msgstr "Tempo da sugestão: %f\n"
-#: prog/aspell.cpp:972
+#: prog/aspell.cpp:973
msgid "You must specify a file name."
msgstr "Especifique o nome do arquivo."
-#: prog/aspell.cpp:975
+#: prog/aspell.cpp:976
msgid "Only one file name may be specified."
-msgstr ""
+msgstr "Apenas um nome de arquivo deve ser especificado."
-#: prog/aspell.cpp:985
+#: prog/aspell.cpp:986
#, c-format
msgid "Could not open the file \"%s\" for reading"
-msgstr "Impossível abrir o arquivo \"%s\" para leitura"
+msgstr "Impossível abrir o arquivo \"%s\" para leitura"
-#: prog/aspell.cpp:998
+#: prog/aspell.cpp:999
#, c-format
msgid "Invalid keymapping: %s"
-msgstr "Mapa de teclado inválido: %s"
+msgstr "Mapa de teclado inválido: %s"
-#: prog/aspell.cpp:1020
+#: prog/aspell.cpp:1014
#, fuzzy, c-format
+#| msgid "\"%expression:1\" is not a valid regular expression."
+msgid "\"%s\" is not a regular file"
+msgstr "\"%expression:1\" não é uma expressão regular válida."
+
+#: prog/aspell.cpp:1025
+#, c-format
msgid "Could not open the file \"%s\" for writing. File not saved."
-msgstr "Impossível abrir o arquivo \"%s\" para escrita. Arquivo não foi salvo."
+msgstr "Impossível abrir arquivo \"%s\" para gravar. Não salvo."
-#: prog/aspell.cpp:1033
+#: prog/aspell.cpp:1038
msgid "Ignore"
msgstr "Ignorar"
-#: prog/aspell.cpp:1034
+#: prog/aspell.cpp:1039
msgid "Ignore all"
msgstr "Ignorar todos"
-#: prog/aspell.cpp:1035
+#: prog/aspell.cpp:1040
msgid "Replace"
msgstr "Substituir"
-#: prog/aspell.cpp:1036
+#: prog/aspell.cpp:1041
msgid "Replace all"
msgstr "Substituir todos"
-#: prog/aspell.cpp:1037
+#: prog/aspell.cpp:1042
msgid "Add"
msgstr "Adicionar"
-#: prog/aspell.cpp:1038
+#: prog/aspell.cpp:1043
msgid "Add Lower"
-msgstr "Adicionar minúsculas"
+msgstr "Adicionar minúsculas"
-#: prog/aspell.cpp:1039
+#: prog/aspell.cpp:1044
msgid "Abort"
msgstr "Abortar"
-#: prog/aspell.cpp:1040
+#: prog/aspell.cpp:1045
msgid "Exit"
msgstr "Sair"
-#: prog/aspell.cpp:1116
-#, fuzzy
+#: prog/aspell.cpp:1121
msgid "Are you sure you want to abort (y/n)? "
-msgstr "Tem certeza que deseja abortar? "
+msgstr "Você tem certeza de que deseja cancelar (s/n)?"
#. TRANSLATORS: The user may input any of these characters to say "yes".
#. MUST ONLY CONSIST OF ASCII CHARACTERS.
-#: prog/aspell.cpp:1120
+#: prog/aspell.cpp:1125
msgid "Yy"
-msgstr ""
+msgstr "SsYy"
-#: prog/aspell.cpp:1148
+#: prog/aspell.cpp:1153
msgid "With: "
msgstr "Com: "
-#: prog/aspell.cpp:1165
+#: prog/aspell.cpp:1170
msgid "Sorry that is an invalid choice!"
-msgstr "A seleção não é válida!"
+msgstr "A seleção não é válida!"
-#: prog/aspell.cpp:1386
+#: prog/aspell.cpp:1391
msgid "Sorry \"filter\" is currently unimplemented.\n"
-msgstr "Filtro não implementado.\n"
+msgstr "Filtro não implementado.\n"
-#: prog/aspell.cpp:1520
+#: prog/aspell.cpp:1525
msgid "Can't merge a master word list yet. Sorry."
-msgstr "Impossível meclar um vocabulário principal."
+msgstr "Impossível meclar um vocabulário principal."
-#: prog/aspell.cpp:1544
+#: prog/aspell.cpp:1549
msgid "Sorry \"create/merge personal\" is currently unimplemented.\n"
-msgstr ""
+msgstr "Perdão, \"create/merge personal\" não implementado ainda.\n"
-#: prog/aspell.cpp:1553 prog/aspell.cpp:1609
+#: prog/aspell.cpp:1558 prog/aspell.cpp:1614
#, c-format
msgid "Sorry I won't overwrite \"%s\""
-msgstr ""
+msgstr "Perdão, não sobrescreverei \"%s\""
-#: prog/aspell.cpp:1600
+#: prog/aspell.cpp:1605
msgid "Sorry \"create/merge repl\" is currently unimplemented.\n"
-msgstr ""
+msgstr "Perdão, \"create/merge repl\" não implementado ainda.\n"
-#: prog/aspell.cpp:1872
+#: prog/aspell.cpp:1877
#, c-format
msgid "\"%s\" is not a valid flag for the \"munch-list\" command."
-msgstr ""
+msgstr "\"%s\" não é um sinal válido para o comando \"munch-list\"."
#. TRANSLATORS: These should all be formated to fit in 80 column or
#. less
-#: prog/aspell.cpp:2799
+#: prog/aspell.cpp:2804
msgid "Usage: aspell [options] <command>"
-msgstr ""
+msgstr "Uso: aspell [opções] <comando>"
-#: prog/aspell.cpp:2800
+#: prog/aspell.cpp:2805
msgid "<command> is one of:"
-msgstr ""
+msgstr "<comando> é um de:"
-#: prog/aspell.cpp:2801
+#: prog/aspell.cpp:2806
msgid " -?|usage display a brief usage message"
-msgstr ""
+msgstr " -?|usage exibe uma breve mensagem de uso"
-#: prog/aspell.cpp:2802
+#: prog/aspell.cpp:2807
msgid " help display a detailed help message"
-msgstr ""
+msgstr " help exibe uma mensagem detalhada de ajuda"
-#: prog/aspell.cpp:2803
+#: prog/aspell.cpp:2808
msgid " -c|check <file> to check a file"
-msgstr ""
+msgstr " -c|check <arquivo> para verificar um arquivo"
-#: prog/aspell.cpp:2804
+#: prog/aspell.cpp:2809
msgid " -a|pipe \"ispell -a\" compatibility mode"
-msgstr ""
+msgstr " -a|pipe \"ispell -a\" modo de compatibilidade"
-#: prog/aspell.cpp:2805
+#: prog/aspell.cpp:2810
msgid " [dump] config dumps the current configuration to stdout"
-msgstr ""
+msgstr " [dump] config despeja a configuração atual à saída padrão stdout"
-#: prog/aspell.cpp:2806
+#: prog/aspell.cpp:2811
msgid " config <key> prints the current value of an option"
-msgstr ""
+msgstr " config <chave> exibe o valor atual de uma opção"
-#: prog/aspell.cpp:2807
+#: prog/aspell.cpp:2812
msgid " [dump] dicts | filters | modes"
-msgstr ""
+msgstr " [dump] dicio | filtros | modos"
-#: prog/aspell.cpp:2808
+#: prog/aspell.cpp:2813
msgid " lists available dictionaries / filters / filter modes"
-msgstr ""
+msgstr " listas dicionários disponíveis / filtros / modos de filtros"
-#: prog/aspell.cpp:2809
+#: prog/aspell.cpp:2814
msgid "[options] is any of the following:"
-msgstr ""
+msgstr "[opções] é quaisquer uma das seguintes:"
-#: prog/aspell.cpp:2822
-msgid ""
-" list produce a list of misspelled words from standard input"
-msgstr ""
+#: prog/aspell.cpp:2827
+msgid " list produce a list of misspelled words from standard input"
+msgstr " list produz uma lista de palavras escritas erradas na saída padrão"
-#: prog/aspell.cpp:2825
-msgid ""
-" soundslike returns the sounds like equivalent for each word entered"
-msgstr ""
+#: prog/aspell.cpp:2830
+msgid " soundslike returns the sounds like equivalent for each word entered"
+msgstr " soundslike retorna o equivalente de pronúncia para cada palavra digitada"
-#: prog/aspell.cpp:2826
+#: prog/aspell.cpp:2831
msgid " munch generate possible root words and affixes"
-msgstr ""
+msgstr " munch cria as possíveis raízes e afixos da palavra"
-#: prog/aspell.cpp:2827
+#: prog/aspell.cpp:2832
msgid " expand [1-4] expands affix flags"
-msgstr ""
+msgstr " expand [1-4] expande sinais de afixos"
-#: prog/aspell.cpp:2828
-msgid ""
-" clean [strict] cleans a word list so that every line is a valid word"
-msgstr ""
+#: prog/aspell.cpp:2833
+msgid " clean [strict] cleans a word list so that every line is a valid word"
+msgstr " clean [strict] limpa uma lista de palavras para que cada linha torne-se uma palavra válida"
-#: prog/aspell.cpp:2830
+#: prog/aspell.cpp:2835
msgid " -v|version prints a version line"
-msgstr ""
+msgstr " -v|version mostra a versão do programa"
-#: prog/aspell.cpp:2831
+#: prog/aspell.cpp:2836
msgid " munch-list [simple] [single|multi] [keep]"
-msgstr ""
+msgstr " munch-list [simple] [single|multi] [keep]"
-#: prog/aspell.cpp:2832
+#: prog/aspell.cpp:2837
msgid " reduce the size of a word list via affix compression"
-msgstr ""
+msgstr " reduz o tamanho de uma lista de palavras através de compressão de afixo"
-#: prog/aspell.cpp:2833
+#: prog/aspell.cpp:2838
msgid " conv <from> <to> [<norm-form>]"
-msgstr ""
+msgstr " conv <de> <para> [<norm-form>]"
-#: prog/aspell.cpp:2834
+#: prog/aspell.cpp:2839
msgid " converts from one encoding to another"
-msgstr ""
+msgstr " converte de uma codificação para outra"
-#: prog/aspell.cpp:2835
+#: prog/aspell.cpp:2840
msgid " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
-msgstr ""
+msgstr " norm (<norm-map> | <de> <norm-map> <para>) [<norm-form>]"
-#: prog/aspell.cpp:2836
+#: prog/aspell.cpp:2841
msgid " perform Unicode normalization"
-msgstr ""
+msgstr " efetua normalização Unicode"
-#: prog/aspell.cpp:2839
+#: prog/aspell.cpp:2844
msgid " dump|create|merge master|personal|repl [<name>]"
-msgstr ""
+msgstr " dump|create|merge master|personal|repl [<nome>]"
-#: prog/aspell.cpp:2840
-msgid ""
-" dumps, creates or merges a master, personal, or replacement dictionary."
-msgstr ""
+#: prog/aspell.cpp:2845
+msgid " dumps, creates or merges a master, personal, or replacement dictionary."
+msgstr " mostra, cria ou mescla um dicionário mestre, pessoal ou de substitução."
#. TRANSLATORS: "none", "internal" and "strict" are literal values
#. and should not be translated.
-#: prog/aspell.cpp:2844
-msgid ""
-" <norm-form> normalization form to use, either none, internal, or "
-"strict"
-msgstr ""
+#: prog/aspell.cpp:2849
+msgid " <norm-form> normalization form to use, either none, internal, or strict"
+msgstr " <norm-form> forma de normalização a usar, tanto pode ser \"none\", \"internal\", ou \"strict\""
-#: prog/aspell.cpp:2854
+#: prog/aspell.cpp:2859
#, c-format
msgid ""
"\n"
"Aspell %s. Copyright 2000-2011 by Kevin Atkinson.\n"
"\n"
msgstr ""
+"\n"
+"Aspell %s. Copyright 2000-2011 por Kevin Atkinson.\n"
+"Tradução voluntária de Marcus Moreira de Souza e\n"
+"Enrico Nicoletto.\n"
-#: prog/aspell.cpp:2888
+#: prog/aspell.cpp:2893
msgid ""
"Available Dictionaries:\n"
" Dictionaries can be selected directly via the \"-d\" or \"master\"\n"
" option. They can also be selected indirectly via the \"lang\",\n"
" \"variety\", and \"size\" options.\n"
msgstr ""
+"Dicionários disponíveis:\n"
+" Dicionários podem ser selecionados diretamente da opção \"-d\"\n"
+" ou \"master\". Podem ser selecionados indiretamente via opções\n"
+" \"lang\", \"variety\", e \"size\".\n"
-#: prog/aspell.cpp:2909
+#: prog/aspell.cpp:2914
msgid ""
"Available Filters (and associated options):\n"
" Filters can be added or removed via the \"filter\" option.\n"
msgstr ""
+"Filtros disponíveis (e opções associadas ):\n"
+" Filtros podem ser adicionados ou removidos via opção \"filter\".\n"
-#: prog/aspell.cpp:2916
+#: prog/aspell.cpp:2921
#, c-format
msgid ""
"\n"
" %s filter: %s\n"
msgstr ""
+"\n"
+" %s filtro: %s\n"
#. TRANSLATORS: This should be formated to fit in 80 column or less
-#: prog/aspell.cpp:2933
+#: prog/aspell.cpp:2938
msgid ""
"Available Filter Modes:\n"
" Filter Modes are reconfigured combinations of filters optimized for\n"
" This will happen implicitly if Aspell is able to identify the file\n"
" type from the extension, and possibility the contents, of the file.\n"
msgstr ""
+"Modos de filtros disponíveis:\n"
+" Modos de filtros são combinações refeitas de filtros otimizados para\n"
+" arquivos de tipo específico. Modo é selecionado via opção \"mode\".\n"
+" Acontecerá implicitamente se Aspell for apto a identificar o tipo do\n"
+" arquivo a partir da extensão e, de certo, os conteúdos do arquivo.\n"
#: prog/check_funs.cpp:287
msgid "Error: Stdin not a terminal."
-msgstr ""
+msgstr "Erro: Stdin não é um terminal."
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:774
msgid "Enter"
-msgstr ""
+msgstr "Enter"
#: prog/check_funs.cpp:776
msgid "Accept Changes"
-msgstr ""
+msgstr "Aceita alterações"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:779
msgid "Backspace"
-msgstr ""
+msgstr "Backspace"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:781
msgid "Control-H"
-msgstr ""
+msgstr "Control-H"
#: prog/check_funs.cpp:782
msgid "Delete the previous character"
-msgstr ""
+msgstr "Exclui o caractere anterior"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:785
msgid "Left"
-msgstr ""
+msgstr "Left"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:787
msgid "Control-B"
-msgstr ""
+msgstr "Control-B"
#: prog/check_funs.cpp:788
msgid "Move Back one space"
-msgstr ""
+msgstr "Move um espaço para trás"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:791
msgid "Right"
-msgstr ""
+msgstr "Right"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:793
msgid "Control-F"
-msgstr ""
+msgstr "Control-F"
#: prog/check_funs.cpp:794
msgid "Move Forward one space"
-msgstr ""
+msgstr "Move um espaço para frente"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:797
msgid "Home"
-msgstr ""
+msgstr "Home"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:799
msgid "Control-A"
-msgstr ""
+msgstr "Control-A"
#: prog/check_funs.cpp:800
msgid "Move to the beginning of the line"
-msgstr ""
+msgstr "Move ao início da linha"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:803
-#, fuzzy
msgid "End"
-msgstr "fim"
+msgstr "Fim"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:805
msgid "Control-E"
-msgstr ""
+msgstr "Control-E"
#: prog/check_funs.cpp:806
msgid "Move to the end of the line"
-msgstr ""
+msgstr "Move ao final da linha"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:809
msgid "Delete"
-msgstr ""
+msgstr "Delete"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:811
msgid "Control-D"
-msgstr ""
+msgstr "Control-D"
#: prog/check_funs.cpp:812
-#, fuzzy
msgid "Delete the next character"
-msgstr "caracteres de citações de e-mail"
+msgstr "Exclui o próximo caractere"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:816
msgid "Control-K"
-msgstr ""
+msgstr "Control-K"
#: prog/check_funs.cpp:817
msgid "Kill all characters to the EOL"
-msgstr ""
+msgstr "Elimina todos os caracteres ao fim da linha"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:821
msgid "Control-C"
-msgstr ""
+msgstr "Control-C"
#: prog/check_funs.cpp:822
msgid "Abort This Operation"
-msgstr ""
+msgstr "Cancelar esta operação"
#: modules/speller/default/language.cpp:103
msgid "This is probably because: "
-msgstr "Isto provavelmente é porque:"
+msgstr "Isto provavelmente é porque:"
#: modules/speller/default/language.cpp:110
msgid "The required field \"name\" is missing."
-msgstr "O campo requerido está faltando"
+msgstr "O campo \"name\" requerido está faltando"
#: modules/speller/default/language.cpp:488
msgid "Empty string."
msgstr "String vazia."
#: modules/speller/default/language.cpp:492
-#, fuzzy, c-format
+#, c-format
msgid "The character '%s' (U+%02X) may not appear at the beginning of a word."
-msgstr "O caracter '%s' pode não aparecer no %s da palavra."
+msgstr "O caractere '%s' (U+%02X) pode não aparecer no início da palavra."
#: modules/speller/default/language.cpp:494
#: modules/speller/default/language.cpp:503
#, c-format
-msgid ""
-"The character '%s' (U+%02X) must be followed by an alphabetic character."
-msgstr ""
+msgid "The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgstr "O caractere '%s' (U+%02X) deve ser seguido por um caractere alfabético."
#: modules/speller/default/language.cpp:496
-#, fuzzy
msgid "Does not contain any alphabetic characters."
-msgstr "Não contém nenhuma letra."
+msgstr "Não contém quaisquer caracteres alfabéticos."
#: modules/speller/default/language.cpp:501
-#, fuzzy, c-format
+#, c-format
msgid "The character '%s' (U+%02X) may not appear in the middle of a word."
-msgstr "O caracter '%s' pode não aparecer no %s da palavra."
+msgstr "O caractere '%s' (U+%02X) pode não aparecer no meio da palavra."
#: modules/speller/default/language.cpp:508
-msgid ""
-"The character '\\r' (U+0D) may not appear at the end of a word. This "
-"probably means means that the file is using MS-DOS EOL instead of Unix EOL."
-msgstr ""
+msgid "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgstr "O caractere '\\r' (U+0D) pode não aparecer ao final da palavra. Isto significa que provavelmente o arquivo usa fim de linha MS-DOS ao invés de Unix."
#: modules/speller/default/language.cpp:511
-#, fuzzy, c-format
+#, c-format
msgid "The character '%s' (U+%02X) may not appear at the end of a word."
-msgstr "O caracter '%s' pode não aparecer no %s da palavra."
+msgstr "O caractere '%s' (U+%02X) pode não aparecer no final da palavra."
#: modules/speller/default/language.cpp:543
#, c-format
msgid "Warning: Removing invalid affix '%s' from word %s.\n"
-msgstr ""
+msgstr "Alerta: removendo afixo inválido '%s' da palavra %s.\n"
#: modules/speller/default/language.cpp:544
#, c-format
msgid "Warning: Removing inapplicable affix '%s' from word %s.\n"
-msgstr ""
+msgstr "Alerta: removendo afixo não aplicável '%s' da palavra %s.\n"
-#: modules/speller/default/language.cpp:674
+#: modules/speller/default/language.cpp:675
#, c-format
msgid "Warning: %s Skipping string.\n"
-msgstr ""
+msgstr "Alerta: %s ignorando string.\n"
-#: modules/speller/default/language.cpp:732
+#: modules/speller/default/language.cpp:733
msgid "The total length is larger than 240 characters."
-msgstr ""
+msgstr "O comprimento total é maior que 240 caracteres."
-#: modules/speller/default/language.cpp:736
+#: modules/speller/default/language.cpp:737
#, c-format
msgid "Warning: %s Skipping word.\n"
-msgstr ""
+msgstr "Alerta: %s ignorando palavra.\n"
#: modules/speller/default/affix.cpp:426
msgid "Possibly incorrect count."
-msgstr ""
+msgstr "Provável contagem incorreta."
#: modules/speller/default/readonly_ws.cpp:362
+msgid "Incompatible hash function."
+msgstr "Função hash incompatível."
+
+#: modules/speller/default/readonly_ws.cpp:440
msgid "Wrong endian order."
-msgstr ""
+msgstr "Ordem endian incorreta."
-#: modules/speller/default/readonly_ws.cpp:385
-#, fuzzy
+#: modules/speller/default/readonly_ws.cpp:463
msgid "Wrong soundslike."
-msgstr "Expressão sonora errada"
+msgstr "Pronúncia incorreta."
-#: modules/speller/default/readonly_ws.cpp:391
-#, fuzzy
+#: modules/speller/default/readonly_ws.cpp:469
msgid "Wrong soundslike version."
-msgstr "Versão da expressão sonora errada"
+msgstr "Versão incorreta de pronúncia."
-#: modules/speller/default/readonly_ws.cpp:853
+#: modules/speller/default/readonly_ws.cpp:934
msgid "Affix flags found in word but no affix file given."
-msgstr ""
+msgstr "Sinais de afixos na palavra mas sem arquivo de afixo fornecido."
-#: modules/speller/default/readonly_ws.cpp:891
-msgid ""
-"The total word length, with soundslike data, is larger than 240 characters."
-msgstr ""
+#: modules/speller/default/readonly_ws.cpp:972
+msgid "The total word length, with soundslike data, is larger than 240 characters."
+msgstr "Comprimento total da palavra com dados de pronúncia maior que 240 caracteres."
#: modules/speller/default/multi_ws.cpp:58
msgid "There must be at least one \"add\" line."
-msgstr ""
+msgstr "Deve existir ao menos uma linha \"add\"."
#: modules/speller/default/suggest.cpp:1403
msgid "one of ultra, fast, normal, slow, or bad-spellers"
-msgstr ""
+msgstr "um de ultra, fast, normal, slow, ou bad-spellers"
#: modules/speller/default/data.cpp:404
msgid "is not one of the allowed types"
-msgstr ""
+msgstr "não é um dos tipos permitidos"
#: modules/speller/default/speller_impl.cpp:241
msgid "The personal word list is unavailable."
-msgstr ""
+msgstr "A lista pessoal de palavras não está disponível."
#: modules/speller/default/speller_impl.cpp:248
msgid "The session word list is unavailable."
-msgstr ""
+msgstr "A lista de palavras da sessão não está disponível."
#: modules/speller/default/speller_impl.cpp:255
msgid "The main word list is unavailable."
-msgstr ""
+msgstr "A lista principal de palavras não está disponível."
#: modules/filter/tex.cpp:255 modules/filter/tex.cpp:262
msgid "a string of 'o','O','p',or 'P'"
-msgstr ""
+msgstr "uma string de 'o','O','p',ou 'P'"
#. TRANSLATORS: Like the strings in config.cpp, all strings in *-filter.opt
#. should be under 50 characters, begin with a lower case character and
#. not include any trailing punctuation marks.
#: modules/filter/context-filter.info:7
-#, fuzzy
msgid "experimental filter for hiding delimited contexts"
-msgstr "Filtro para omitir contextos delimitados do Aspell"
+msgstr "filtro experiment p/ omitir contextos delimitados"
#: modules/filter/context-filter.info:13
msgid "context delimiters (separated by spaces)"
-msgstr ""
+msgstr "delimitadores de contexto (separados por espaços)"
#: modules/filter/context-filter.info:21
msgid "swaps visible and invisible text"
-msgstr "trocar texto visível e invisível"
+msgstr "trocar texto visível e invisível"
#: modules/filter/email-filter.info:7
msgid "filter for skipping quoted text in email messages"
-msgstr ""
+msgstr "filtro para ignorar citações de texto em mensagens de e-mail"
#: modules/filter/email-filter.info:13
msgid "email quote characters"
-msgstr "caracteres de citações de e-mail"
+msgstr "caracteres de citações de e-mail"
#: modules/filter/email-filter.info:21
msgid "num chars that can appear before the quote char"
-msgstr "númeto de caracteres que podem aparecer antes da citação"
+msgstr "númeto de caracteres que podem aparecer antes da citação"
#: modules/filter/html-filter.info:9
msgid "filter for dealing with HTML documents"
-msgstr ""
+msgstr "filtro para manipular documentos HTML"
#: modules/filter/html-filter.info:15
-#, fuzzy
msgid "HTML attributes to always check"
-msgstr "atributos SGML para verificar sempre"
+msgstr "Sempre verificar estes atributos HTML"
#: modules/filter/html-filter.info:21
msgid "HTML tags to always skip the contents of"
+msgstr "Sempre ignorar o conteúdo de etiquetas HTML"
+
+#: modules/filter/markdown-filter.info:8
+#, fuzzy
+#| msgid "filter for dealing with Texinfo documents"
+msgid "filter for Markdown/CommonMark documents"
+msgstr "filtro para manipular documentos Texinfo"
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
msgstr ""
#: modules/filter/nroff-filter.info:7
msgid "filter for dealing with Nroff documents"
-msgstr ""
+msgstr "filtro para manipular documentos Nroff"
#: modules/filter/sgml-filter.info:9
msgid "filter for dealing with generic SGML/XML documents"
-msgstr ""
+msgstr "filtro para manipular documentos SGML/XML genéricos"
#: modules/filter/sgml-filter.info:15
-#, fuzzy
msgid "SGML attributes to always check"
-msgstr "atributos SGML para verificar sempre"
+msgstr "Sempre verificar estes atributos SGML"
#: modules/filter/sgml-filter.info:20
msgid "SGML tags to always skip the contents of"
-msgstr ""
+msgstr "Sempre ignorar o conteúdo de etiquetas SGML"
#: modules/filter/tex-filter.info:7
-#, fuzzy
msgid "filter for dealing with TeX/LaTeX documents"
-msgstr "Filtros para reconhecer comandos TeX/LaTeX"
+msgstr "filtro para manipular documentos TeX/LaTeX"
#: modules/filter/tex-filter.info:15
msgid "check TeX comments"
-msgstr "verificar comentários TeX"
+msgstr "verificar comentários TeX"
#: modules/filter/tex-filter.info:21
msgid "TeX commands"
-msgstr "comandos TeX"
+msgstr "Comandos TeX"
#: modules/filter/texinfo-filter.info:7
msgid "filter for dealing with Texinfo documents"
-msgstr ""
+msgstr "filtro para manipular documentos Texinfo"
#: modules/filter/texinfo-filter.info:13
-#, fuzzy
msgid "Texinfo commands to ignore the parameters of"
-msgstr "ignorar comandos de substituição"
+msgstr "Ignorar os parâmetros de comandos Texinfo"
#: modules/filter/texinfo-filter.info:41
msgid "Texinfo environments to ignore"
-msgstr ""
+msgstr "Texinfo de ambiente a ignorar"
#: modules/filter/url-filter.info:7
msgid "filter to skip URL like constructs"
-msgstr ""
+msgstr "filtro para ignorar construtores tipo URL"
#: modules/filter/modes/ccpp.amf:8
msgid "mode for checking C++ comments and string literals"
-msgstr ""
+msgstr "modo para verificar comentários C++ e strings literais"
#: modules/filter/modes/comment.amf:5
msgid "mode to check any lines starting with a #"
-msgstr ""
+msgstr "modo para verificar quaisquer linhas começando com uma #"
#: modules/filter/modes/email.amf:5
msgid "mode for skipping quoted text in email messages"
-msgstr ""
+msgstr "modo para ignorar citações de texto em mensagens de e-mail"
#: modules/filter/modes/html.amf:10
msgid "mode for checking HTML documents"
-msgstr ""
+msgstr "modo para verificar documentos HTML"
+
+#: modules/filter/modes/markdown.amf:10
+#, fuzzy
+#| msgid "mode for checking Nroff documents"
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr "modo para verificar documentos Nroff"
#: modules/filter/modes/none.amf:5
msgid "mode to disable all filters"
-msgstr ""
+msgstr "modo para desabilitar todos os filtros"
#: modules/filter/modes/nroff.amf:7
msgid "mode for checking Nroff documents"
-msgstr ""
+msgstr "modo para verificar documentos Nroff"
#: modules/filter/modes/perl.amf:8
msgid "mode for checking Perl comments and string literals"
-msgstr ""
+msgstr "modo para verificar comentários Perl e strings literais"
#: modules/filter/modes/sgml.amf:8
msgid "mode for checking generic SGML/XML documents"
-msgstr ""
+msgstr "modo para verificar documentos SGML/XML genéricos"
#: modules/filter/modes/tex.amf:7
-#, fuzzy
msgid "mode for checking TeX/LaTeX documents"
-msgstr "Filtros para reconhecer comandos TeX/LaTeX"
+msgstr "modo para verificar documentos TeX/LaTeX"
#: modules/filter/modes/texinfo.amf:7
msgid "mode for checking Texinfo documents"
-msgstr ""
+msgstr "modo para verificar documentos Texinfo"
#: modules/filter/modes/url.amf:5
msgid "mode to skip URL like constructs (default mode)"
-msgstr ""
-
-#~ msgid "configured as follows"
-#~ msgstr "configurado como a seguir"
-
-#~ msgid "path(es) aspell looks for options descriptions"
-#~ msgstr "caminho(s) de busca por descrições de opções"
-
-#~ msgid "strip accents from word lists"
-#~ msgstr "eliminar acentos das palavras do vocabulário"
-
-#~ msgid "%where:1: \"%filter:2\":"
-#~ msgstr "%where:1: \"%filter:2\":"
-
-#~ msgid "%where:1: Filter \"%filter:2\" could not be found in filter paths."
-#~ msgstr ""
-#~ "%where:1: Filtro \"%filter:2\" não foi encontrado no caminho dos filtros."
-
-#~ msgid "%where:1: %filter:2: can't find option description."
-#~ msgstr "%where:1: %filter:2: descrição da opção não localizada."
-
-#~ msgid "%where:1: \"%filter:2\" Line %line:3 confused by version control"
-#~ msgstr ""
-#~ "%where:1: \"%filter:2\" Linha %line:3 confundida pelo controle de versões"
-
-#~ msgid "%action:1: invalid regular expression."
-#~ msgstr "%action:1: expressão regular inválida."
-
-#~ msgid "enter Html/Sgml mode."
-#~ msgstr "entrar no modo HTML/SGML."
-
-#~ msgid ""
-#~ "\n"
-#~ "Aspell %s alpha. Copyright 2000-2004 by Kevin Atkinson.\n"
-#~ "\n"
-#~ "Usage: aspell [options] <command>\n"
-#~ "\n"
-#~ "<command> is one of:\n"
-#~ " -?|help [<expr>] display this help message\n"
-#~ " and help for filters matching <expr> if installed\n"
-#~ " -c|check <file> to check a file\n"
-#~ " -a|pipe \"ispell -a\" compatibility mode\n"
-#~ " -l|list produce a list of misspelled words from standard "
-#~ "input\n"
-#~ " [dump] config [-e <expr>] dumps the current configuration to stdout\n"
-#~ " config [+e <expr>] <key> prints the current value of an option\n"
-#~ " soundslike returns the sounds like equivalent for each word "
-#~ "entered\n"
-#~ " munch generate possible root words and affixes\n"
-#~ " expand [1-4] expands affix flags\n"
-#~ " filter passes standard input through filters\n"
-#~ " -v|version prints a version line\n"
-#~ " dump|create|merge master|personal|repl [word list]\n"
-#~ " dumps, creates or merges a master, personal, or replacement word "
-#~ "list.\n"
-#~ "\n"
-#~ " <expr> regular expression matching filtername(s) or \"all\"\n"
-#~ "\n"
-#~ "[options] is any of the following:\n"
-#~ "\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Aspell %s alpha. Copyright 2000-2004 by Kevin Atkinson.\n"
-#~ "\n"
-#~ "Uso: aspell [opções] <comando>\n"
-#~ "\n"
-#~ "<comando> pode ser um dos seguintes:\n"
-#~ " -?|help [<expr>] mostrar essa mensagem de ajuda\n"
-#~ " ou apresentar ajuda para filtros se <expr> estiver "
-#~ "disponível\n"
-#~ " -c|check <file> para verificar um arquivo\n"
-#~ " -a|pipe \"ispell -a\" modo de compatibilidade\n"
-#~ " -l|list produz uma lista de palavras escritas erradas na saída "
-#~ "padrão\n"
-#~ " [dump] config [-e <expr>] mostra a configuração atual na saída padrão\n"
-#~ " config [+e <expr>] <key> imprime o valor atual de uma opção\n"
-#~ " soundslike retorna a expressão sonora equivalente a cada palavra\n"
-#~ " munch generate possible root words and affixes\n"
-#~ " expand [1-4] expands affix flags\n"
-#~ " filter filtra o conteúdo da entrada padrão\n"
-#~ " -v|version mostra a versão do programa\n"
-#~ " dump|create|merge master|personal|repl [word list]\n"
-#~ " mostrar, criar ou mesclar o vocabulário principal ou pessoal.\n"
-#~ "\n"
-#~ " <expr> expressão regular combinando com o(s) filtro(s) or "
-#~ "\"all\"\n"
-#~ "\n"
-#~ "[options] pode ser uma das seguintes:\n"
-#~ "\n"
-
-#~ msgid "beginning"
-#~ msgstr "início"
-
-#~ msgid "middle"
-#~ msgstr "meio"
-
-#~ msgid "Filter for eliminating email quote characters"
-#~ msgstr "Filtro para eliminar caracteres de citações de e-mail"
-
-#~ msgid "Filters for encoding, filtering and decoding sgml characters"
-#~ msgstr "Filtros para codificar, filtrar e decodificar caracteres SGML"
+msgstr "modo para ignorar construtores tipo URL (modo padrão)"
msgstr ""
"Project-Id-Version: aspell 0.60.5-pre1\n"
"Report-Msgid-Bugs-To: kevina@gnu.org\n"
-"POT-Creation-Date: 2011-07-04 03:25-0600\n"
+"POT-Creation-Date: 2019-07-29 02:38-0400\n"
"PO-Revision-Date: 2006-12-11 12:00-0500\n"
"Last-Translator: Laurentiu Buzdugan <lbuz@rolix.org>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
+"Language: ro\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-2\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || ((n%100) > 0 && (n%"
-"100) < 20)) ? 1 : 2);\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || ((n%100) > 0 && (n%100) < 20)) ? 1 : 2);\n"
#: common/info.cpp:232
msgid "a number between 0 and 1"
msgid "ASPELL_CONF env var"
msgstr "variabila de mediu ASPELL_CONF"
-#. TRANSLATORS: The remaing strings in config.cpp should be kept
+#. TRANSLATORS: The remaining strings in config.cpp should be kept
#. under 50 characters, begin with a lower case character and not
#. include any trailing punctuation marks.
#: common/config.cpp:1360
#. TRANSLATORS: It is OK if this is longer than 50 chars
#: common/config.cpp:1475
msgid "indicator for affix flags in word lists -- CURRENTLY IGNORED"
-msgstr ""
-"indicator pentru marcajele de affix în listele de cuvinte -- DEOCAMDATÃ "
-"IGNORAT"
+msgstr "indicator pentru marcajele de affix în listele de cuvinte -- DEOCAMDATÃ IGNORAT"
#: common/config.cpp:1477
msgid "use affix compression when creating dictionaries"
msgid "time load time and suggest time in pipe mode"
msgstr "cronometreazã timpul de încãrcare ºi sugereazã timpul în modul pipe"
-#: common/convert.cpp:303 common/convert.cpp:429
+#: common/convert.cpp:303 common/convert.cpp:497
#, c-format
-msgid ""
-"This could also mean that the file \"%s\" could not be opened for reading or "
-"does not exist."
-msgstr ""
-"Aceasta ar putea de asemenea însemna cã fiºierul \"%s\" nu a putut fi "
-"deschis pentru citire sau cã nu existã."
+msgid "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
+msgstr "Aceasta ar putea de asemenea însemna cã fiºierul \"%s\" nu a putut fi deschis pentru citire sau cã nu existã."
-#: common/convert.cpp:552 common/convert.cpp:659 common/convert.cpp:705
+#: common/convert.cpp:582 common/convert.cpp:689 common/convert.cpp:735
#, c-format
msgid "The Unicode code point U+%04X is unsupported."
msgstr "Codul Unicode punct U+%04X nu este suportat."
-#: common/convert.cpp:829
-#, c-format
+#: common/convert.cpp:859
+#, fuzzy, c-format
+#| msgid "Invalid UTF-8 sequence at position %d."
msgid "Invalid UTF-8 sequence at position %ld."
-msgstr "Secvenþã UTF-8 invalidã la poziþia %ld."
+msgstr "Secvenþã UTF-8 invalidã la poziþia %d."
#: common/errors.cpp:27
msgid "Operation Not Supported: %what:1"
msgstr "Cheia \"%key:1\" nu este %accepted:2 ºi de aceea este invalidã."
#: common/errors.cpp:147
-msgid ""
-"The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%"
-"key:1\"."
-msgstr ""
-"Valoarea \"%value:2\" nu este %accepted:3 ºi de aceea este invalidã pentru "
-"\"%key:1\"."
+msgid "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
+msgstr "Valoarea \"%value:2\" nu este %accepted:3 ºi de aceea este invalidã pentru \"%key:1\"."
#: common/errors.cpp:163
msgid "The key \"%key:1\" is not a string."
msgstr "Cheia \"%key:1\" nu este o listã."
#: common/errors.cpp:195
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"reset-"
-"\"."
-msgstr ""
-"Cheia \"%key:1\" nu ia nici un parametru când este prefixatã de un \"reset-"
-"\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
+msgstr "Cheia \"%key:1\" nu ia nici un parametru când este prefixatã de un \"reset-\"."
#: common/errors.cpp:203
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by an \"enable-"
-"\"."
-msgstr ""
-"Cheia \"%key:1\" nu ia nici un parametru când este prefixatã de un \"enable-"
-"\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by an \"enable-\"."
+msgstr "Cheia \"%key:1\" nu ia nici un parametru când este prefixatã de un \"enable-\"."
#: common/errors.cpp:211
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" "
-"or \"disable-\"."
-msgstr ""
-"Cheia \"%key:1\" nu ia nici un parametru când este prefixatã de un \"dont-\" "
-"or \"disable-\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
+msgstr "Cheia \"%key:1\" nu ia nici un parametru când este prefixatã de un \"dont-\" or \"disable-\"."
#: common/errors.cpp:219
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"clear-"
-"\"."
-msgstr ""
-"Cheia \"%key:1\" nu ia nici un parametru când este prefixatã de un \"clear-"
-"\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
+msgstr "Cheia \"%key:1\" nu ia nici un parametru când este prefixatã de un \"clear-\"."
#: common/errors.cpp:235
#, c-format
#: common/errors.cpp:299
#, c-format
-msgid ""
-"The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be "
-"stripped."
-msgstr ""
-"Condiþia \"%cond:1\" nu garanteazã cã \"%strip:2\" poate fi întotdeauna "
-"redusã (stripped)."
+msgid "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
+msgstr "Condiþia \"%cond:1\" nu garanteazã cã \"%strip:2\" poate fi întotdeauna redusã (stripped)."
#: common/errors.cpp:307
#, c-format
-msgid ""
-"The file \"%file:1\" is not in the proper format. Expected the file to be in "
-"\"%exp:2\" not \"%got:3\"."
-msgstr ""
-"Fiºierul \"%file:1\" nu este în formatul potrivit. Aºteptam ca fiºierul sã "
-"fie în \"%exp:2\" nu în \"%got:3\"."
+msgid "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
+msgstr "Fiºierul \"%file:1\" nu este în formatul potrivit. Aºteptam ca fiºierul sã fie în \"%exp:2\" nu în \"%got:3\"."
#: common/errors.cpp:323
#, c-format
#: common/errors.cpp:635
#, c-format
msgid "\"%mode:1\" error while extend Aspell modes. (out of memory?)"
-msgstr ""
-"Eroare \"%mode:1\" la extinderea opþiunilor Aspell. (nu mai e memorie?)"
+msgstr "Eroare \"%mode:1\" la extinderea opþiunilor Aspell. (nu mai e memorie?)"
#: common/errors.cpp:651
#, c-format
msgid "\"%mode:1\": no start for magic search given for magic \"%magic:2\"."
-msgstr ""
-"\"%mode:1\": nici un început pentru cãutarea magicã datã pentru magic \"%"
-"magic:2\"."
+msgstr "\"%mode:1\": nici un început pentru cãutarea magicã datã pentru magic \"%magic:2\"."
#: common/errors.cpp:659
#, c-format
msgid "\"%mode:1\": no range for magic search given for magic \"%magic:2\"."
-msgstr ""
-"\"%mode:1\": nici un interval pentru cãutarea magicã datã pentru magic \"%"
-"magic:2\"."
+msgstr "\"%mode:1\": nici un interval pentru cãutarea magicã datã pentru magic \"%magic:2\"."
#: common/errors.cpp:667
#, c-format
msgid "\"%mode:1\": no magic expression available for magic \"%magic:2\"."
-msgstr ""
-"\"%mode:1\": nici o expresie magicã disponibilã pentru magic \"%magic:2\"."
+msgstr "\"%mode:1\": nici o expresie magicã disponibilã pentru magic \"%magic:2\"."
#: common/errors.cpp:675
-msgid ""
-"\"%mode:1\": Magic \"%magic:2\": bad regular expression after location "
-"specifier; regexp reports: \"%regerr:3\"."
-msgstr ""
-"\"%mode:1\": Magic \"%magic:2\": expresie regularã greºitã dupã "
-"specificatorul de locaþie; regexp raporteazã: \"%regerr:3\"."
+msgid "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
+msgstr "\"%mode:1\": Magic \"%magic:2\": expresie regularã greºitã dupã specificatorul de locaþie; regexp raporteazã: \"%regerr:3\"."
#: common/errors.cpp:691
#, c-format
msgid "Unhandled Error: "
msgstr "Eroare neprelucratã: "
-#: prog/aspell.cpp:97
+#: prog/aspell.cpp:98
#, c-format
msgid "Error: %s\n"
msgstr "Eroare: %s\n"
-#: prog/aspell.cpp:102
+#: prog/aspell.cpp:103
msgid "Error: "
msgstr "Eroare: "
-#: prog/aspell.cpp:203
+#: prog/aspell.cpp:204
msgid "enter Email mode."
msgstr "intrã mod Email."
-#: prog/aspell.cpp:204
+#: prog/aspell.cpp:205
msgid "enter HTML mode."
msgstr "intrã mod HTML."
-#: prog/aspell.cpp:205
+#: prog/aspell.cpp:206
msgid "enter TeX mode."
msgstr "intrã mod TeX."
-#: prog/aspell.cpp:206
+#: prog/aspell.cpp:207
msgid "enter Nroff mode."
msgstr "intrã mod Nroff."
-#: prog/aspell.cpp:312
+#: prog/aspell.cpp:313
#, c-format
msgid "Invalid Option: %s"
msgstr "Opþiune Invalidã: %s"
-#: prog/aspell.cpp:319
+#: prog/aspell.cpp:320
msgid " does not take any parameters."
msgstr " nu ia nici un parametru."
-#: prog/aspell.cpp:332 prog/aspell.cpp:392
+#: prog/aspell.cpp:333 prog/aspell.cpp:393
#, c-format
msgid "You must specify a parameter for \"%s\"."
msgstr "Trebuie sã specificaþi un parametru pentru \"%s\""
-#: prog/aspell.cpp:381
+#: prog/aspell.cpp:382
msgid "You must specify an action"
msgstr "Trebuie sã specificaþi o acþiune"
-#: prog/aspell.cpp:389 prog/aspell.cpp:452 prog/aspell.cpp:474
+#: prog/aspell.cpp:390 prog/aspell.cpp:453 prog/aspell.cpp:475
#, c-format
msgid "Unknown Action: %s"
msgstr "Acþiune necunoscutã: %s"
-#: prog/aspell.cpp:395
+#: prog/aspell.cpp:396
#, c-format
msgid "Error: You must specify at least %d parameters for \"%s\".\n"
msgstr "Eroare: Trebuie sã specificaþi cel puþin %d parametri pentru \"%s\".\n"
-#: prog/aspell.cpp:637
+#: prog/aspell.cpp:638
msgid "Invalid Input"
msgstr "Intrare Invalidã"
-#: prog/aspell.cpp:710
+#: prog/aspell.cpp:711
#, c-format
msgid "WARNING: Unable to enter Nroff mode: %s\n"
msgstr "AVERTISMENT: Nu pot intra în modul Nroff: %s\n"
-#: prog/aspell.cpp:731
+#: prog/aspell.cpp:732
msgid "Time to load word list: "
msgstr "Timp de încãrcare a listei de cuvinte: "
-#: prog/aspell.cpp:929
+#: prog/aspell.cpp:930
#, c-format
msgid "Suggestion Time: %f\n"
msgstr "Timp sugerat: %f\n"
-#: prog/aspell.cpp:972
+#: prog/aspell.cpp:973
msgid "You must specify a file name."
msgstr "Trebuie sã specificaþi un nume de fiºier."
-#: prog/aspell.cpp:975
+#: prog/aspell.cpp:976
msgid "Only one file name may be specified."
msgstr ""
-#: prog/aspell.cpp:985
+#: prog/aspell.cpp:986
#, c-format
msgid "Could not open the file \"%s\" for reading"
msgstr "Nu am putut deschide fiºierul \"%s\" pentru citire."
-#: prog/aspell.cpp:998
+#: prog/aspell.cpp:999
#, c-format
msgid "Invalid keymapping: %s"
msgstr "Mapare tastaturã invalidã: %s"
-#: prog/aspell.cpp:1020
+#: prog/aspell.cpp:1014
+#, fuzzy, c-format
+#| msgid "\"%expression:1\" is not a valid regular expression."
+msgid "\"%s\" is not a regular file"
+msgstr "\"%expresia:1\": nu este o expresie regularã validã."
+
+#: prog/aspell.cpp:1025
#, c-format
msgid "Could not open the file \"%s\" for writing. File not saved."
msgstr "Nu am putut deschide fiºierul \"%s\" pentru scriere. Fiºier nesalvat."
-#: prog/aspell.cpp:1033
+#: prog/aspell.cpp:1038
msgid "Ignore"
msgstr "Ignorã"
-#: prog/aspell.cpp:1034
+#: prog/aspell.cpp:1039
msgid "Ignore all"
msgstr "Ignorã tot"
-#: prog/aspell.cpp:1035
+#: prog/aspell.cpp:1040
msgid "Replace"
msgstr "Înlocuieºte"
-#: prog/aspell.cpp:1036
+#: prog/aspell.cpp:1041
msgid "Replace all"
msgstr "Înlocuieºte tot"
-#: prog/aspell.cpp:1037
+#: prog/aspell.cpp:1042
msgid "Add"
msgstr "Adaugã"
-#: prog/aspell.cpp:1038
+#: prog/aspell.cpp:1043
msgid "Add Lower"
msgstr "Adaugã mai jos"
-#: prog/aspell.cpp:1039
+#: prog/aspell.cpp:1044
msgid "Abort"
msgstr "Renunþã"
-#: prog/aspell.cpp:1040
+#: prog/aspell.cpp:1045
msgid "Exit"
msgstr "Terminã"
-#: prog/aspell.cpp:1116
+#: prog/aspell.cpp:1121
msgid "Are you sure you want to abort (y/n)? "
msgstr "Sunteþi sigur(ã) cã doriþi sã renunþaþi (d/n)?"
#. TRANSLATORS: The user may input any of these characters to say "yes".
#. MUST ONLY CONSIST OF ASCII CHARACTERS.
-#: prog/aspell.cpp:1120
+#: prog/aspell.cpp:1125
msgid "Yy"
msgstr "Dd"
-#: prog/aspell.cpp:1148
+#: prog/aspell.cpp:1153
msgid "With: "
msgstr "Cu: "
-#: prog/aspell.cpp:1165
+#: prog/aspell.cpp:1170
msgid "Sorry that is an invalid choice!"
msgstr "Îmi pare rãu, aceasta este o alegere invalidã!"
-#: prog/aspell.cpp:1386
+#: prog/aspell.cpp:1391
msgid "Sorry \"filter\" is currently unimplemented.\n"
msgstr "Îmi pare rãu, \"filter\" nu este încã implementat.\n"
-#: prog/aspell.cpp:1520
+#: prog/aspell.cpp:1525
msgid "Can't merge a master word list yet. Sorry."
msgstr "Încã nu pot combina o listã de cuvinte principalã. Îmi pare rãu."
-#: prog/aspell.cpp:1544
+#: prog/aspell.cpp:1549
msgid "Sorry \"create/merge personal\" is currently unimplemented.\n"
msgstr "Îmi pare rãu, \"create/merge personal\" nu este încã implementat.\n"
-#: prog/aspell.cpp:1553 prog/aspell.cpp:1609
+#: prog/aspell.cpp:1558 prog/aspell.cpp:1614
#, c-format
msgid "Sorry I won't overwrite \"%s\""
msgstr "Îmi pare rãu, nu pot suprascrie \"%s\""
-#: prog/aspell.cpp:1600
+#: prog/aspell.cpp:1605
msgid "Sorry \"create/merge repl\" is currently unimplemented.\n"
msgstr "Îmi pare rãu, \"create/merge repl\" nu este încã implementat.\n"
-#: prog/aspell.cpp:1872
+#: prog/aspell.cpp:1877
#, c-format
msgid "\"%s\" is not a valid flag for the \"munch-list\" command."
msgstr "\"%s\" nu este o opþiune validã pentru comanda \"munch-list\"."
#. TRANSLATORS: These should all be formated to fit in 80 column or
#. less
-#: prog/aspell.cpp:2799
+#: prog/aspell.cpp:2804
msgid "Usage: aspell [options] <command>"
msgstr "Folosire: aspell [opþiuni] <comandã>"
-#: prog/aspell.cpp:2800
+#: prog/aspell.cpp:2805
msgid "<command> is one of:"
msgstr "<comandã> este una dintre urmãtoarele:"
-#: prog/aspell.cpp:2801
+#: prog/aspell.cpp:2806
msgid " -?|usage display a brief usage message"
-msgstr ""
-" -?|folosire afiºeazã un scurt mesaj cu instrucþiuni de folosire"
+msgstr " -?|folosire afiºeazã un scurt mesaj cu instrucþiuni de folosire"
-#: prog/aspell.cpp:2802
+#: prog/aspell.cpp:2807
msgid " help display a detailed help message"
-msgstr ""
-" help afiºeazã un mesaj detaliat cu instrucþiuni de folosire"
+msgstr " help afiºeazã un mesaj detaliat cu instrucþiuni de folosire"
-#: prog/aspell.cpp:2803
+#: prog/aspell.cpp:2808
msgid " -c|check <file> to check a file"
msgstr " -c|check <fiºier> pentru a verifica un fiºier"
-#: prog/aspell.cpp:2804
+#: prog/aspell.cpp:2809
msgid " -a|pipe \"ispell -a\" compatibility mode"
msgstr " -a|pipe \"ispell -a\" mod compatibilitate"
-#: prog/aspell.cpp:2805
+#: prog/aspell.cpp:2810
msgid " [dump] config dumps the current configuration to stdout"
msgstr " [dump] config afiºeazã configuraþia curentã la stdout"
-#: prog/aspell.cpp:2806
+#: prog/aspell.cpp:2811
msgid " config <key> prints the current value of an option"
msgstr " config <cheie> afiºeazã valoarea curentã a unei opþiuni"
-#: prog/aspell.cpp:2807
+#: prog/aspell.cpp:2812
msgid " [dump] dicts | filters | modes"
msgstr " [dump] dicþionare | filtre | moduri"
-#: prog/aspell.cpp:2808
+#: prog/aspell.cpp:2813
msgid " lists available dictionaries / filters / filter modes"
msgstr " afiºeazã dicþionare / filtre / moduri de filtrare disponibile"
-#: prog/aspell.cpp:2809
+#: prog/aspell.cpp:2814
msgid "[options] is any of the following:"
msgstr "[opþiuni] este oricare dintre urmãtoarele:"
-#: prog/aspell.cpp:2822
-msgid ""
-" list produce a list of misspelled words from standard input"
-msgstr ""
-" list produce o listã de cuvinte scrise greºit de la "
-"intrarea standard"
+#: prog/aspell.cpp:2827
+msgid " list produce a list of misspelled words from standard input"
+msgstr " list produce o listã de cuvinte scrise greºit de la intrarea standard"
-#: prog/aspell.cpp:2825
-msgid ""
-" soundslike returns the sounds like equivalent for each word entered"
-msgstr ""
-" soundslike returneazã cuvintele care sunã echivalent cu fiecare "
-"cuvânt introdus"
+#: prog/aspell.cpp:2830
+msgid " soundslike returns the sounds like equivalent for each word entered"
+msgstr " soundslike returneazã cuvintele care sunã echivalent cu fiecare cuvânt introdus"
-#: prog/aspell.cpp:2826
+#: prog/aspell.cpp:2831
msgid " munch generate possible root words and affixes"
-msgstr ""
-" munch genereazã toate cuvintele rãdãcinã ºi afixele posibile"
+msgstr " munch genereazã toate cuvintele rãdãcinã ºi afixele posibile"
-#: prog/aspell.cpp:2827
+#: prog/aspell.cpp:2832
msgid " expand [1-4] expands affix flags"
msgstr " expand [1-4] genereazã marcajele afix"
-#: prog/aspell.cpp:2828
-msgid ""
-" clean [strict] cleans a word list so that every line is a valid word"
-msgstr ""
-" clean [strict] curãþã o listã de cuvinte astfel încât fiecare linie "
-"este un cuvânt valid"
+#: prog/aspell.cpp:2833
+msgid " clean [strict] cleans a word list so that every line is a valid word"
+msgstr " clean [strict] curãþã o listã de cuvinte astfel încât fiecare linie este un cuvânt valid"
-#: prog/aspell.cpp:2830
+#: prog/aspell.cpp:2835
msgid " -v|version prints a version line"
msgstr " -v|version afiºeazã o linie cu versiunea"
-#: prog/aspell.cpp:2831
+#: prog/aspell.cpp:2836
#, fuzzy
+#| msgid " munch-list [simple] [single|multi] [keep]\n"
msgid " munch-list [simple] [single|multi] [keep]"
msgstr " munch-list [simple] [single|multi] [keep]\n"
-#: prog/aspell.cpp:2832
+#: prog/aspell.cpp:2837
msgid " reduce the size of a word list via affix compression"
msgstr " reduce dimensiunea unei liste de cuvinte prin comprimarea afixelor"
-#: prog/aspell.cpp:2833
+#: prog/aspell.cpp:2838
msgid " conv <from> <to> [<norm-form>]"
msgstr " conv <din> <în> [<norm-form>]"
-#: prog/aspell.cpp:2834
+#: prog/aspell.cpp:2839
msgid " converts from one encoding to another"
msgstr " converteºte dintr-un encoding în altul"
-#: prog/aspell.cpp:2835
+#: prog/aspell.cpp:2840
msgid " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
msgstr " norm (<norm-map> | <din> <norm-map> <în>) [<norm-form>]"
-#: prog/aspell.cpp:2836
+#: prog/aspell.cpp:2841
msgid " perform Unicode normalization"
msgstr " realizeazã normalizarea Unicode"
-#: prog/aspell.cpp:2839
+#: prog/aspell.cpp:2844
msgid " dump|create|merge master|personal|repl [<name>]"
msgstr " dump|create|merge master|personal|repl [<nume>]"
-#: prog/aspell.cpp:2840
-msgid ""
-" dumps, creates or merges a master, personal, or replacement dictionary."
-msgstr ""
-" afiºeazã, creazã sau combinã un dicþionar principal, personal sau "
-"înlocuitor."
+#: prog/aspell.cpp:2845
+msgid " dumps, creates or merges a master, personal, or replacement dictionary."
+msgstr " afiºeazã, creazã sau combinã un dicþionar principal, personal sau înlocuitor."
#. TRANSLATORS: "none", "internal" and "strict" are literal values
#. and should not be translated.
-#: prog/aspell.cpp:2844
-msgid ""
-" <norm-form> normalization form to use, either none, internal, or "
-"strict"
-msgstr ""
-" <norm-form> forma normalizatã de folosit, fie none, internal sau "
-"strict"
-
-#: prog/aspell.cpp:2854
-#, c-format
+#: prog/aspell.cpp:2849
+msgid " <norm-form> normalization form to use, either none, internal, or strict"
+msgstr " <norm-form> forma normalizatã de folosit, fie none, internal sau strict"
+
+#: prog/aspell.cpp:2859
+#, fuzzy, c-format
+#| msgid ""
+#| "\n"
+#| "Aspell %s. Copyright 2000-2004 by Kevin Atkinson.\n"
+#| "\n"
msgid ""
"\n"
"Aspell %s. Copyright 2000-2011 by Kevin Atkinson.\n"
"\n"
msgstr ""
"\n"
-"Aspell %s. Copyright 2000-2011 de Kevin Atkinson.\n"
+"Aspell %s. Copyright 2000-2004 de Kevin Atkinson.\n"
-#: prog/aspell.cpp:2888
+#: prog/aspell.cpp:2893
msgid ""
"Available Dictionaries:\n"
" Dictionaries can be selected directly via the \"-d\" or \"master\"\n"
" \"variety\", and \"size\" options.\n"
msgstr ""
"Dicþionare disponibile:\n"
-" Dicþionarele pot fi selectate direct folosind opþiunile \"-d\" sau "
-"\"master\".\n"
-" Ele mai pot fi selectate indirect folosind opþiunile \"lang\", \"variety"
-"\",\n"
+" Dicþionarele pot fi selectate direct folosind opþiunile \"-d\" sau \"master\".\n"
+" Ele mai pot fi selectate indirect folosind opþiunile \"lang\", \"variety\",\n"
" ºi \"size\".\n"
-#: prog/aspell.cpp:2909
+#: prog/aspell.cpp:2914
msgid ""
"Available Filters (and associated options):\n"
" Filters can be added or removed via the \"filter\" option.\n"
"Filtre disponibile (ºi opþiunile asociate):\n"
" Filtrele pot fi adãugate ºi îndepãrtate folosind opþiunea \"filter\".\n"
-#: prog/aspell.cpp:2916
+#: prog/aspell.cpp:2921
#, c-format
msgid ""
"\n"
" %s filtru: %s\n"
#. TRANSLATORS: This should be formated to fit in 80 column or less
-#: prog/aspell.cpp:2933
+#: prog/aspell.cpp:2938
msgid ""
"Available Filter Modes:\n"
" Filter Modes are reconfigured combinations of filters optimized for\n"
" type from the extension, and possibility the contents, of the file.\n"
msgstr ""
"Moduri filtru disponibile:\n"
-" Modurile filtru subt combinaþii reconfigurate de filtre optimizate "
-"pentru\n"
-" fiºiere de un anumit tip. Un mod este selectat folosind opþiunea \"mode"
-"\".\n"
-" Aceasta va avea loc implicit dacã Aspell poate identifica tipul "
-"fiºierului\n"
+" Modurile filtru subt combinaþii reconfigurate de filtre optimizate pentru\n"
+" fiºiere de un anumit tip. Un mod este selectat folosind opþiunea \"mode\".\n"
+" Aceasta va avea loc implicit dacã Aspell poate identifica tipul fiºierului\n"
" în funcþie de extensia ºi probabil conþinutul fiºierului.\n"
#: prog/check_funs.cpp:287
#: modules/speller/default/language.cpp:494
#: modules/speller/default/language.cpp:503
#, c-format
-msgid ""
-"The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgid "The character '%s' (U+%02X) must be followed by an alphabetic character."
msgstr "Caracterul '%s' (U+%02X) trebuie urmat de o literã din alfabet."
#: modules/speller/default/language.cpp:496
msgstr "Caracterul '%s' (U+%02X) nu poate apare la mijlocul unui cuvânt."
#: modules/speller/default/language.cpp:508
-msgid ""
-"The character '\\r' (U+0D) may not appear at the end of a word. This "
-"probably means means that the file is using MS-DOS EOL instead of Unix EOL."
-msgstr ""
-"Caracterul '\\r' (U+0D) nu poate apare la sfârºitul unui cuvânt. Aceasta "
-"înseamnã probabil cã fiºierul foloseºte EOL din MS-DOS în loc de EOL din "
-"Unix."
+msgid "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgstr "Caracterul '\\r' (U+0D) nu poate apare la sfârºitul unui cuvânt. Aceasta înseamnã probabil cã fiºierul foloseºte EOL din MS-DOS în loc de EOL din Unix."
#: modules/speller/default/language.cpp:511
#, c-format
msgid "Warning: Removing inapplicable affix '%s' from word %s.\n"
msgstr "Avertisment: Îndepãrtez affix-ul incorect '%s' din cuvântul %s.\n"
-#: modules/speller/default/language.cpp:674
+#: modules/speller/default/language.cpp:675
#, c-format
msgid "Warning: %s Skipping string.\n"
msgstr "Avertisment: %s Sãr peste ºir.\n"
-#: modules/speller/default/language.cpp:732
+#: modules/speller/default/language.cpp:733
msgid "The total length is larger than 240 characters."
msgstr "Lungimea totalã e mai mare de 240 caractere."
-#: modules/speller/default/language.cpp:736
+#: modules/speller/default/language.cpp:737
#, c-format
msgid "Warning: %s Skipping word.\n"
msgstr "Avertisment: %s sare cuvânt.\n"
msgstr "Mumãrãtoare posibil incorectã."
#: modules/speller/default/readonly_ws.cpp:362
+msgid "Incompatible hash function."
+msgstr ""
+
+#: modules/speller/default/readonly_ws.cpp:440
msgid "Wrong endian order."
msgstr "Ordine endian-ã greºitã."
-#: modules/speller/default/readonly_ws.cpp:385
+#: modules/speller/default/readonly_ws.cpp:463
msgid "Wrong soundslike."
msgstr "\"Sunã ca\" greºit."
-#: modules/speller/default/readonly_ws.cpp:391
+#: modules/speller/default/readonly_ws.cpp:469
msgid "Wrong soundslike version."
msgstr "Versiune \"Sunã ca\" greºitã."
-#: modules/speller/default/readonly_ws.cpp:853
+#: modules/speller/default/readonly_ws.cpp:934
msgid "Affix flags found in word but no affix file given."
msgstr "Marcaje affix gãsie în cuvânt dar nici un fiºier de affix-e dat."
-#: modules/speller/default/readonly_ws.cpp:891
-msgid ""
-"The total word length, with soundslike data, is larger than 240 characters."
-msgstr ""
-"Lungimea totalã a cuvântului, cu datele \"sunã ca\", e mai mare de 240 "
-"caractere."
+#: modules/speller/default/readonly_ws.cpp:972
+msgid "The total word length, with soundslike data, is larger than 240 characters."
+msgstr "Lungimea totalã a cuvântului, cu datele \"sunã ca\", e mai mare de 240 caractere."
#: modules/speller/default/multi_ws.cpp:58
msgid "There must be at least one \"add\" line."
msgid "HTML tags to always skip the contents of"
msgstr "marcaje HTML ale cãror conþinut sã fie ignorat"
+#: modules/filter/markdown-filter.info:8
+#, fuzzy
+#| msgid "filter for dealing with Texinfo documents"
+msgid "filter for Markdown/CommonMark documents"
+msgstr "filtru pentru procesarea documentelor Texinfo"
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
+msgstr ""
+
#: modules/filter/nroff-filter.info:7
msgid "filter for dealing with Nroff documents"
msgstr "filtru pentru procesarea documentelor Nroff"
msgid "mode for checking HTML documents"
msgstr "mod pentru verificarea documentelor HTML"
+#: modules/filter/modes/markdown.amf:10
+#, fuzzy
+#| msgid "mode for checking Nroff documents"
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr "mod pentru verificarea documentelor Nroff"
+
#: modules/filter/modes/none.amf:5
msgid "mode to disable all filters"
msgstr "mod pentru deactivarea tuturor filtrelor"
#~ msgstr "Nu pot gãsi fiºierul de opþiuni \"%option:2\"."
#~ msgid "Empty value; only bool type option and \"rem-all\" list prefix."
-#~ msgstr ""
-#~ "Valoare goalã; numai opþiune de tip boolean ºi listã prefixe \"rem-all\""
+#~ msgstr "Valoare goalã; numai opþiune de tip boolean ºi listã prefixe \"rem-all\""
#~ msgid "\"%action:1\": invalid regular expression."
#~ msgstr "\"%action:1\": expresie regularã invalidã."
#~ " and help for filters matching <expr> if installed\n"
#~ " -c|check <file> to check a file\n"
#~ " -a|pipe \"ispell -a\" compatibility mode\n"
-#~ " list produce a list of misspelled words from standard "
-#~ "input\n"
+#~ " list produce a list of misspelled words from standard input\n"
#~ " [dump] config [-e <expr>] dumps the current configuration to stdout\n"
#~ " config [+e <expr>] <key> prints the current value of an option\n"
-#~ " soundslike returns the sounds like equivalent for each word "
-#~ "entered\n"
+#~ " soundslike returns the sounds like equivalent for each word entered\n"
#~ " munch generate possible root words and affixes\n"
#~ " expand [1-4] expands affix flags\n"
#~ " clean [strict] cleans a word list so that every line is a valid word\n"
#~ " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]\n"
#~ " perform unicode normlization\n"
#~ " dump|create|merge master|personal|repl [word list]\n"
-#~ " dumps, creates or merges a master, personal, or replacement word "
-#~ "list.\n"
+#~ " dumps, creates or merges a master, personal, or replacement word list.\n"
#~ "\n"
#~ " <expr> regular expression matching filtername(s) or \"all\"\n"
-#~ " <norm-form> normalization form to use, either none, internal, or "
-#~ "strict\n"
+#~ " <norm-form> normalization form to use, either none, internal, or strict\n"
#~ "\n"
#~ "[options] is any of the following:\n"
#~ "\n"
#~ " dacã acestea sunt instalate\n"
#~ " -c|check <fiºier> pentru a verifica un fiºier\n"
#~ " -a|pipe mod compatibilitate \"ispell -a\"\n"
-#~ " list genereazã o listã de cuvinte scrise greºit de la "
-#~ "intrarea standard\n"
+#~ " list genereazã o listã de cuvinte scrise greºit de la intrarea standard\n"
#~ " [dump] config [-e <expr>] scrie configuraþia curentã la stdout\n"
#~ " config [+e <expr>] <key> afiºeazã valoarea curentã pentru o opþiune\n"
-#~ " soundslike întoarce echivalentul \"sunã ca\" pentru fiecare "
-#~ "cuvânt introdus\n"
+#~ " soundslike întoarce echivalentul \"sunã ca\" pentru fiecare cuvânt introdus\n"
#~ " munch genereazã cuvintele rãdãcinã posibile ºi affix-ele\n"
#~ " expand [1-4] expandeazã marcajele affix\n"
-#~ " clean [strict] curãþã o listã de cuvinte pentru ca fiecare linie sã "
-#~ "fie\n"
+#~ " clean [strict] curãþã o listã de cuvinte pentru ca fiecare linie sã fie\n"
#~ " un cuvânt valid\n"
#~ " filter paseazã intrarea standard prin filtre\n"
#~ " -v|version afiºeazã o linie de versiune\n"
#~ " scrie, creazã sau combinã o listã de cuvinte principalã, personalã, \n"
#~ " sau de înlocuiri.\n"
#~ "\n"
-#~ " <expr> expresii regulare ce se potrivesc cu numefiltre sau "
-#~ "\"all\"\n"
+#~ " <expr> expresii regulare ce se potrivesc cu numefiltre sau \"all\"\n"
#~ " <norm-form> forma de normalizare de folosit, fie none, internal \n"
#~ " sau strict\n"
#~ "\n"
#~ msgstr ""
#~ "\n"
#~ " %s filtru: %s\n"
-#~ " NOTÃ: în cazurile ambigue puneþi prefixul \"filter-\" pentru "
-#~ "urmãtoarele opþiuni\n"
+#~ " NOTÃ: în cazurile ambigue puneþi prefixul \"filter-\" pentru urmãtoarele opþiuni\n"
#~ msgid "Filter for eliminating email quote characters"
#~ msgstr "Filtru penntru eliminarea citãrii în email"
#~ msgstr "%where:1: %filter:2: nu pot gãsi descrierea opþiunii."
#~ msgid "%where:1: \"%filter:2\" Line %line:3 confused by version control"
-#~ msgstr ""
-#~ "%where:1: \"%filter:2\" Linia %line:3 confuzatã de controlul versiunii"
+#~ msgstr "%where:1: \"%filter:2\" Linia %line:3 confuzatã de controlul versiunii"
#~ msgid "Expected the file to be in \"%s\" not \"%s\"."
#~ msgstr "M-am aºteptat ca fiºierul sã fie în \"%s\" nu în \"%s\"."
# Copyright (C) 2004 Kevin Atkinson.
#
# Pavel Maryanov <acid_jack@ukr.net>, 2004, 2005, 2007.
+# Yuri Kozlov <yuray@komyakino.ru>, 2013.
msgid ""
msgstr ""
-"Project-Id-Version: aspell-0.60.5\n"
+"Project-Id-Version: aspell-0.60.7\n"
"Report-Msgid-Bugs-To: kevina@gnu.org\n"
-"POT-Creation-Date: 2011-07-04 03:25-0600\n"
-"PO-Revision-Date: 2010-12-11 20:27+0600\n"
-"Last-Translator: áÌÅËÓ <davian818@gmail.com>\n"
-"Language-Team: Russian <ru@li.org>\n"
+"POT-Creation-Date: 2019-07-29 02:38-0400\n"
+"PO-Revision-Date: 2013-12-17 20:33+0400\n"
+"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
+"Language-Team: Russian <gnu@mx.ru>\n"
+"Language: ru\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=KOI8-R\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.11.4\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Generator: Lokalize 1.4\n"
#: common/info.cpp:232
msgid "a number between 0 and 1"
-msgstr "ÞÉÓÌÏ ÍÅÖÄÕ 0 É 1"
+msgstr "число между 0 и 1"
#: common/info.cpp:569
msgid "in the form \"<name> <value>\""
-msgstr "× ×ÉÄÅ \"<ÉÍÑ> <ÚÎÁÞÅÎÉÅ>\""
+msgstr "в виде \"<имя> <значение>\""
#: common/config.cpp:74
msgid "string"
#: common/config.cpp:74
msgid "list"
-msgstr "ÓÐÉÓÏË"
+msgstr "список"
#. TRANSLATORS: "true" and "false" are literal
#. * values and should not be translated.
#: common/config.cpp:978
msgid "either \"true\" or \"false\""
-msgstr "\"true\" ÌÉÂÏ \"false\""
+msgstr "либо \"true\", либо \"false\""
#: common/config.cpp:997
msgid "a positive integer"
-msgstr "ÐÏÌÏÖÉÔÅÌØÎÏÅ ÃÅÌÏÅ ÞÉÓÌÏ"
+msgstr "положиÑ\82елÑ\8cное Ñ\86елое Ñ\87иÑ\81ло"
#: common/config.cpp:1125
msgid "# default: "
-msgstr "# ÐÏ ÕÍÏÌÞÁÎÉÀ: "
+msgstr "# по Ñ\83молÑ\87аниÑ\8e: "
#: common/config.cpp:1188
#, c-format
"\n"
"#######################################################################\n"
"#\n"
-"# æÉÌØÔÒ: %s\n"
+"# Фильтр: %s\n"
"# %s\n"
"#\n"
-"# ÎÁÓÔÒÏÅÎ ÓÌÅÄÕÀÝÉÍ ÏÂÒÁÚÏÍ:\n"
+"# настроен следующим образом:\n"
"\n"
#: common/config.cpp:1286
msgid "ASPELL_CONF env var"
-msgstr "ÐÅÒÅÍÅÎÎÁÑ ÏËÒÕÖÅÎÉÑ ASPELL_CONF"
+msgstr "пеÑ\80еменнаÑ\8f окÑ\80Ñ\83жениÑ\8f ASPELL_CONF"
-#. TRANSLATORS: The remaing strings in config.cpp should be kept
+#. TRANSLATORS: The remaining strings in config.cpp should be kept
#. under 50 characters, begin with a lower case character and not
#. include any trailing punctuation marks.
#: common/config.cpp:1360
msgid "main configuration file"
-msgstr "ÇÌÁ×ÎÙÊ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ ÆÁÊÌ"
+msgstr "главный конфигурационный файл"
#: common/config.cpp:1362
msgid "location of main configuration file"
-msgstr "ÍÅÓÔÏÎÁÈÏÖÄÅÎÉÅ ÇÌÁ×ÎÏÇÏ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÏÇÏ ÆÁÊÌÁ"
+msgstr "местонахождение главного конфигурационного файла"
#: common/config.cpp:1365
msgid "location of language data files"
-msgstr "ÍÅÓÔÏÎÁÈÏÖÄÅÎÉÅ ÆÁÊÌÏ× ÑÚÙËÏ×ÙÈ ÄÁÎÎÙÈ"
+msgstr "местонахождение файлов языковых данных"
#: common/config.cpp:1367
msgid "create dictionary aliases"
-msgstr "ÓÏÚÄÁÎÉÅ ÐÓÅ×ÄÏÎÉÍÏ× ÓÌÏ×ÁÒÑ"
+msgstr "создание алиасов словаря"
#: common/config.cpp:1369
msgid "location of the main word list"
-msgstr "ÍÅÓÔÏÎÁÈÏÖÄÅÎÉÅ ÇÌÁ×ÎÏÇÏ ÓÐÉÓËÁ ÓÌÏ×"
+msgstr "местонахождение главного списка слов"
#: common/config.cpp:1371
msgid "encoding to expect data to be in"
-msgstr "ÏÖÉÄÁÅÍÁÑ ËÏÄÉÒÏ×ËÁ ÄÁÎÎÙÈ"
+msgstr "ожидаемая кодировка данных"
#: common/config.cpp:1373
msgid "add or removes a filter"
-msgstr "ÄÏÂÁ×ÌÅÎÉÅ ÉÌÉ ÕÄÁÌÅÎÉÅ ÆÉÌØÔÒÁ"
+msgstr "добавление или удаление фильтра"
#: common/config.cpp:1375
msgid "path(s) aspell looks for filters"
-msgstr "ÐÕÔÉ ÄÌÑ ÐÏÉÓËÁ ÆÉÌØÔÒÏ× aspell"
+msgstr "пÑ\83Ñ\82и длÑ\8f поиÑ\81ка Ñ\84илÑ\8cÑ\82Ñ\80ов aspell"
#: common/config.cpp:1379
msgid "filter mode"
-msgstr "ÒÅÖÉÍ ÆÉÌØÔÒÁ"
+msgstr "режим фильтра"
#: common/config.cpp:1381
msgid "extra dictionaries to use"
-msgstr "ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ÉÓÐÏÌØÚÕÅÍÙÅ ÓÌÏ×ÁÒÉ"
+msgstr "дополнительные используемые словари"
#: common/config.cpp:1383
msgid "location for personal files"
-msgstr "ÍÅÓÔÏÎÁÈÏÖÄÅÎÉÅ ÌÉÞÎÙÈ ÆÁÊÌÏ×"
+msgstr "местонахождение личных файлов"
#: common/config.cpp:1385
msgid "ignore words <= n chars"
-msgstr "ÉÇÎÏÒÉÒÏ×ÁÎÉÅ ÓÌÏ× ËÏÒÏÞÅ n ÓÉÍ×ÏÌÏ×"
+msgstr "игнорирование слов <= n символов"
#. TRANSLATORS: It is OK if this is longer than 50 chars
#: common/config.cpp:1388
msgid "ignore accents when checking words -- CURRENTLY IGNORED"
-msgstr "ÉÇÎÏÒÉÒÏ×ÁÎÉÅ ÕÄÁÒÅÎÉÊ ÐÒÉ ÐÒÏ×ÅÒËÅ ÓÌÏ× -- óåêþáó éçîïòéòõåôóñ"
+msgstr "игнорирование ударений при проверке слов — СЕЙЧАС ИГНОРИРУЕТСЯ"
#: common/config.cpp:1390
msgid "ignore case when checking words"
-msgstr "ÉÇÎÏÒÉÒÏ×ÁÎÉÅ ÒÅÇÉÓÔÒÁ ÐÒÉ ÐÒÏ×ÅÒËÅ ÓÌÏ×"
+msgstr "игнорирование регистра при проверке слов"
#: common/config.cpp:1392
msgid "ignore commands to store replacement pairs"
-msgstr "ÉÇÎÏÒÉÒÏ×ÁÎÉÅ ËÏÍÁÎÄ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÐÁÒ ÚÁÍÅÎÙ"
+msgstr "игнорирование команд для сохранения заменяемых пар"
#: common/config.cpp:1394 common/config.cpp:1461
msgid "extra information for the word list"
-msgstr "ÄÏÐ. ÉÎÆÏÒÍÁÃÉÑ ÄÌÑ ÓÐÉÓËÁ ÓÌÏ×"
+msgstr "доп. информация для списка слов"
#: common/config.cpp:1396
msgid "keyboard definition to use for typo analysis"
-msgstr "ÏÐÒÅÄÅÌÅÎÉÅ ËÌÁ×ÉÁÔÕÒÙ ÄÌÑ ÁÎÁÌÉÚÁ ÏÐÅÞÁÔÏË"
+msgstr "определение клавиатуры для анализа опечаток"
#: common/config.cpp:1398
msgid "language code"
-msgstr "ËÏÄ ÑÚÙËÁ"
+msgstr "код языка"
#: common/config.cpp:1400
msgid "deprecated, use lang instead"
-msgstr "ÕÓÔÁÒÅÌ, ÉÓÐÏÌØÚÕÊÔÅ lang"
+msgstr "не одобряется, используйте lang"
#: common/config.cpp:1402
msgid "location of local language data files"
-msgstr "ÍÅÓÔÏÎÁÈÏÖÄÅÎÉÅ ÆÁÊÌÏ× ÌÏËÁÌØÎÙÈ ÑÚÙËÏ×ÙÈ ÄÁÎÎÙÈ"
+msgstr "местонахождение файлов локальных языковых данных"
#: common/config.cpp:1404
msgid "base name of the main dictionary to use"
-msgstr "ÂÁÚÏ×ÏÅ ÉÍÑ ÇÌÁ×ÎÏÇÏ ÓÌÏ×ÁÒÑ"
+msgstr "базовое имя главного словаря"
#: common/config.cpp:1408
msgid "set module name"
-msgstr "ÕÓÔÁÎÏ×ËÁ ÉÍÅÎÉ ÍÏÄÕÌÑ"
+msgstr "установка имени модуля"
#: common/config.cpp:1410
msgid "search order for modules"
-msgstr "ÐÏÒÑÄÏË ÐÏÉÓËÁ ÍÏÄÕÌÑ"
+msgstr "поÑ\80Ñ\8fдок поиÑ\81ка модÑ\83лÑ\8f"
#: common/config.cpp:1412
msgid "enable Unicode normalization"
-msgstr "×ËÌÀÞÅÎÉÅ ÎÏÒÍÁÌÉÚÁÃÉÉ àÎÉËÏÄÁ"
+msgstr "включение нормализации Юникода"
#: common/config.cpp:1414
msgid "Unicode normalization required for current lang"
-msgstr "ÄÌÑ ÔÅËÕÝÅÇÏ ÑÚÙËÁ ÔÒÅÂÕÅÔÓÑ ÎÏÒÍÁÌÉÚÁÃÉÑ àÎÉËÏÄÁ"
+msgstr "для текущего языка требуется нормализация Юникода"
#. TRANSLATORS: the values after the ':' are literal
#. values and should not be translated.
#: common/config.cpp:1418
msgid "Unicode normalization form: none, nfd, nfc, comp"
-msgstr "ÔÉÐ ÎÏÒÍÁÌÉÚÁÃÉÉ àÎÉËÏÄÁ: none, nfd, nfc, comp"
+msgstr "тип нормализации Юникода: none, nfd, nfc, comp"
#: common/config.cpp:1420
msgid "avoid lossy conversions when normalization"
-msgstr "ÎÅ ÄÏÐÕÓËÁÔØ ÐÏÔÅÒØ ÐÒÉ ÎÏÒÍÁÌÉÚÁÃÉÉ"
+msgstr "предотвр. преобразов. с потерями при нормализации"
#: common/config.cpp:1422
msgid "personal configuration file"
-msgstr "ÌÉÞÎÙÊ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ ÆÁÊÌ"
+msgstr "личный конфигурационный файл"
#: common/config.cpp:1425
msgid "personal dictionary file name"
-msgstr "ÉÍÑ ÆÁÊÌÁ ÌÉÞÎÏÇÏ ÓÌÏ×ÁÒÑ"
+msgstr "имя файла личного словаря"
#: common/config.cpp:1428
msgid "prefix directory"
-msgstr "ËÁÔÁÌÏÇ-ÐÒÅÆÉËÓ"
+msgstr "префикс каталога"
#: common/config.cpp:1430
msgid "replacements list file name"
-msgstr "ÉÍÑ ÆÁÊÌÁ ÓÐÉÓËÁ ÚÁÍÅÎ"
+msgstr "имя файла списка замен"
#: common/config.cpp:1433
msgid "consider run-together words legal"
-msgstr "ÒÁÚÒÅÛÁÔØ ÎÁÐÉÓÁÎÎÙÅ ÓÌÉÔÎÏ ÓÌÏ×Á"
+msgstr "признание допустимым слов run-together"
#: common/config.cpp:1435
msgid "maximum number that can be strung together"
-msgstr "ÍÁËÓÉÍÁÌØÎÏÅ ÞÉÓÌÏ ÎÁÐÉÓÁÎÎÙÈ ÓÌÉÔÎÏ ÓÌÏ×"
+msgstr "максимальное число, могущее быть завязанным вместе"
#: common/config.cpp:1437
msgid "minimal length of interior words"
-msgstr "ÍÉÎÉÍÁÌØÎÁÑ ÄÌÉÎÁ ×ÎÕÔÒÅÎÎÉÈ ÓÌÏ×"
+msgstr "минимальная длина внутренних слов"
#: common/config.cpp:1439
msgid "save replacement pairs on save all"
-msgstr "ÓÏÈÒÁÎÅÎÉÅ ÚÁÍÅÎÅÎÎÙÈ ÐÁÒ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ×ÓÅÇÏ"
+msgstr "сохранение замененных пар при сохранении всего"
#: common/config.cpp:1441
msgid "set the prefix based on executable location"
-msgstr "ÕÓÔ. ÐÒÅÆÉËÓÁ ÓÏÇÌÁÓÎÏ ÍÅÓÔÏÎÁÈÏÖÄÅÎÉÀ ÉÓÐ. ÆÁÊÌÁ"
+msgstr "уст. префикса согласно местонахождению исп. файла"
#: common/config.cpp:1443
msgid "size of the word list"
-msgstr "ÒÁÚÍÅÒ ÓÐÉÓËÁ ÓÌÏ×"
+msgstr "размер списка слов"
#: common/config.cpp:1445
msgid "no longer used"
-msgstr "ÂÏÌØÛÅ ÎÅ ÉÓÐÏÌØÚÕÅÔÓÑ"
+msgstr "больше не используется"
#: common/config.cpp:1447
msgid "suggestion mode"
-msgstr "ÒÅÖÉÍ ÐÒÅÄÌÏÖÅÎÉÑ"
+msgstr "режим предложения"
#. TRANSLATORS: "sug-mode" is a literal value and should not be
#. translated.
#: common/config.cpp:1451
msgid "edit distance to use, override sug-mode default"
-msgstr "ÉÚÍÅÎÅÎÉÅ ÉÓÐ. ÒÁÓÓÔÏÑÎÉÑ, ÐÅÒÅËÒÙ×ÁÅÔ sug-mode"
+msgstr "изменение исп. расстояния, перекрывает sug-mode"
#: common/config.cpp:1453
msgid "use typo analysis, override sug-mode default"
-msgstr "ÉÓÐÏÌØÚÏ×. ÁÎÁÌÉÚÁ ÏÐÅÞÁÔÏË, ÐÅÒÅËÒÙ×ÁÅÔ sug-mode"
+msgstr "использов. анализа опечаток, перекрывает sug-mode"
#: common/config.cpp:1455
msgid "use replacement tables, override sug-mode default"
-msgstr "ÉÓÐÏÌØÚÏ×. ÔÁÂÌÉà ÚÁÍÅÎÙ, ÐÅÒÅËÒÙ×ÁÅÔ sug-mode"
+msgstr "использов. таблиц замены, перекрывает sug-mode"
#: common/config.cpp:1457
msgid "characters to insert when a word is split"
-msgstr "ÓÉÍ×ÏÌÙ, ×ÓÔÁ×ÌÑÅÍÙÅ ÐÒÉ ÒÁÚÄÅÌÅÎÉÉ ÓÌÏ×Á"
+msgstr "символы, вставляемые при разделении слова"
#: common/config.cpp:1459
msgid "use personal, replacement & session dictionaries"
-msgstr "ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÌÉÞÎ., Ó ÚÁÍÅÎ. É ÓÅÓÓÉÏÎ. ÓÌÏ×ÁÒÅÊ"
+msgstr "использование личн., с замен. и сессион. словарей"
#: common/config.cpp:1463
msgid "search path for word list information files"
-msgstr "ÐÕÔØ ÐÏÉÓËÁ ÆÁÊÌÏ× Ó ÉÎÆÏÒÍÁÃÉÅÊ ÓÐÉÓËÁ ÓÌÏ×"
+msgstr "пÑ\83Ñ\82Ñ\8c поиÑ\81ка Ñ\84айлов Ñ\81 инÑ\84оÑ\80маÑ\86ией Ñ\81пиÑ\81ка Ñ\81лов"
#: common/config.cpp:1465
msgid "enable warnings"
-msgstr "×ËÌÀÞÅÎÉÅ ÐÒÅÄÕÐÒÅÖÄÅÎÉÊ"
+msgstr "включение предупреждений"
#. TRANSLATORS: It is OK if this is longer than 50 chars
#: common/config.cpp:1475
msgid "indicator for affix flags in word lists -- CURRENTLY IGNORED"
-msgstr "ÉÎÄÉËÁÔÏÒ ÆÌÁÇÏ× ÁÆÆÉËÓÏ× × ÓÐÉÓËÁÈ ÓÌÏ× - óåêþáó éçîïòéòõåôóñ"
+msgstr "индикатор аффиксных флагов в списках слов — СЕЙЧАС ИГНОРИРУЕТСЯ"
#: common/config.cpp:1477
msgid "use affix compression when creating dictionaries"
-msgstr "ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÓÖÁÔÉÑ ÁÆÆÉËÓÏ× ÐÒÉ ÓÏÚÄÁÎÉÉ ÓÌÏ×ÁÒÅÊ"
+msgstr "использование сжатия аффикса при создании словарей"
#: common/config.cpp:1479
msgid "remove invalid affix flags"
-msgstr "ÕÄÁÌÅÎÉÅ ÎÅ×ÅÒÎÙÈ ÆÌÁÇÏ× ÁÆÆÉËÓÏ×"
+msgstr "удаление неверных аффиксов флагов"
#: common/config.cpp:1481
msgid "attempts to clean words so that they are valid"
-msgstr "ÐÏÐÙÔËÁ ÏÞÉÓÔÉÔØ ÓÌÏ×Á, ÞÔÏÂÙ ÏÎÉ ÓÔÁÌÉ ×ÅÒÎÙÍÉ"
+msgstr "попÑ\8bÑ\82ка оÑ\87иÑ\81Ñ\82иÑ\82Ñ\8c Ñ\81лова, Ñ\87Ñ\82обÑ\8b они Ñ\81Ñ\82али веÑ\80нÑ\8bми"
#: common/config.cpp:1483
msgid "compute soundslike on demand rather than storing"
-msgstr "×ÙÞÉÓÌÅÎÉÅ soundslike ÐÏ ÔÒÅÂÏ×ÁÎÉÀ ×ÍÅÓÔÏ ÈÒÁÎÅÎÉÑ"
+msgstr "вычисление soundslike по требованию вместо хранения"
#: common/config.cpp:1485
msgid "partially expand affixes for better suggestions"
-msgstr "ÞÁÓÔÉÞÎÏÅ ÒÁÓÛÉÒ. ÁÆÆÉËÓÏ× ÄÌÑ ÕÌÕÞÛ. ÐÒÅÄÌÏÖÅÎÉÊ"
+msgstr "частичное расшир. аффиксов для улучш. предложений"
#: common/config.cpp:1487
msgid "skip invalid words"
-msgstr "ÐÒÏÐÕÓË ÎÅ×ÅÒÎÙÈ ÓÌÏ×"
+msgstr "пÑ\80опÑ\83Ñ\81к невеÑ\80нÑ\8bÑ\85 Ñ\81лов"
#: common/config.cpp:1489
msgid "check if affix flags are valid"
-msgstr "ÐÒÏ×ÅÒËÁ ÐÒÁ×ÉÌØÎÏÓÔÉ ÆÌÁÇÏ× ÁÆÆÉËÓÏ×"
+msgstr "пÑ\80овеÑ\80ка пÑ\80авилÑ\8cноÑ\81Ñ\82и Ñ\84лагов аÑ\84Ñ\84икÑ\81ов"
#: common/config.cpp:1491
msgid "check if words are valid"
-msgstr "ÐÒÏ×ÅÒËÁ ÐÒÁ×ÉÌØÎÏÓÔÉ ÓÌÏ×"
+msgstr "пÑ\80овеÑ\80ка пÑ\80авилÑ\8cноÑ\81Ñ\82и Ñ\81лов"
#: common/config.cpp:1498
msgid "create a backup file by appending \".bak\""
-msgstr "ÓÏÚÄÁÎÉÅ ÒÅÚÅÒ×ÎÏÇÏ ÆÁÊÌÁ ÄÏÂÁ×ÌÅÎÉÅÍ \".bak\""
+msgstr "создание резервного файла добавлением \".bak\""
#: common/config.cpp:1500
msgid "use byte offsets instead of character offsets"
-msgstr "ÓÍÅÝÅÎÉÑ × ÂÁÊÔÁÈ ×ÍÅÓÔÏ ÓÍÅÝÅÎÉÊ × ÓÉÍ×ÏÌÁÈ"
+msgstr "смещения байтов вместо смещения символов"
#: common/config.cpp:1502
msgid "create missing root/affix combinations"
-msgstr "ÓÏÚÄÁÎÉÅ ÏÔÓÕÔÓÔ×ÕÀÝÉÈ ËÏÍÂÉÎÁÃÉÊ ËÏÒÅÎØ/ÁÆÆÉËÓ"
+msgstr "создание отсутствующих комбинаций корень/аффикс"
#: common/config.cpp:1504
msgid "keymapping for check mode: \"aspell\" or \"ispell\""
-msgstr "ËÌÁ×ÉÛÉ ÒÅÖÉÍÁ ÐÒÏ×ÅÒËÉ: \"aspell\" ÉÌÉ \"ispell\""
+msgstr "клавиши режима проверки: \"aspell\" или \"ispell\""
#: common/config.cpp:1506
msgid "reverse the order of the suggest list"
-msgstr "ÏÂÒÁÔÎÙÊ ÐÏÒÑÄÏË ÓÐÉÓËÁ ÐÒÅÄÌÏÖÅÎÉÊ"
+msgstr "обратный порядок списка предложений"
#: common/config.cpp:1508
msgid "suggest possible replacements"
-msgstr "ÐÒÅÄÌÏÖÅÎÉÅ ×ÏÚÍÏÖÎÙÈ ÚÁÍÅÎ"
+msgstr "пÑ\80едложение возможнÑ\8bÑ\85 замен"
#: common/config.cpp:1510
msgid "time load time and suggest time in pipe mode"
-msgstr "×ÒÅÍÑ ÚÁÇÒÕÚËÉ É ×ÒÅÍÑ ÐÒÅÄÌÏÖÅÎÉÑ × pipe-ÒÅÖÉÍÅ"
+msgstr "время загрузки и время предложения в pipe-режиме"
-#: common/convert.cpp:303 common/convert.cpp:429
+#: common/convert.cpp:303 common/convert.cpp:497
#, c-format
-msgid ""
-"This could also mean that the file \"%s\" could not be opened for reading or "
-"does not exist."
-msgstr ""
-"üÔÏ ÔÁËÖÅ ÍÏÖÅÔ ÏÚÎÁÞÁÔØ, ÞÔÏ ÆÁÊÌ \"%s\" ÎÅ ÍÏÖÅÔ ÂÙÔØ ÏÔËÒÙÔ ÄÌÑ ÞÔÅÎÉÑ "
-"ÉÌÉ ÏÎ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ."
+msgid "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
+msgstr "Это также может означать, что файл \"%s\" не может быть открыт для чтения или он не существует."
-#: common/convert.cpp:552 common/convert.cpp:659 common/convert.cpp:705
+#: common/convert.cpp:582 common/convert.cpp:689 common/convert.cpp:735
#, c-format
msgid "The Unicode code point U+%04X is unsupported."
-msgstr "óÉÍ×ÏÌ àÎÉËÏÄÁ U+%04X ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ."
+msgstr "Символ Юникода U+%04X не поддерживается."
-#: common/convert.cpp:829
+#: common/convert.cpp:859
#, c-format
msgid "Invalid UTF-8 sequence at position %ld."
-msgstr "îÅ×ÅÒÎÁÑ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ UTF-8 ÐÏ ÁÄÒÅÓÕ %ld."
+msgstr "Неверная последовательность UTF-8 по адресу %ld."
#: common/errors.cpp:27
msgid "Operation Not Supported: %what:1"
-msgstr "ïÐÅÒÁÃÉÑ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ: %what:1"
+msgstr "Операция не поддерживается: %what:1"
#: common/errors.cpp:43
msgid "The method \"%what:1\" is unimplemented in \"%where:2\"."
-msgstr "íÅÔÏÄ \"%what:1\" ÎÅ ÒÅÁÌÉÚÏ×ÁÎ × \"%where:2\"."
+msgstr "Метод \"%what:1\" не исполняем в \"%where:2\"."
#: common/errors.cpp:51
#, c-format
#: common/errors.cpp:59
#, c-format
msgid "The file \"%file:1\" can not be opened"
-msgstr "æÁÊÌ \"%file:1\" ÎÅ ÍÏÖÅÔ ÂÙÔØ ÏÔËÒÙÔ"
+msgstr "Файл \"%file:1\" не может быть открыт"
#: common/errors.cpp:67
#, c-format
msgid "The file \"%file:1\" can not be opened for reading."
-msgstr "æÁÊÌ \"%file:1\" ÎÅ ÍÏÖÅÔ ÂÙÔØ ÏÔËÒÙÔ ÄÌÑ ÞÔÅÎÉÑ."
+msgstr "Файл \"%file:1\" не может быть открыт для чтения."
#: common/errors.cpp:75
#, c-format
msgid "The file \"%file:1\" can not be opened for writing."
-msgstr "æÁÊÌ \"%file:1\" ÎÅ ÍÏÖÅÔ ÂÙÔØ ÏÔËÒÙÔ ÄÌÑ ÚÁÐÉÓÉ."
+msgstr "Файл \"%file:1\" не может быть открыт для записи."
#: common/errors.cpp:83
#, c-format
msgid "The file name \"%file:1\" is invalid."
-msgstr "îÅ×ÅÒÎÏÅ ÉÍÑ ÆÁÊÌÁ \"%file:1\"."
+msgstr "Неверное имя файла \"%file:1\"."
#: common/errors.cpp:91
#, c-format
msgid "The file \"%file:1\" is not in the proper format."
-msgstr "æÁÊÌ \"%file:1\" × ÎÅÐÏÄÈÏÄÑÝÅÍ ÆÏÒÍÁÔÅ."
+msgstr "Файл \"%file:1\" в неподходящем формате."
#: common/errors.cpp:107
#, c-format
msgid "The directory \"%dir:1\" can not be opened for reading."
-msgstr "ëÁÔÁÌÏÇ \"%dir:1\" ÎÅ ÍÏÖÅÔ ÂÙÔØ ÏÔËÒÙÔ ÄÌÑ ÞÔÅÎÉÑ."
+msgstr "Каталог \"%dir:1\" не может быть открыт для чтения."
#: common/errors.cpp:123
msgid "The key \"%key:1\" is unknown."
-msgstr "ëÌÀÞ \"%key:1\" ÎÅ ÉÚ×ÅÓÔÅÎ."
+msgstr "Ключ \"%key:1\" не известен."
#: common/errors.cpp:131
msgid "The value for option \"%key:1\" can not be changed."
-msgstr "úÎÁÞÅÎÉÅ ÄÌÑ ÏÐÃÉÉ \"%key:1\" ÎÅ ÍÏÖÅÔ ÂÙÔØ ÉÚÍÅÎÅÎÏ."
+msgstr "Значение для опции \"%key:1\" не может быть изменено."
#: common/errors.cpp:139
msgid "The key \"%key:1\" is not %accepted:2 and is thus invalid."
-msgstr "ëÌÀÞ \"%key:1\" ÎÅ %accepted:2, É ÐÏÜÔÏÍÕ Ñ×ÌÑÅÔÓÑ ÎÅ×ÅÒÎÙÍ."
+msgstr "Ключ \"%key:1\" не %accepted:2, и поэтому является неверным."
#: common/errors.cpp:147
-msgid ""
-"The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%"
-"key:1\"."
-msgstr ""
-"úÎÁÞÅÎÉÅ \"%value:2\" ÎÅ %accepted:3, É ÐÏÜÔÏÍÕ Ñ×ÌÑÅÔÓÑ ÎÅ×ÅÒÎÙÍ ÄÌÑ ËÌÀÞÁ "
-"\"%key:1\"."
+msgid "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
+msgstr "Значение \"%value:2\" не %accepted:3, и поэтому является неверным для ключа \"%key:1\"."
#: common/errors.cpp:163
msgid "The key \"%key:1\" is not a string."
-msgstr "ëÌÀÞ \"%key:1\" ÎÅ Ñ×ÌÑÅÔÓÑ ÓÔÒÏËÏÊ."
+msgstr "Ключ \"%key:1\" не является строкой."
#: common/errors.cpp:171
msgid "The key \"%key:1\" is not an integer."
-msgstr "ëÌÀÞ \"%key:1\" ÎÅ Ñ×ÌÑÅÔÓÑ ÃÅÌÙÍ ÞÉÓÌÏÍ."
+msgstr "Ключ \"%key:1\" не является целым числом."
#: common/errors.cpp:179
msgid "The key \"%key:1\" is not a boolean."
-msgstr "ëÌÀÞ \"%key:1\" ÎÅ Ñ×ÌÑÅÔÓÑ ÌÏÇÉÞÅÓËÉÍ ÚÎÁÞÅÎÉÅÍ."
+msgstr "Ключ \"%key:1\" не является булевым типом."
#: common/errors.cpp:187
msgid "The key \"%key:1\" is not a list."
-msgstr "ëÌÀÞ \"%key:1\" ÎÅ Ñ×ÌÑÅÔÓÑ ÓÐÉÓËÏÍ."
+msgstr "Ключ \"%key:1\" не является списком."
#: common/errors.cpp:195
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"reset-"
-"\"."
-msgstr "ëÌÀÞ \"%key:1\" Ó ÐÒÅÆÉËÓÏÍ \"reset-\" ÎÅ ÉÓÐÏÌØÚÕÅÔ ÐÁÒÁÍÅÔÒÙ."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
+msgstr "Ключ \"%key:1\" не допускает никаких параметров с префиксом \"reset-\"."
#: common/errors.cpp:203
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by an \"enable-"
-"\"."
-msgstr "ëÌÀÞ \"%key:1\" Ó ÐÒÅÆÉËÓÏÍ \"enable-\" ÎÅ ÉÓÐÏÌØÚÕÅÔ ÐÁÒÁÍÅÔÒÙ."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by an \"enable-\"."
+msgstr "Ключ \"%key:1\" не допускает никаких параметров с префиксом \"enable-\"."
#: common/errors.cpp:211
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" "
-"or \"disable-\"."
-msgstr ""
-"ëÌÀÞ \"%key:1\" Ó ÐÒÅÆÉËÓÁÍÉ \"dont-\" ÉÌÉ \"disable-\" ÎÅ ÉÓÐÏÌØÚÕÅÔ "
-"ÐÁÒÁÍÅÔÒÙ."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
+msgstr "Ключ \"%key:1\" не допускает никаких параметров с префиксом \"dont-\" или \"disable-\"."
#: common/errors.cpp:219
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"clear-"
-"\"."
-msgstr "ëÌÀÞ \"%key:1\" Ó ÐÒÅÆÉËÓÏÍ \"clear-\" ÎÅ ÉÓÐÏÌØÚÕÅÔ ÐÁÒÁÍÅÔÒÙ."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
+msgstr "Ключ \"%key:1\" не допускает никаких параметров с префиксом \"clear-\"."
#: common/errors.cpp:235
#, c-format
msgid "The language \"%lang:1\" is not known."
-msgstr "ñÚÙË \"%lang:1\" ÎÅ ÉÚ×ÅÓÔÅÎ."
+msgstr "Язык \"%lang:1\" не известен."
#: common/errors.cpp:243
#, c-format
msgid "The soundslike \"%sl:2\" is not known."
-msgstr "Soundslike \"%sl:2\" ÎÅ ÉÚ×ÅÓÔÅÎ."
+msgstr "Soundslike \"%sl:2\" не известен."
#: common/errors.cpp:251
#, c-format
msgid "The language \"%lang:1\" is not supported."
-msgstr "ñÚÙË \"%lang:1\" ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ."
+msgstr "Язык \"%lang:1\" не поддерживается."
#: common/errors.cpp:259
#, c-format
msgid "No word lists can be found for the language \"%lang:1\"."
-msgstr "îÅ ÎÁÊÄÅÎÙ ÓÐÉÓËÉ ÓÌÏ× ÄÌÑ ÑÚÙËÁ \"%lang:1\"."
+msgstr "Списки слов не могут быть найдены для языка \"%lang:1\"."
#: common/errors.cpp:267
#, c-format
msgid "Expected language \"%lang:1\" but got \"%prev:2\"."
-msgstr "ïÖÉÄÁÌÓÑ ÑÚÙË \"%lang:1\", Á ÐÏÌÕÞÅÎ \"%prev:2\"."
+msgstr "Ожидался язык \"%lang:1\", а получен \"%prev:2\"."
#: common/errors.cpp:283
#, c-format
msgid "Affix '%aff:1' is corrupt."
-msgstr "áÆÆÉËÓ '%aff:1' ÐÏ×ÒÅÖÄÅÎ."
+msgstr "Аффикс '%aff:1' поврежден."
#: common/errors.cpp:291
#, c-format
msgid "The condition \"%cond:1\" is invalid."
-msgstr "îÅ×ÅÒÎÏÅ ÕÓÌÏ×ÉÅ \"%cond:1\"."
+msgstr "Неверное условие \"%cond:1\"."
#: common/errors.cpp:299
#, c-format
-msgid ""
-"The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be "
-"stripped."
-msgstr ""
-"õÓÌÏ×ÉÅ \"%cond:1\" ÎÅ ÇÁÒÁÎÔÉÒÕÅÔ, ÞÔÏ \"%strip:2\" ×ÓÅÇÄÁ ÍÏÖÎÏ ÏÔÄÅÌÉÔØ."
+msgid "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
+msgstr "Условие \"%cond:1\" не гарантирует, что \"%strip:2\" всегда может быть разделено."
#: common/errors.cpp:307
#, c-format
-msgid ""
-"The file \"%file:1\" is not in the proper format. Expected the file to be in "
-"\"%exp:2\" not \"%got:3\"."
-msgstr ""
-"æÁÊÌ \"%file:1\" × ÎÅÐÏÄÈÏÄÑÝÅÍ ÆÏÒÍÁÔÅ. ïÖÉÄÁÌÏÓØ, ÞÔÏ ÆÁÊÌ ÂÕÄÅÔ \"%exp:2"
-"\", Á ÎÅ \"%got:3\"."
+msgid "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
+msgstr "Файл \"%file:1\" в неподходящем формате. Ожидалось, что файл будет \"%exp:2\", а не \"%got:3\"."
#: common/errors.cpp:323
#, c-format
msgid "The encoding \"%encod:1\" is not known."
-msgstr "ëÏÄÉÒÏ×ËÁ \"%encod:1\" ÎÅ ÉÚ×ÅÓÔÎÁ."
+msgstr "Кодировка \"%encod:1\" не известна."
#: common/errors.cpp:331
#, c-format
msgid "The encoding \"%encod:1\" is not supported."
-msgstr "ëÏÄÉÒÏ×ËÁ \"%encod:1\" ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ."
+msgstr "Кодировка \"%encod:1\" не поддерживается."
#: common/errors.cpp:339
#, c-format
msgid "The conversion from \"%encod:1\" to \"%encod2:2\" is not supported."
-msgstr "ðÒÅÏÂÒÁÚÏ×ÁÎÉÅ ÉÚ \"%encod:1\" × \"%encod2:2\" ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ."
+msgstr "Преобразование из \"%encod:1\" в \"%encod2:2\" не поддерживается."
#: common/errors.cpp:379
#, c-format
msgid "The string \"%str:1\" is invalid."
-msgstr "îÅ×ÅÒÎÁÑ ÓÔÒÏËÁ \"%str:1\"."
+msgstr "Неверная строка \"%str:1\"."
#: common/errors.cpp:387
msgid "The word \"%word:1\" is invalid."
-msgstr "îÅ×ÅÒÎÏÅ ÓÌÏ×Ï \"%word:1\"."
+msgstr "Неверное слово \"%word:1\"."
#: common/errors.cpp:395
msgid "The affix flag '%aff:1' is invalid for word \"%word:2\"."
-msgstr "æÌÁÇ ÁÆÆÉËÓÁ '%aff:1' Ñ×ÌÑÅÔÓÑ ÎÅ×ÅÒÎÙÍ ÄÌÑ ÓÌÏ×Á \"%word:2\"."
+msgstr "Флаг аффикса '%aff:1' является неверным для слова \"%word:2\"."
#: common/errors.cpp:403
msgid "The affix flag '%aff:1' can not be applied to word \"%word:2\"."
-msgstr "æÌÁÇ ÁÆÆÉËÓÁ '%aff:1' ÎÅ ÍÏÖÅÔ ÂÙÔØ ÐÒÉÍÅÎÅÎ Ë ÓÌÏ×Õ \"%word:2\"."
+msgstr "Флаг аффикса '%aff:1' не может быть применен к слову \"%word:2\"."
#: common/errors.cpp:451
msgid "not a version number"
-msgstr "ÎÅ ÎÏÍÅÒ ×ÅÒÓÉÉ"
+msgstr "не номер версии"
#: common/errors.cpp:467
msgid "dlopen returned \"%return:1\"."
-msgstr "dlopen ×ÏÚ×ÒÁÔÉÌ \"%return:1\"."
+msgstr "dlopen возвратил \"%return:1\"."
#: common/errors.cpp:475
#, c-format
msgid "The file \"%filter:1\" does not contain any filters."
-msgstr "æÁÊÌ \"%filter:1\" ÎÅ ÓÏÄÅÒÖÉÔ ÎÉËÁËÉÈ ÆÉÌØÔÒÏ×."
+msgstr "Файл \"%filter:1\" не содержит никаких фильтров."
#: common/errors.cpp:483
#, c-format
msgid "The filter \"%filter:1\" does not exist."
-msgstr "æÉÌØÔÒ \"%filter:1\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ."
+msgstr "Фильтр \"%filter:1\" не существует."
#: common/errors.cpp:491 common/errors.cpp:587
msgid "Confused by version control."
-msgstr "óÂÉÔ Ó ÔÏÌËÕ ÕÐÒÁ×ÌÅÎÉÅÍ ×ÅÒÓÉÑÍÉ."
+msgstr "Сбит с толку управлением версиями."
#: common/errors.cpp:499
msgid "Aspell version does not match filter's requirement."
-msgstr "÷ÅÒÓÉÑ Aspell ÎÅ ÕÄÏ×ÌÅÔ×ÏÒÑÔ ÔÒÅÂÏ×ÁÎÉÑÍ ÆÉÌØÔÒÁ."
+msgstr "Версия Aspell не удовлетворят требованиям фильтра."
#: common/errors.cpp:507
msgid "Filter option already exists."
-msgstr "ïÐÃÉÑ ÆÉÌØÔÒÁ ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ."
+msgstr "Опция фильтра уже существует."
#: common/errors.cpp:515
msgid "Use option modifiers only within named option."
-msgstr "éÓÐÏÌØÚÕÊÔÅ ÍÏÄÉÆÉËÁÔÏÒÙ ÏÐÃÉÊ ÔÏÌØËÏ Ó ÉÍÅÎÏ×ÁÎÎÙÍÉ ÏÐÃÉÑÍÉ."
+msgstr "Используйте модификаторы опций только с именованными опциями."
#: common/errors.cpp:523
msgid "Option modifier unknown."
-msgstr "îÅÉÚ×ÅÓÔÎÙÊ ÍÏÄÉÆÉËÁÔÏÒ ÏÐÃÉÉ."
+msgstr "Неизвестный модификатор опции."
#: common/errors.cpp:531
msgid "Error setting filter description."
-msgstr "ïÛÉÂËÁ ÕÓÔÁÎÏ×ËÉ ÏÐÉÓÁÎÉÑ ÆÉÌØÔÒÁ."
+msgstr "Ошибка установки описания фильтра."
#: common/errors.cpp:547
msgid "Empty option specifier."
-msgstr "ðÕÓÔÏÊ ÕËÁÚÁÔÅÌØ ÏÐÃÉÉ."
+msgstr "Пустой указатель опции."
#: common/errors.cpp:555
#, c-format
msgid "Option \"%option:1\" possibly specified prior to filter."
-msgstr "÷ÏÚÍÏÖÎÏ, ÏÐÃÉÑ \"%option:1\" ÕËÁÚÁÎÁ ÐÅÒÅÄ ÆÉÌØÔÒÏÍ."
+msgstr "Возможно, опция \"%option:1\" указана перед фильтром."
#: common/errors.cpp:563
msgid "Unknown mode description key \"%key:1\"."
-msgstr "îÅÉÚ×ÅÓÔÎÙÊ ËÌÀÞ ÏÐÉÓÁÎÉÑ ÒÅÖÉÍÁ \"%key:1\"."
+msgstr "Неизвестный ключ описания режима \"%key:1\"."
#: common/errors.cpp:571
#, c-format
msgid "Expecting \"%modekey:1\" key."
-msgstr "ïÖÉÄÁÅÔÓÑ ËÌÀÞ \"%modekey:1\"."
+msgstr "Ожидается ключ \"%modekey:1\"."
#: common/errors.cpp:579
msgid "Version specifier missing key: \"aspell\"."
-msgstr "ïÔÓÕÔÓÔ×ÕÅÔ ËÌÀÞ ÕËÁÚÁÔÅÌÑ ×ÅÒÓÉÉ: \"aspell\"."
+msgstr "Отсутствует ключ указателя версии: \"aspell\"."
#: common/errors.cpp:595
msgid "Aspell version does not match mode's requirement."
-msgstr "÷ÅÒÓÉÑ Aspell ÎÅ ÕÄÏ×ÌÅÔ×ÏÒÑÅÔ ÔÒÅÂÏ×ÁÎÉÑÍ ÒÅÖÉÍÁ."
+msgstr "Версия Aspell не удовлетворят требованиям режима."
#: common/errors.cpp:603
msgid "Missing magic mode expression."
-msgstr "ïÔÓÕÔÓÔ×ÕÅÔ ×ÙÒÁÖÅÎÉÅ ÒÅÖÉÍÁ magic."
+msgstr "Отсутствует выражение режима magic."
#: common/errors.cpp:611
#, c-format
msgid "Empty extension at char %char:1."
-msgstr "ðÕÓÔÏÅ ÒÁÓÛÉÒÅÎÉÅ × ÓÉÍ×ÏÌÅ %char:1."
+msgstr "Пустое расширение в символе %char:1."
#: common/errors.cpp:619
#, c-format
msgid "\"%mode:1\" error"
-msgstr "ïÛÉÂËÁ \"%mode:1\""
+msgstr "Ошибка \"%mode:1\""
#: common/errors.cpp:627
#, c-format
msgid "Unknown mode: \"%mode:1\"."
-msgstr "îÅÉÚ×ÅÓÔÎÙÊ ÒÅÖÉÍ: \"%mode:1\"."
+msgstr "Неизвестный режим: \"%mode:1\"."
#: common/errors.cpp:635
#, c-format
msgid "\"%mode:1\" error while extend Aspell modes. (out of memory?)"
-msgstr "ïÛÉÂËÁ \"%mode:1\" ÐÒÉ ÒÁÓÛÉÒÅÎÉÉ ÒÅÖÉÍÏ× Aspell (ÎÅÈ×ÁÔËÁ ÐÁÍÑÔÉ?)"
+msgstr "Ошибка \"%mode:1\" при расширении режимов Aspell (нехватка памяти?)"
#: common/errors.cpp:651
#, c-format
msgid "\"%mode:1\": no start for magic search given for magic \"%magic:2\"."
-msgstr ""
-"\"%mode:1\": ÎÅÔ ÎÁÞÁÌÁ ÄÌÑ ÐÏÉÓËÁ magic, ÚÁÄÁÎÎÏÇÏ ÄÌÑ magic \"%magic:2\"."
+msgstr "\"%mode:1\": нет начала для поиска magic, заданного для magic \"%magic:2\"."
#: common/errors.cpp:659
#, c-format
msgid "\"%mode:1\": no range for magic search given for magic \"%magic:2\"."
-msgstr ""
-"\"%mode:1\": ÎÅÔ ÄÉÁÐÁÚÏÎÁ ÄÌÑ ÐÏÉÓËÁ magic, ÚÁÄÁÎÎÏÇÏ ÄÌÑ magic \"%magic:2"
-"\"."
+msgstr "\"%mode:1\": нет диапазона для поиска magic, заданного для magic \"%magic:2\"."
#: common/errors.cpp:667
#, c-format
msgid "\"%mode:1\": no magic expression available for magic \"%magic:2\"."
-msgstr "\"%mode:1\": ÎÅÔ ÄÏÓÔÕÐÎÏÇÏ ×ÙÒÁÖÅÎÉÑ magic ÄÌÑ magic \"%magic:2\"."
+msgstr "\"%mode:1\": нет доступного выражения magic для magic \"%magic:2\"."
#: common/errors.cpp:675
-msgid ""
-"\"%mode:1\": Magic \"%magic:2\": bad regular expression after location "
-"specifier; regexp reports: \"%regerr:3\"."
-msgstr ""
-"\"%mode:1\": Magic \"%magic:2\": ÎÅ×ÅÒÎÏÅ ÒÅÇÕÌÑÒÎÏÅ ×ÙÒÁÖÅÎÉÅ ÐÏÓÌÅ "
-"ÕËÁÚÁÔÅÌÑ ÍÅÓÔÏÎÁÈÏÖÄÅÎÉÑ; regexp ×ÏÚ×ÒÁÔÉÌ: \"%regerr:3\"."
+msgid "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
+msgstr "\"%mode:1\": Magic \"%magic:2\": неверное регулярное выражение после указателя местонахождения; regexp возвратил: \"%regerr:3\"."
#: common/errors.cpp:691
#, c-format
msgid "\"%expression:1\" is not a valid regular expression."
-msgstr "\"%expression:2\" ÎÅ Ñ×ÌÑÅÔÓÑ ×ÅÒÎÙÍ ÒÅÇÕÌÑÒÎÙÍ ×ÙÒÁÖÅÎÉÅÍ."
+msgstr "\"%expression:2\" не является верным регулярным выражением."
#: common/posib_err.cpp:100
msgid "Unhandled Error: "
-msgstr "îÅÏÂÒÁÂÏÔÁÎÎÁÑ ÏÛÉÂËÁ: "
+msgstr "Необработанная ошибка: "
-#: prog/aspell.cpp:97
+#: prog/aspell.cpp:98
#, c-format
msgid "Error: %s\n"
-msgstr "ïÛÉÂËÁ: %s\n"
+msgstr "Ошибка: %s\n"
-#: prog/aspell.cpp:102
+#: prog/aspell.cpp:103
msgid "Error: "
-msgstr "ïÛÉÂËÁ: "
+msgstr "Ошибка: "
-#: prog/aspell.cpp:203
+#: prog/aspell.cpp:204
msgid "enter Email mode."
-msgstr "ÐÅÒÅÈÏÄ × ÒÅÖÉÍ Email."
+msgstr "пеÑ\80еÑ\85од в Ñ\80ежим Email."
-#: prog/aspell.cpp:204
+#: prog/aspell.cpp:205
msgid "enter HTML mode."
-msgstr "ÐÅÒÅÈÏÄ × ÒÅÖÉÍ HTML."
+msgstr "пеÑ\80еÑ\85од в Ñ\80ежим HTML."
-#: prog/aspell.cpp:205
+#: prog/aspell.cpp:206
msgid "enter TeX mode."
-msgstr "ÐÅÒÅÈÏÄ × ÒÅÖÉÍ TeX."
+msgstr "пеÑ\80еÑ\85од в Ñ\80ежим TeX."
-#: prog/aspell.cpp:206
+#: prog/aspell.cpp:207
msgid "enter Nroff mode."
-msgstr "ÐÅÒÅÈÏÄ × ÒÅÖÉÍ Nroff."
+msgstr "пеÑ\80еÑ\85од в Ñ\80ежим Nroff."
-#: prog/aspell.cpp:312
+#: prog/aspell.cpp:313
#, c-format
msgid "Invalid Option: %s"
-msgstr "îÅ×ÅÒÎÁÑ ÏÐÃÉÑ: %s"
+msgstr "Неверная опция: %s"
-#: prog/aspell.cpp:319
+#: prog/aspell.cpp:320
msgid " does not take any parameters."
-msgstr " ÎÅ ÐÒÉÎÉÍÁÅÔ ÎÉËÁËÉÈ ÐÁÒÁÍÅÔÒÏ×."
+msgstr " не принимает никаких параметров."
-#: prog/aspell.cpp:332 prog/aspell.cpp:392
+#: prog/aspell.cpp:333 prog/aspell.cpp:393
#, c-format
msgid "You must specify a parameter for \"%s\"."
-msgstr "îÕÖÎÏ ÕËÁÚÁÔØ ÐÁÒÁÍÅÔÒ ÄÌÑ \"%s\"."
+msgstr "Вы должны указать параметр для \"%s\"."
-#: prog/aspell.cpp:381
+#: prog/aspell.cpp:382
msgid "You must specify an action"
-msgstr "îÕÖÎÏ ÕËÁÚÁÔØ ÄÅÊÓÔ×ÉÅ"
+msgstr "Вы должны указать действие"
-#: prog/aspell.cpp:389 prog/aspell.cpp:452 prog/aspell.cpp:474
+#: prog/aspell.cpp:390 prog/aspell.cpp:453 prog/aspell.cpp:475
#, c-format
msgid "Unknown Action: %s"
-msgstr "îÅÉÚ×ÅÓÔÎÏÅ ÄÅÊÓÔ×ÉÅ: %s"
+msgstr "Неизвестное действие: %s"
-#: prog/aspell.cpp:395
+#: prog/aspell.cpp:396
#, c-format
msgid "Error: You must specify at least %d parameters for \"%s\".\n"
-msgstr "ïÛÉÂËÁ: îÕÖÎÏ ÕËÁÚÁÔØ ÎÅ ÍÅÎÅÅ %d ÐÁÒÁÍÅÔÒÏ× ÄÌÑ \"%s\".\n"
+msgstr "Ошибка: Вы должны указать как минимум %d параметров для \"%s\".\n"
-#: prog/aspell.cpp:637
+#: prog/aspell.cpp:638
msgid "Invalid Input"
-msgstr "îÅ×ÅÒÎÙÅ ×ÈÏÄÎÙÅ ÄÁÎÎÙÅ"
+msgstr "Неверные входные данные"
-#: prog/aspell.cpp:710
+#: prog/aspell.cpp:711
#, c-format
msgid "WARNING: Unable to enter Nroff mode: %s\n"
-msgstr "÷îéíáîéå: îÅ×ÏÚÍÏÖÎÏ ÐÅÒÅÊÔÉ × ÒÅÖÉÍ Nroff: %s\n"
+msgstr "ПРЕДУПРЕЖДЕНИЕ: Невозможно перейти в режим Nroff: %s\n"
-#: prog/aspell.cpp:731
+#: prog/aspell.cpp:732
msgid "Time to load word list: "
-msgstr "÷ÒÅÍÑ ÚÁÇÒÕÚËÉ ÓÐÉÓËÁ ÓÌÏ×: "
+msgstr "Время загрузки списка слов: "
-#: prog/aspell.cpp:929
+#: prog/aspell.cpp:930
#, c-format
msgid "Suggestion Time: %f\n"
-msgstr "÷ÒÅÍÑ ÐÒÅÄÌÏÖÅÎÉÑ: %f\n"
+msgstr "Время предложения: %f\n"
-#: prog/aspell.cpp:972
+#: prog/aspell.cpp:973
msgid "You must specify a file name."
-msgstr "õËÁÖÉÔÅ ÉÍÑ ÆÁÊÌÁ."
+msgstr "Укажите имя файла."
-#: prog/aspell.cpp:975
+#: prog/aspell.cpp:976
msgid "Only one file name may be specified."
-msgstr "íÏÖÎÏ ÕËÁÚÁÔØ ÔÏÌØËÏ ÏÄÎÏ ÉÍÑ ÆÁÊÌÁ."
+msgstr "Можно указать только одно имя файла."
-#: prog/aspell.cpp:985
+#: prog/aspell.cpp:986
#, c-format
msgid "Could not open the file \"%s\" for reading"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÆÁÊÌ \"%s\" ÄÌÑ ÞÔÅÎÉÑ"
+msgstr "Невозможно открыть файл \"%s\" для чтения"
-#: prog/aspell.cpp:998
+#: prog/aspell.cpp:999
#, c-format
msgid "Invalid keymapping: %s"
-msgstr "îÅ×ÅÒÎÙÅ ÓÏÞÅÔÁÎÉÑ ËÌÁ×ÉÛ: %s"
+msgstr "Неверная раскладка клавиатуры: %s"
+
+#: prog/aspell.cpp:1014
+#, fuzzy, c-format
+#| msgid "\"%expression:1\" is not a valid regular expression."
+msgid "\"%s\" is not a regular file"
+msgstr "\"%expression:2\" не является верным регулярным выражением."
-#: prog/aspell.cpp:1020
+#: prog/aspell.cpp:1025
#, c-format
msgid "Could not open the file \"%s\" for writing. File not saved."
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÆÁÊÌ \"%s\" ÄÌÑ ÚÁÐÉÓÉ. æÁÊÌ ÎÅ ÓÏÈÒÁΣÎ."
+msgstr "Невозможно открыть файл \"%s\" для записи. Файл не сохранён."
-#: prog/aspell.cpp:1033
+#: prog/aspell.cpp:1038
msgid "Ignore"
-msgstr "ðÒÏÐÕÓÔÉÔØ"
+msgstr "Пропустить"
-#: prog/aspell.cpp:1034
+#: prog/aspell.cpp:1039
msgid "Ignore all"
-msgstr "ðÒÏÐÕÓÔÉÔØ ×ÓÅ"
+msgstr "Пропустить все"
-#: prog/aspell.cpp:1035
+#: prog/aspell.cpp:1040
msgid "Replace"
-msgstr "úÁÍÅÎÉÔØ"
+msgstr "Заменить"
-#: prog/aspell.cpp:1036
+#: prog/aspell.cpp:1041
msgid "Replace all"
-msgstr "úÁÍÅÎÉÔØ ×ÓÅ"
+msgstr "Заменить все"
-#: prog/aspell.cpp:1037
+#: prog/aspell.cpp:1042
msgid "Add"
-msgstr "äÏÂÁ×ÉÔØ"
+msgstr "Добавить"
-#: prog/aspell.cpp:1038
+#: prog/aspell.cpp:1043
msgid "Add Lower"
-msgstr "äÏÂÁ×ÉÔØ ÓÔÒÏÞÎ."
+msgstr "Добавить нижн.рег."
-#: prog/aspell.cpp:1039
+#: prog/aspell.cpp:1044
msgid "Abort"
-msgstr "ðÒÅÒ×ÁÔØ"
+msgstr "Прервать"
-#: prog/aspell.cpp:1040
+#: prog/aspell.cpp:1045
msgid "Exit"
-msgstr "÷ÙÈÏÄ"
+msgstr "Выход"
-#: prog/aspell.cpp:1116
+#: prog/aspell.cpp:1121
msgid "Are you sure you want to abort (y/n)? "
-msgstr "ðÒÅÒ×ÁÔØ ÐÒÏ×ÅÒËÕ (y/n)?"
+msgstr "Вы уверены, что хотите прервать (y/n)?"
#. TRANSLATORS: The user may input any of these characters to say "yes".
#. MUST ONLY CONSIST OF ASCII CHARACTERS.
-#: prog/aspell.cpp:1120
+#: prog/aspell.cpp:1125
msgid "Yy"
msgstr "Yy"
-#: prog/aspell.cpp:1148
+#: prog/aspell.cpp:1153
msgid "With: "
-msgstr "îÁ: "
+msgstr "На: "
-#: prog/aspell.cpp:1165
+#: prog/aspell.cpp:1170
msgid "Sorry that is an invalid choice!"
-msgstr "éÚ×ÉÎÉÔÅ, ÜÔÏ ÎÅ×ÅÒÎÙÊ ×ÙÂÏÒ!"
+msgstr "Извините, это неверный выбор!"
-#: prog/aspell.cpp:1386
+#: prog/aspell.cpp:1391
msgid "Sorry \"filter\" is currently unimplemented.\n"
-msgstr "éÚ×ÉÎÉÔÅ, \"filter\" ÎÁ ÄÁÎÎÙÊ ÍÏÍÅÎÔ ÎÅ ÒÅÌÉÚÏ×ÁÎ.\n"
+msgstr "Извините, \"filter\" на данный момент не релизован.\n"
-#: prog/aspell.cpp:1520
+#: prog/aspell.cpp:1525
msgid "Can't merge a master word list yet. Sorry."
-msgstr "ðÏËÁ ÞÔÏ ÎÅ×ÏÚÍÏÖÎÏ ÏÂßÅÄÉÎÉÔØ ÇÌÁ×ÎÙÊ ÓÐÉÓÏË ÓÌÏ×. éÚ×ÉÎÉÔÅ."
+msgstr "Пока что невозможно объединить главный список слов. Извините."
-#: prog/aspell.cpp:1544
+#: prog/aspell.cpp:1549
msgid "Sorry \"create/merge personal\" is currently unimplemented.\n"
-msgstr "éÚ×ÉÎÉÔÅ, \"create/merge personal\" ÎÁ ÄÁÎÎÙÊ ÍÏÍÅÎÔ ÎÅ ÒÅÁÌÉÚÏ×ÁÎ.\n"
+msgstr "Извините, \"create/merge personal\" на данный момент не реализован.\n"
-#: prog/aspell.cpp:1553 prog/aspell.cpp:1609
+#: prog/aspell.cpp:1558 prog/aspell.cpp:1614
#, c-format
msgid "Sorry I won't overwrite \"%s\""
-msgstr "éÚ×ÉÎÉÔÅ, \"%s\" ÎÅ ÂÕÄÅÔ ÐÅÒÅÚÁÐÉÓÁÎ"
+msgstr "Извините, \"%s\" не будет перезаписан"
-#: prog/aspell.cpp:1600
+#: prog/aspell.cpp:1605
msgid "Sorry \"create/merge repl\" is currently unimplemented.\n"
-msgstr "éÚ×ÉÎÉÔÅ, \"create/merge repl\" ÎÁ ÄÁÎÎÙÊ ÍÏÍÅÎÔ ÎÅ ÒÅÁÌÉÚÏ×ÁÎ.\n"
+msgstr "Извините, \"create/merge repl\" на данный момент не реализован.\n"
-#: prog/aspell.cpp:1872
+#: prog/aspell.cpp:1877
#, c-format
msgid "\"%s\" is not a valid flag for the \"munch-list\" command."
-msgstr "\"%s\" - ÜÔÏ ÎÅ×ÅÒÎÙÊ ÆÌÁÇ ÄÌÑ ËÏÍÁÎÄÙ \"munch-list\"."
+msgstr "«%s» — это неверный флаг для команды «munch-list»."
#. TRANSLATORS: These should all be formated to fit in 80 column or
#. less
-#: prog/aspell.cpp:2799
+#: prog/aspell.cpp:2804
msgid "Usage: aspell [options] <command>"
-msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: aspell [ÏÐÃÉÉ] <ËÏÍÁÎÄÁ>"
+msgstr "Использование: aspell [опции] <команда>"
-#: prog/aspell.cpp:2800
+#: prog/aspell.cpp:2805
msgid "<command> is one of:"
-msgstr "<ËÏÍÁÎÄÁ> ÏÄÎÁ ÉÚ:"
+msgstr "<команда> одна из:"
-#: prog/aspell.cpp:2801
+#: prog/aspell.cpp:2806
msgid " -?|usage display a brief usage message"
-msgstr " -?|usage ×Ù×ÏÄ ËÒÁÔËÏÇÏ ÓÏÏÂÝÅÎÉÑ Ï ÉÓÐÏÌØÚÏ×ÁÎÉÉ"
+msgstr " -?|usage вывод краткого сообщения об использовании"
-#: prog/aspell.cpp:2802
+#: prog/aspell.cpp:2807
msgid " help display a detailed help message"
-msgstr " help ×Ù×ÏÄ ÐÏÄÒÏÂÎÏÇÏ ÓÏÏÂÝÅÎÉÑ ÓÏ ÓÐÒÁ×ËÏÊ"
+msgstr " help вывод подробного сообщения со справкой"
-#: prog/aspell.cpp:2803
+#: prog/aspell.cpp:2808
msgid " -c|check <file> to check a file"
-msgstr " -c|check <ÆÁÊÌ> ÐÒÏ×ÅÒËÁ ÆÁÊÌÁ"
+msgstr " -c|check <файл> проверка файла"
-#: prog/aspell.cpp:2804
+#: prog/aspell.cpp:2809
msgid " -a|pipe \"ispell -a\" compatibility mode"
-msgstr " -a|pipe ÒÅÖÉÍ ÓÏ×ÍÅÓÔÉÍÏÓÔÉ Ó \"ispell -a\""
+msgstr " -a|pipe режим совместимости \"ispell -a\""
-#: prog/aspell.cpp:2805
+#: prog/aspell.cpp:2810
msgid " [dump] config dumps the current configuration to stdout"
-msgstr " [dump] config ×Ù×ÏÄ ÄÁÍÐÁ ÔÅËÕÝÅÊ ËÏÎÆÉÇÕÒÁÃÉÉ ÎÁ stdout"
+msgstr " [dump] config вывод дампа текущей конфигурации на stdout"
-#: prog/aspell.cpp:2806
+#: prog/aspell.cpp:2811
msgid " config <key> prints the current value of an option"
-msgstr " config <ËÌÀÞ> ×Ù×ÏÄ ÔÅËÕÝÅÇÏ ÚÎÁÞÅÎÉÑ ÏÐÃÉÉ"
+msgstr " config <ключ> вывод текущего значения опции"
-#: prog/aspell.cpp:2807
+#: prog/aspell.cpp:2812
msgid " [dump] dicts | filters | modes"
msgstr " [dump] dicts | filters | modes"
-#: prog/aspell.cpp:2808
+#: prog/aspell.cpp:2813
msgid " lists available dictionaries / filters / filter modes"
-msgstr " ÓÐÉÓÏË ÄÏÓÔÕÐÎÙÈ ÓÌÏ×ÁÒÅÊ / ÆÉÌØÔÒÏ× / ÒÅÖÉÍÏ× ÆÉÌØÔÒÁ"
+msgstr " список доступных словарей / фильтров / режимов фильтра"
-#: prog/aspell.cpp:2809
+#: prog/aspell.cpp:2814
msgid "[options] is any of the following:"
-msgstr "[ÏÐÃÉÉ] ÌÀÂÁÑ ÉÚ ÓÌÅÄÕÀÝÉÈ:"
+msgstr "[опции] любая из следующих:"
-#: prog/aspell.cpp:2822
-msgid ""
-" list produce a list of misspelled words from standard input"
-msgstr ""
-" list ÓÏÚÄÁÎÉÅ ÓÐÉÓËÁ ÓÌÏ× Ó ÏÛÉÂËÁÍÉ ÓÏ ÓÔÁÎÄÁÒÔÎÏÇÏ ××ÏÄÁ"
+#: prog/aspell.cpp:2827
+msgid " list produce a list of misspelled words from standard input"
+msgstr " list создание списка слов с ошибками со стандартного ввода"
-#: prog/aspell.cpp:2825
-msgid ""
-" soundslike returns the sounds like equivalent for each word entered"
-msgstr ""
-" soundslike ×ÏÚ×ÒÁÔ Ú×ÕËÏ×ÏÇÏ ÜË×É×ÁÌÅÎÔÁ ÄÌÑ ËÁÖÄÏÇÏ ××ÅÄÅÎÎÏÇÏ ÓÌÏ×Á"
+#: prog/aspell.cpp:2830
+msgid " soundslike returns the sounds like equivalent for each word entered"
+msgstr " soundslike возврат звукового эквивалента для каждого введенного слова"
-#: prog/aspell.cpp:2826
+#: prog/aspell.cpp:2831
msgid " munch generate possible root words and affixes"
-msgstr " munch ÓÏÚÄÁÎÉÅ ×ÏÚÍÏÖÎÙÈ ËÏÒÎÅÊ É ÁÆÆÉËÓÏ× ÓÌÏ×"
+msgstr " munch создание возможных корней слов и аффиксов"
-#: prog/aspell.cpp:2827
+#: prog/aspell.cpp:2832
msgid " expand [1-4] expands affix flags"
-msgstr " expand [1-4] ÒÁÓÛÉÒÅÎÉÅ ÆÌÁÇÏ× ÁÆÆÉËÓÏ×"
+msgstr " expand [1-4] расширение флагов аффикса"
-#: prog/aspell.cpp:2828
-msgid ""
-" clean [strict] cleans a word list so that every line is a valid word"
-msgstr ""
-" clean [strict] ÏÞÉÓÔËÁ ÓÐÉÓËÁ ÓÌÏ×, Ô.Å. ËÁÖÄÁÑ ÓÔÒÏËÁ - ÐÒÁ×ÉÌØÎÏÅ ÓÌÏ×Ï"
+#: prog/aspell.cpp:2833
+msgid " clean [strict] cleans a word list so that every line is a valid word"
+msgstr " clean [strict] очистка списка слов, т.е. каждая строка — правильное слово"
-#: prog/aspell.cpp:2830
+#: prog/aspell.cpp:2835
msgid " -v|version prints a version line"
-msgstr " -v|version ×Ù×ÏÄ ÎÏÍÅÒÁ ×ÅÒÓÉÉ"
+msgstr " -v|version вывод номера версии"
-#: prog/aspell.cpp:2831
+#: prog/aspell.cpp:2836
msgid " munch-list [simple] [single|multi] [keep]"
msgstr " munch-list [simple] [single|multi] [keep]"
-#: prog/aspell.cpp:2832
+#: prog/aspell.cpp:2837
msgid " reduce the size of a word list via affix compression"
-msgstr " ÕÍÅÎØÛÅÎÉÅ ÒÁÚÍÅÒÁ ÓÐÉÓËÁ ÓÌÏ× ÐÏÓÒÅÄÓÔ×ÏÍ ÓÖÁÔÉÑ ÁÆÆÉËÓÏ×"
+msgstr " уменьшение размера списка слов посредством сжатия аффикса"
-#: prog/aspell.cpp:2833
+#: prog/aspell.cpp:2838
msgid " conv <from> <to> [<norm-form>]"
-msgstr " conv <ÉÚ> <×> [<ÆÏÒÍÁ-ÎÏÒÍ>]"
+msgstr " conv <из> <в> [<форма-норм>]"
-#: prog/aspell.cpp:2834
+#: prog/aspell.cpp:2839
msgid " converts from one encoding to another"
-msgstr " ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅ ÉÚ ÏÄÎÏÊ ËÏÄÉÒÏ×ËÉ × ÄÒÕÇÕÀ"
+msgstr " пÑ\80еобÑ\80азование из одной кодиÑ\80овки в дÑ\80Ñ\83гÑ\83Ñ\8e"
-#: prog/aspell.cpp:2835
+#: prog/aspell.cpp:2840
msgid " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
-msgstr " norm (<ËÁÒÔÁ-ÎÏÒÍ> | <ÉÚ> <ËÁÒÔÁ-ÎÏÒÍ> <×>) [<ÆÏÒÍÁ-ÎÏÒÍ>]"
+msgstr " norm (<карта-норм> | <из> <карта-норм> <в>) [<форма-норм>]"
-#: prog/aspell.cpp:2836
+#: prog/aspell.cpp:2841
msgid " perform Unicode normalization"
-msgstr " ×ÙÐÏÌÎÅÎÉÅ ÎÏÒÍÁÌÉÚÁÃÉÉ àÎÉËÏÄÁ"
+msgstr " выполнение нормализации Юникода"
-#: prog/aspell.cpp:2839
+#: prog/aspell.cpp:2844
msgid " dump|create|merge master|personal|repl [<name>]"
-msgstr " dump|create|merge master|personal|repl [<ÉÍÑ>]"
+msgstr " dump|create|merge master|personal|repl [<имя>]"
-#: prog/aspell.cpp:2840
-msgid ""
-" dumps, creates or merges a master, personal, or replacement dictionary."
-msgstr ""
-" ×Ù×ÏÄ, ÓÏÚÄÁÎÉÅ ÉÌÉ ÏÂßÅÄÉÎÅÎÉÅ ÓÌÏ×ÁÒÑ: ÇÌÁ×ÎÏÇÏ, ÌÉÞÎÏÇÏ ÉÌÉ ÚÁÍÅÎÙ."
+#: prog/aspell.cpp:2845
+msgid " dumps, creates or merges a master, personal, or replacement dictionary."
+msgstr " дамп, создание или объединение словаря: главного, личного или замены."
#. TRANSLATORS: "none", "internal" and "strict" are literal values
#. and should not be translated.
-#: prog/aspell.cpp:2844
-msgid ""
-" <norm-form> normalization form to use, either none, internal, or "
-"strict"
-msgstr ""
-" <ÆÏÒÍÁ-ÎÏÒÍ> ÉÓÐÏÌØÚÕÅÍÁÑ ÆÏÒÍÁ ÎÏÒÍÁÌÉÚÁÃÉÉ: none, internal ÉÌÉ strict"
+#: prog/aspell.cpp:2849
+msgid " <norm-form> normalization form to use, either none, internal, or strict"
+msgstr " <форма-норм> используемая форма нормализации: none, internal или strict"
-#: prog/aspell.cpp:2854
+#: prog/aspell.cpp:2859
#, c-format
msgid ""
"\n"
"\n"
msgstr ""
"\n"
-"Aspell %s. Copyright 2000-2011 ëÅ×ÉÎ áÔËÉÎÓÏÎ.\n"
+"Aspell %s. Copyright 2000-2011 by Kevin Atkinson.\n"
"\n"
-#: prog/aspell.cpp:2888
+#: prog/aspell.cpp:2893
msgid ""
"Available Dictionaries:\n"
" Dictionaries can be selected directly via the \"-d\" or \"master\"\n"
" option. They can also be selected indirectly via the \"lang\",\n"
" \"variety\", and \"size\" options.\n"
msgstr ""
-"äÏÓÔÕÐÎÙÅ ÓÌÏ×ÁÒÉ:\n"
-" óÌÏ×ÁÒÉ ÍÏÇÕÔ ÂÙÔØ ×ÙÂÒÁÎÙ ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏ ÞÅÒÅÚ ÏÐÃÉÀ \"-d\"\n"
-" ÉÌÉ \"master\". ïÎÉ ÔÁËÖÅ ÍÏÇÕÔ ÂÙÔØ ×ÙÂÒÁÎÙ ËÏÓ×ÅÎÎÙÍ ÏÂÒÁÚÏÍ\n"
-" ÞÅÒÅÚ ÏÐÃÉÉ \"lang\", \"variety\" É \"size\".\n"
+"Доступные словари:\n"
+" Словари могут быть выбраны непосредственно через опцию \"-d\"\n"
+" или \"master\". Они также могут быть выбраны косвенным образом\n"
+" через опции \"lang\", \"variety\" и \"size\".\n"
-#: prog/aspell.cpp:2909
+#: prog/aspell.cpp:2914
msgid ""
"Available Filters (and associated options):\n"
" Filters can be added or removed via the \"filter\" option.\n"
msgstr ""
-"äÏÓÔÕÐÎÙÅ ÆÉÌØÔÒÙ (É Ó×ÑÚÁÎÎÙÅ Ó ÎÉÍÉ ÏÐÃÉÉ):\n"
-" æÉÌØÔÒÙ ÍÏÇÕÔ ÂÙÔØ ÄÏÂÁ×ÌÅÎÙ ÉÌÉ ÕÄÁÌÅÎÙ ÞÅÒÅÚ ÏÐÃÉÀ \"filter\".\n"
+"Доступные фильтры (и связанные с ними опции):\n"
+" Фильтры могут быть добавлены или удалены через опцию \"filter\".\n"
-#: prog/aspell.cpp:2916
+#: prog/aspell.cpp:2921
#, c-format
msgid ""
"\n"
" %s filter: %s\n"
msgstr ""
"\n"
-" %s ÆÉÌØÔÒ: %s\n"
+" %s фильтр: %s\n"
#. TRANSLATORS: This should be formated to fit in 80 column or less
-#: prog/aspell.cpp:2933
+#: prog/aspell.cpp:2938
msgid ""
"Available Filter Modes:\n"
" Filter Modes are reconfigured combinations of filters optimized for\n"
" This will happen implicitly if Aspell is able to identify the file\n"
" type from the extension, and possibility the contents, of the file.\n"
msgstr ""
-"äÏÓÔÕÐÎÙÅ ÒÅÖÉÍÙ ÆÉÌØÔÒÁ:\n"
-" òÅÖÉÍÙ ÆÉÌØÔÒÁ - ÜÔÏ ÐÅÒÅËÏÎÆÉÇÕÒÉÒÏ×ÁÎÎÙÅ ËÏÍÂÉÎÁÃÉÉ ÆÉÌØÔÒÏ×,\n"
-" ÏÐÔÉÍÉÚÉÒÏ×ÁÎÎÙÅ ÄÌÑ ÆÁÊÌÏ× ÏÐÒÅÄÅÌÅÎÎÏÇÏ ÔÉÐÁ. òÅÖÉÍ ×ÙÂÉÒÁÅÔÓÑ\n"
-" ÞÅÒÅÚ ÏÐÃÉÀ \"mode\". üÔÏ ÂÕÄÅÔ ÐÒÏÉÓÈÏÄÉÔØ ÐÏÓÔÏÑÎÎÏ, ÅÓÌÉ\n"
-" Aspell × ÓÏÓÔÏÑÎÉÉ ÏÐÒÅÄÅÌÉÔØ ÔÉÐ ÆÁÊÌÁ ÐÏ ÒÁÓÛÉÒÅÎÉÀ É, ×ÏÚÍÏÖÎÏ,\n"
-" ÓÏÄÅÒÖÉÍÏÍÕ ÆÁÊÌÁ.\n"
+"Доступные режимы фильтра:\n"
+" Режимы фильтра — это переконфигурированные комбинации фильтров,\n"
+" оптимизированные для файлов определенного типа. Режим выбирается\n"
+" через опцию «mode». Это будет происходить постоянно, если\n"
+" Aspell в состоянии определить тип файла по расширению и, возможно,\n"
+" содержимому файла.\n"
#: prog/check_funs.cpp:287
msgid "Error: Stdin not a terminal."
-msgstr "ïÛÉÂËÁ: Stdin ÎÅ Ñ×ÌÑÅÔÓÑ ÔÅÒÍÉÎÁÌÏÍ."
+msgstr "Ошибка: Stdin не является терминалом."
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:774
#: prog/check_funs.cpp:776
msgid "Accept Changes"
-msgstr "ðÒÉÎÑÔØ ÉÚÍÅÎÅÎÉÑ"
+msgstr "Принять изменения"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:779
#: prog/check_funs.cpp:782
msgid "Delete the previous character"
-msgstr "õÄÁÌÅÎÉÅ ÐÒÅÄÙÄÕÝÅÇÏ ÓÉÍ×ÏÌÁ"
+msgstr "Удаление предыдущего символа"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:785
msgid "Left"
-msgstr "óÔÒÅÌËÁ ×ÌÅ×Ï"
+msgstr "Стрелка влево"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:787
#: prog/check_funs.cpp:788
msgid "Move Back one space"
-msgstr "ðÅÒÅÍÅÝÅÎÉÅ ÎÁÚÁÄ ÎÁ ÏÄÎÕ ÐÏÚÉÃÉÀ"
+msgstr "Перемещение назад на одну позицию"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:791
msgid "Right"
-msgstr "óÔÒÅÌËÁ ×ÐÒÁ×Ï"
+msgstr "Стрелка вправо"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:793
#: prog/check_funs.cpp:794
msgid "Move Forward one space"
-msgstr "ðÅÒÅÍÅÝÅÎÉÅ ×ÐÅÒÅÄ ÎÁ ÏÄÎÕ ÐÏÚÉÃÉÀ"
+msgstr "Перемещение вперед на одну позицию"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:797
#: prog/check_funs.cpp:800
msgid "Move to the beginning of the line"
-msgstr "ðÅÒÅÍÅÝÅÎÉÅ × ÎÁÞÁÌÏ ÓÔÒÏËÉ"
+msgstr "Перемещение в начало строки"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:803
#: prog/check_funs.cpp:806
msgid "Move to the end of the line"
-msgstr "ðÅÒÅÍÅÝÅÎÉÅ × ËÏÎÅà ÓÔÒÏËÉ"
+msgstr "Перемещение в конец строки"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:809
#: prog/check_funs.cpp:812
msgid "Delete the next character"
-msgstr "õÄÁÌÅÎÉÅ ÓÌÅÄÕÀÝÅÇÏ ÓÉÍ×ÏÌÁ"
+msgstr "Удаление следующего символа"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:816
#: prog/check_funs.cpp:817
msgid "Kill all characters to the EOL"
-msgstr "õÄÁÌÅÎÉÅ ×ÓÅÈ ÓÉÍ×ÏÌÏ× ÄÏ ËÏÎÃÁ ÓÔÒÏËÉ"
+msgstr "Удаление всех символов до конца строки"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:821
#: prog/check_funs.cpp:822
msgid "Abort This Operation"
-msgstr "ðÒÅÒÙ×ÁÎÉÅ ÜÔÏÊ ÏÐÅÒÁÃÉÉ"
+msgstr "Прерывание этой операции"
#: modules/speller/default/language.cpp:103
msgid "This is probably because: "
-msgstr "üÔÏ ×ÏÚÍÏÖÎÏ ×ÓÌÅÄÓÔ×ÉÅ: "
+msgstr "Это возможно вследствие: "
#: modules/speller/default/language.cpp:110
msgid "The required field \"name\" is missing."
-msgstr "ïÔÓÕÔÓÔ×ÕÅÔ ÔÒÅÂÕÅÍÏÅ ÐÏÌÅ \"name\"."
+msgstr "Отсутствует требуемое поле \"name\"."
#: modules/speller/default/language.cpp:488
msgid "Empty string."
-msgstr "ðÕÓÔÁÑ ÓÔÒÏËÁ."
+msgstr "Пустая строка."
#: modules/speller/default/language.cpp:492
#, c-format
msgid "The character '%s' (U+%02X) may not appear at the beginning of a word."
-msgstr "óÉÍ×ÏÌ '%s' (U+%02X) ÎÅ ÍÏÖÅÔ ÐÏÑ×ÌÑÔØÓÑ × ÎÁÞÁÌÅ ÓÌÏ×Á."
+msgstr "Символ '%s' (U+%02X) не может появляться в начале слова."
#: modules/speller/default/language.cpp:494
#: modules/speller/default/language.cpp:503
#, c-format
-msgid ""
-"The character '%s' (U+%02X) must be followed by an alphabetic character."
-msgstr "ðÏÓÌÅ ÓÉÍ×ÏÌÁ '%s' (U+%02X) ÄÏÌÖÅÎ ÓÌÅÄÏ×ÁÔØ ÂÕË×ÅÎÎÙÊ ÓÉÍ×ÏÌ."
+msgid "The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgstr "После символа '%s' (U+%02X) должен следовать буквенный символ."
#: modules/speller/default/language.cpp:496
msgid "Does not contain any alphabetic characters."
-msgstr "îÅ ÓÏÄÅÒÖÉÔ ÎÉËÁËÉÈ ÂÕË×ÅÎÎÙÈ ÓÉÍ×ÏÌÏ×."
+msgstr "Не содержит никаких буквенных символов."
#: modules/speller/default/language.cpp:501
#, c-format
msgid "The character '%s' (U+%02X) may not appear in the middle of a word."
-msgstr "óÉÍ×ÏÌ '%s' (U+%02X) ÎÅ ÍÏÖÅÔ ÐÏÑ×ÌÑÔØÓÑ × ÓÅÒÅÄÉÎÅ ÓÌÏ×Á."
+msgstr "Символ '%s' (U+%02X) не может появляться в середине слова."
#: modules/speller/default/language.cpp:508
-msgid ""
-"The character '\\r' (U+0D) may not appear at the end of a word. This "
-"probably means means that the file is using MS-DOS EOL instead of Unix EOL."
-msgstr ""
-"óÉÍ×ÏÌ '\\r' (U+0D) ÎÅ ÍÏÖÅÔ ÐÏÑ×ÌÑÔØÓÑ × ËÏÎÃÅ ÓÌÏ×Á. ÷ÏÚÍÏÖÎÏ, ÜÔÏ "
-"ÏÚÎÁÞÁÅÔ, ÞÔÏ × ÆÁÊÌÅ ÉÓÐÏÌØÚÕÅÔÓÑ ÓÉÍ×ÏÌ ËÏÎÃÁ ÆÁÊÌÁ MS-DOS, Á ÎÅ Unix."
+msgid "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgstr "Символ '\\r' (U+0D) не может появляться в конце слова. Возможно, это означает, что в файле используется символ конца файла MS-DOS, а не Unix."
#: modules/speller/default/language.cpp:511
#, c-format
msgid "The character '%s' (U+%02X) may not appear at the end of a word."
-msgstr "óÉÍ×ÏÌ '%s' (U+%02X) ÎÅ ÍÏÖÅÔ ÐÏÑ×ÌÑÔØÓÑ × ËÏÎÃÅ ÓÌÏ×Á."
+msgstr "Символ '%s' (U+%02X) не может появляться в конце слова."
#: modules/speller/default/language.cpp:543
#, c-format
msgid "Warning: Removing invalid affix '%s' from word %s.\n"
-msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: õÄÁÌÑÅÔÓÑ ÎÅ×ÅÒÎÙÊ ÁÆÆÉËÓ '%s' ÉÚ ÓÌÏ×Á %s.\n"
+msgstr "Предупреждение: Удаляется неверный аффикс '%s' из слова %s.\n"
#: modules/speller/default/language.cpp:544
#, c-format
msgid "Warning: Removing inapplicable affix '%s' from word %s.\n"
-msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: õÄÁÌÑÅÔÓÑ ÎÅÐÏÄÈÏÄÑÝÉÊ ÁÆÆÉËÓ '%s' ÉÚ ÓÌÏ×Á %s.\n"
+msgstr "Предупреждение: Удаляется неподходящий аффикс '%s' из слова %s.\n"
-#: modules/speller/default/language.cpp:674
+#: modules/speller/default/language.cpp:675
#, c-format
msgid "Warning: %s Skipping string.\n"
-msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: %s ðÒÏÐÕÓËÁÅÔÓÑ ÓÔÒÏËÁ.\n"
+msgstr "Предупреждение: %s Пропускается строка.\n"
-#: modules/speller/default/language.cpp:732
+#: modules/speller/default/language.cpp:733
msgid "The total length is larger than 240 characters."
-msgstr "ïÂÝÁÑ ÄÌÉÎÁ ÐÒÅ×ÙÛÁÅÔ 240 ÓÉÍ×ÏÌÏ×."
+msgstr "Общая длина превышает 240 символов."
-#: modules/speller/default/language.cpp:736
+#: modules/speller/default/language.cpp:737
#, c-format
msgid "Warning: %s Skipping word.\n"
-msgstr "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: %s ðÒÏÐÕÓËÁÅÔÓÑ ÓÌÏ×Ï.\n"
+msgstr "Предупреждение: %s Пропускается слово.\n"
#: modules/speller/default/affix.cpp:426
msgid "Possibly incorrect count."
-msgstr "÷ÏÚÍÏÖÎÏ, ÎÅ×ÅÒÎÏÅ ÞÉÓÌÏ ÓÔÒÏË."
+msgstr "Возможно неверный счет."
#: modules/speller/default/readonly_ws.cpp:362
+msgid "Incompatible hash function."
+msgstr "Несовместимая хэш-функция."
+
+#: modules/speller/default/readonly_ws.cpp:440
msgid "Wrong endian order."
-msgstr "îÅ×ÅÒÎÙÊ ÐÏÒÑÄÏË ÂÁÊÔ."
+msgstr "Неверный порядок endian."
-#: modules/speller/default/readonly_ws.cpp:385
+#: modules/speller/default/readonly_ws.cpp:463
msgid "Wrong soundslike."
-msgstr "îÅ×ÅÒÎÙÊ soundslike."
+msgstr "Неверный soundslike."
-#: modules/speller/default/readonly_ws.cpp:391
+#: modules/speller/default/readonly_ws.cpp:469
msgid "Wrong soundslike version."
-msgstr "îÅ×ÅÒÎÁÑ ×ÅÒÓÉÑ soundslike."
+msgstr "Неверная версия soundslike."
-#: modules/speller/default/readonly_ws.cpp:853
+#: modules/speller/default/readonly_ws.cpp:934
msgid "Affix flags found in word but no affix file given."
-msgstr "÷ ÓÌÏ×Å ÎÁÊÄÅÎÙ ÆÌÁÇÉ ÁÆÆÉËÓÁ, ÎÏ ÎÅ ÕËÁÚÁÎ ÆÁÊÌ ÁÆÆÉËÓÏ×."
+msgstr "В слове найдены флаги аффикса, не указан файл аффикса."
-#: modules/speller/default/readonly_ws.cpp:891
-msgid ""
-"The total word length, with soundslike data, is larger than 240 characters."
-msgstr "ïÂÝÁÑ ÄÌÉÎÁ ÓÌÏ× Ó ÄÁÎÎÙÍÉ soundslike ÐÒÅ×ÙÛÁÅÔ 240 ÓÉÍ×ÏÌÏ×."
+#: modules/speller/default/readonly_ws.cpp:972
+msgid "The total word length, with soundslike data, is larger than 240 characters."
+msgstr "Общая длина слов с данными soundslike превышает 240 символов."
#: modules/speller/default/multi_ws.cpp:58
msgid "There must be at least one \"add\" line."
-msgstr "äÏÌÖÎÁ ÂÙÔØ ÈÏÔÑ ÂÙ ÏÄÎÁ ÓÔÒÏËÁ \"add\"."
+msgstr "Должна быть хотя бы одна строка \"add\"."
#: modules/speller/default/suggest.cpp:1403
msgid "one of ultra, fast, normal, slow, or bad-spellers"
-msgstr "ÏÄÉÎ ÉÚ: ultra, fast, normal, slow ÉÌÉ bad-spellers"
+msgstr "один из: ultra, fast, normal, slow или bad-spellers"
#: modules/speller/default/data.cpp:404
msgid "is not one of the allowed types"
-msgstr "ÎÅ ÉÚ ÓÐÉÓËÁ ÒÁÚÒÅÛ£ÎÎÙÈ ÔÉÐÏ×"
+msgstr "не из списка разрешённых типов"
#: modules/speller/default/speller_impl.cpp:241
msgid "The personal word list is unavailable."
-msgstr "ìÉÞÎÙÊ ÓÐÉÓÏË ÓÌÏ× ÎÅÄÏÓÔÕÐÅÎ."
+msgstr "Личный список слов недоступен."
#: modules/speller/default/speller_impl.cpp:248
msgid "The session word list is unavailable."
-msgstr "óÅÁÎÓÏ×ÙÊ ÓÐÉÓÏË ÓÌÏ× ÎÅÄÏÓÔÕÐÅÎ."
+msgstr "Сеансовый список слов недоступен."
#: modules/speller/default/speller_impl.cpp:255
msgid "The main word list is unavailable."
-msgstr "çÌÁ×ÎÙÊ ÓÐÉÓÏË ÓÌÏ× ÎÅÄÏÓÔÕÐÅÎ."
+msgstr "Главный список слов недоступен."
#: modules/filter/tex.cpp:255 modules/filter/tex.cpp:262
msgid "a string of 'o','O','p',or 'P'"
-msgstr "ÓÔÒÏËÁ ÉÚ 'o','O','p' ÉÌÉ 'P'"
+msgstr "строка из 'o','O','p' или 'P'"
#. TRANSLATORS: Like the strings in config.cpp, all strings in *-filter.opt
#. should be under 50 characters, begin with a lower case character and
#. not include any trailing punctuation marks.
#: modules/filter/context-filter.info:7
msgid "experimental filter for hiding delimited contexts"
-msgstr "ÆÉÌØÔÒ ÄÌÑ ÏÂÒÁÂÏÔËÉ ÒÁÚÄÅÌÅÎÎÙÈ ËÏÎÔÅËÓÔÏ×"
+msgstr "фильтр для обработки разделенных контекстов"
#: modules/filter/context-filter.info:13
msgid "context delimiters (separated by spaces)"
-msgstr "ÒÁÚÄÅÌÉÔÅÌÉ ËÏÎÔÅËÓÔÁ (ÒÁÚÄÅÌÅÎÎÙÅ ÐÒÏÂÅÌÁÍÉ)"
+msgstr "разделители контекста (отделенные пробелами)"
#: modules/filter/context-filter.info:21
msgid "swaps visible and invisible text"
-msgstr "ÍÅÎÑÅÔ ÍÅÓÔÁÍÉ ×ÉÄÉÍÙÊ É ÎÅ×ÉÄÉÍÙÊ ÔÅËÓÔ"
+msgstr "меняет местами видимый и невидимый текст"
#: modules/filter/email-filter.info:7
msgid "filter for skipping quoted text in email messages"
-msgstr "ÆÉÌØÔÒ ÄÌÑ ÐÒÏÐÕÓËÁ ÃÉÔÉÒÕÅÍÏÇÏ ÔÅËÓÔÁ × ÓÏÏÂÝÅÎÉÑÈ email"
+msgstr "фильтр для пропуска цитируемого текста в сообщениях email"
#: modules/filter/email-filter.info:13
msgid "email quote characters"
-msgstr "ÓÉÍ×ÏÌÙ ÃÉÔÉÒÏ×ÁÎÉÑ email"
+msgstr "символы цитирования email"
#: modules/filter/email-filter.info:21
msgid "num chars that can appear before the quote char"
-msgstr "ÍÁËÓÉÍÁÌØÎÁÑ ÐÏÚÉÃÉÑ ÓÉÍ×ÏÌÁ ÃÉÔÉÒÏ×ÁÎÉÑ"
+msgstr "числа, что могут появляться перед цитированием"
#: modules/filter/html-filter.info:9
msgid "filter for dealing with HTML documents"
-msgstr "ÆÉÌØÔÒ ÄÌÑ ÒÁÂÏÔÙ Ó ÄÏËÕÍÅÎÔÁÍÉ HTML"
+msgstr "фильтр для работы с документами HTML"
#: modules/filter/html-filter.info:15
msgid "HTML attributes to always check"
-msgstr "×ÓÅÇÄÁ ÐÒÏ×ÅÒÑÅÍÙÅ ÁÔÒÉÂÕÔÙ HTML"
+msgstr "всегда проверяемые атрибуты HTML"
#: modules/filter/html-filter.info:21
msgid "HTML tags to always skip the contents of"
-msgstr "×ÓÅÇÄÁ ÐÒÏÐÕÓËÁÅÍÙÅ ÔÅÇÉ HTML Ó ÓÏÄÅÒÖÉÍÙÍ"
+msgstr "всегда пропускаемые теги HTML с содержимым"
+
+#: modules/filter/markdown-filter.info:8
+#, fuzzy
+#| msgid "filter for dealing with Texinfo documents"
+msgid "filter for Markdown/CommonMark documents"
+msgstr "фильтр для работы с документами Texinfo"
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
+msgstr ""
#: modules/filter/nroff-filter.info:7
msgid "filter for dealing with Nroff documents"
-msgstr "ÆÉÌØÔÒ ÄÌÑ ÒÁÂÏÔÙ Ó ÄÏËÕÍÅÎÔÁÍÉ Nroff"
+msgstr "фильтр для работы с документами Nroff"
#: modules/filter/sgml-filter.info:9
msgid "filter for dealing with generic SGML/XML documents"
-msgstr "ÆÉÌØÔÒ ÄÌÑ ÒÁÂÏÔÙ Ó ÄÏËÕÍÅÎÔÁÍÉ SGML/XML"
+msgstr "фильтр для работы с обычными документами SGML/XML"
#: modules/filter/sgml-filter.info:15
msgid "SGML attributes to always check"
-msgstr "×ÓÅÇÄÁ ÐÒÏ×ÅÒÑÅÍÙÅ ÁÔÒÉÂÕÔÙ SGML"
+msgstr "всегда проверяемые атрибуты SGML"
#: modules/filter/sgml-filter.info:20
msgid "SGML tags to always skip the contents of"
-msgstr "×ÓÅÇÄÁ ÐÒÏÐÕÓËÁÅÍÙÅ ÔÅÇÉ SGML Ó ÓÏÄÅÒÖÉÍÙÍ"
+msgstr "всегда пропускаемые теги SGML с содержимым"
#: modules/filter/tex-filter.info:7
msgid "filter for dealing with TeX/LaTeX documents"
-msgstr "ÆÉÌØÔÒ ÄÌÑ ÒÁÂÏÔÙ Ó ÄÏËÕÍÅÎÔÁÍÉ TeX/LaTeX"
+msgstr "фильтр для работы с документами TeX/LaTeX"
#: modules/filter/tex-filter.info:15
msgid "check TeX comments"
-msgstr "ÐÒÏ×ÅÒËÁ ËÏÍÍÅÎÔÁÒÉÅ× TeX"
+msgstr "пÑ\80овеÑ\80ка комменÑ\82аÑ\80иев TeX"
#: modules/filter/tex-filter.info:21
msgid "TeX commands"
-msgstr "ËÏÍÁÎÄÙ TeX"
+msgstr "команды TeX"
#: modules/filter/texinfo-filter.info:7
msgid "filter for dealing with Texinfo documents"
-msgstr "ÆÉÌØÔÒ ÄÌÑ ÒÁÂÏÔÙ Ó ÄÏËÕÍÅÎÔÁÍÉ Texinfo"
+msgstr "фильтр для работы с документами Texinfo"
#: modules/filter/texinfo-filter.info:13
msgid "Texinfo commands to ignore the parameters of"
-msgstr "ëÏÍÁÎÄÙ Texinfo Ó ÉÇÎÏÒÉÒÕÅÍÙÍÉ ÐÁÒÁÍÅÔÒÁÍÉ"
+msgstr "Игнорируемые команды Texinfo для параметров"
#: modules/filter/texinfo-filter.info:41
msgid "Texinfo environments to ignore"
-msgstr "éÇÎÏÒÉÒÕÅÍÙÅ ÏËÒÕÖÅÎÉÑ Texinfo"
+msgstr "Игнорируемые переменные окружения Texinfo"
#: modules/filter/url-filter.info:7
msgid "filter to skip URL like constructs"
-msgstr "ÆÉÌØÔÒ ÄÌÑ ÐÒÏÐÕÓËÁ ËÏÎÓÔÒÕËÃÉÊ ÔÉÐÁ URL"
+msgstr "фильтр для пропуска конструкций типа URL"
#: modules/filter/modes/ccpp.amf:8
msgid "mode for checking C++ comments and string literals"
-msgstr "ÒÅÖÉÍ ÄÌÑ ÐÒÏ×ÅÒËÉ ËÏÍÍÅÎÔÁÒÉÅ× É ÓÔÒÏË C++"
+msgstr "режим для проверки комментариев C++ и строковых литералов"
#: modules/filter/modes/comment.amf:5
msgid "mode to check any lines starting with a #"
-msgstr "ÒÅÖÉÍ ÄÌÑ ÐÒÏ×ÅÒËÉ ÌÀÂÙÈ ÓÔÒÏË, ÎÁÞÉÎÁÀÝÉÈÓÑ Ó #"
+msgstr "режим для проверки любых строк, начинающихся с #"
#: modules/filter/modes/email.amf:5
msgid "mode for skipping quoted text in email messages"
-msgstr "ÒÅÖÉÍ ÄÌÑ ÐÒÏÐÕÓËÁ ÃÉÔÉÒÕÅÍÏÇÏ ÔÅËÓÔÁ × ÓÏÏÂÝÅÎÉÑÈ email"
+msgstr "режим для пропуска цитируемого текста в сообщениях email"
#: modules/filter/modes/html.amf:10
msgid "mode for checking HTML documents"
-msgstr "ÒÅÖÉÍ ÄÌÑ ÐÒÏ×ÅÒËÉ ÄÏËÕÍÅÎÔÏ× HTML"
+msgstr "режим для проверки документов HTML"
+
+#: modules/filter/modes/markdown.amf:10
+#, fuzzy
+#| msgid "mode for checking Nroff documents"
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr "режим для проверки документов Nroff"
#: modules/filter/modes/none.amf:5
msgid "mode to disable all filters"
-msgstr "ÒÅÖÉÍ ÄÌÑ ÏÔËÌÀÞÅÎÉÑ ×ÓÅÈ ÆÉÌØÔÒÏ×"
+msgstr "режим для отключения всех фильтров"
#: modules/filter/modes/nroff.amf:7
msgid "mode for checking Nroff documents"
-msgstr "ÒÅÖÉÍ ÄÌÑ ÐÒÏ×ÅÒËÉ ÄÏËÕÍÅÎÔÏ× Nroff"
+msgstr "режим для проверки документов Nroff"
#: modules/filter/modes/perl.amf:8
msgid "mode for checking Perl comments and string literals"
-msgstr "ÒÅÖÉÍ ÄÌÑ ÐÒÏ×ÅÒËÉ ËÏÍÍÅÎÔÁÒÉÅ× É ÓÔÒÏË Perl"
+msgstr "режим для проверки комментариев Perl и строковых литералов"
#: modules/filter/modes/sgml.amf:8
msgid "mode for checking generic SGML/XML documents"
-msgstr "ÒÅÖÉÍ ÄÌÑ ÐÒÏ×ÅÒËÉ ÄÏËÕÍÅÎÔÏ× SGML/XML"
+msgstr "режим для проверки обычных документов SGML/XML"
#: modules/filter/modes/tex.amf:7
msgid "mode for checking TeX/LaTeX documents"
-msgstr "ÒÅÖÉÍ ÄÌÑ ÐÒÏ×ÅÒËÉ ÄÏËÕÍÅÎÔÏ× TeX/LaTeX"
+msgstr "режим для проверки обычных документов TeX/LaTeX"
#: modules/filter/modes/texinfo.amf:7
msgid "mode for checking Texinfo documents"
-msgstr "ÒÅÖÉÍ ÄÌÑ ÐÒÏ×ÅÒËÉ ÄÏËÕÍÅÎÔÏ× Texinfo"
+msgstr "режим для проверки документов Texinfo"
#: modules/filter/modes/url.amf:5
msgid "mode to skip URL like constructs (default mode)"
-msgstr "ÒÅÖÉÍ ÄÌÑ ÐÒÏÐÕÓËÁ ËÏÎÓÔÒÕËÃÉÊ ÔÉÐÁ URL (ÒÅÖÉÍ ÐÏ ÕÍÏÌÞÁÎÉÀ)"
+msgstr "режим для пропуска конструкций типа URL (режим по умолчанию)"
msgstr ""
"Project-Id-Version: aspell 0.60\n"
"Report-Msgid-Bugs-To: kevina@gnu.org\n"
-"POT-Creation-Date: 2011-07-04 03:25-0600\n"
+"POT-Creation-Date: 2019-07-29 02:38-0400\n"
"PO-Revision-Date: 2005-04-04 10:55-0700\n"
"Last-Translator: Steven Michael Murphy <murf@e-tools.com>\n"
"Language-Team: Kinyarwanda <translation-team-rw@lists.sourceforge.net>\n"
+"Language: rw\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
#: common/info.cpp:232
#, fuzzy
msgid "ASPELL_CONF env var"
msgstr "VAR"
-#. TRANSLATORS: The remaing strings in config.cpp should be kept
+#. TRANSLATORS: The remaining strings in config.cpp should be kept
#. under 50 characters, begin with a lower case character and not
#. include any trailing punctuation marks.
#: common/config.cpp:1360
msgid "time load time and suggest time in pipe mode"
msgstr "Igihe Ibirimo Igihe Na Igihe in Ubwoko"
-#: common/convert.cpp:303 common/convert.cpp:429
+#: common/convert.cpp:303 common/convert.cpp:497
#, fuzzy, c-format
-msgid ""
-"This could also mean that the file \"%s\" could not be opened for reading or "
-"does not exist."
+msgid "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
msgstr "Impuzandengo- i IDOSIYE OYA kugirango Cyangwa OYA"
-#: common/convert.cpp:552 common/convert.cpp:659 common/convert.cpp:705
+#: common/convert.cpp:582 common/convert.cpp:689 common/convert.cpp:735
#, fuzzy, c-format
msgid "The Unicode code point U+%04X is unsupported."
msgstr "ITEGEKONGENGA Akadomo U ni"
-#: common/convert.cpp:829
+#: common/convert.cpp:859
#, fuzzy, c-format
msgid "Invalid UTF-8 sequence at position %ld."
msgstr "8 ku Ibirindiro"
#: common/errors.cpp:147
#, fuzzy
-msgid ""
-"The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%"
-"key:1\"."
+msgid "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
msgstr "Agaciro 2. ni OYA 3. Na ni Sibyo kugirango i Urufunguzo 1."
#: common/errors.cpp:163
#: common/errors.cpp:195
#, fuzzy
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"reset-"
-"\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
msgstr "Urufunguzo 1. OYA Ibigenga Ryari: ku a Kugarura"
#: common/errors.cpp:203
#, fuzzy
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by an \"enable-"
-"\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by an \"enable-\"."
msgstr "Urufunguzo 1. OYA Ibigenga Ryari: ku a Gushoboza"
#: common/errors.cpp:211
#, fuzzy
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" "
-"or \"disable-\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
msgstr "Urufunguzo 1. OYA Ibigenga Ryari: ku a Cyangwa"
#: common/errors.cpp:219
#, fuzzy
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"clear-"
-"\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
msgstr "Urufunguzo 1. OYA Ibigenga Ryari: ku a Gusiba"
#: common/errors.cpp:235
#: common/errors.cpp:299
#, fuzzy, c-format
-msgid ""
-"The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be "
-"stripped."
+msgid "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
msgstr "Ibisabwa 1. OYA 2. Buri gihe"
#: common/errors.cpp:307
#, fuzzy, c-format
-msgid ""
-"The file \"%file:1\" is not in the proper format. Expected the file to be in "
-"\"%exp:2\" not \"%got:3\"."
-msgstr ""
-"IDOSIYE 1. ni OYA in i NYACYO Imiterere Itegerejwe i IDOSIYE Kuri in 2. OYA "
-"3."
+msgid "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
+msgstr "IDOSIYE 1. ni OYA in i NYACYO Imiterere Itegerejwe i IDOSIYE Kuri in 2. OYA 3."
#: common/errors.cpp:323
#, fuzzy, c-format
#: common/errors.cpp:675
#, fuzzy
-msgid ""
-"\"%mode:1\": Magic \"%magic:2\": bad regular expression after location "
-"specifier; regexp reports: \"%regerr:3\"."
+msgid "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
msgstr "\"%mode:1. 2. Ibisanzwe imvugo Nyuma Ahantu Raporo 3."
#: common/errors.cpp:691
msgid "Unhandled Error: "
msgstr ""
-#: prog/aspell.cpp:97
+#: prog/aspell.cpp:98
#, fuzzy, c-format
msgid "Error: %s\n"
msgstr "Ikosa"
-#: prog/aspell.cpp:102
+#: prog/aspell.cpp:103
msgid "Error: "
msgstr "Ikosa"
-#: prog/aspell.cpp:203
+#: prog/aspell.cpp:204
#, fuzzy
msgid "enter Email mode."
msgstr "Injiza Ubwoko"
-#: prog/aspell.cpp:204
+#: prog/aspell.cpp:205
#, fuzzy
msgid "enter HTML mode."
msgstr "Injiza Ubwoko"
-#: prog/aspell.cpp:205
+#: prog/aspell.cpp:206
#, fuzzy
msgid "enter TeX mode."
msgstr "Injiza Ubwoko"
-#: prog/aspell.cpp:206
+#: prog/aspell.cpp:207
#, fuzzy
msgid "enter Nroff mode."
msgstr "Injiza Ubwoko"
-#: prog/aspell.cpp:312
+#: prog/aspell.cpp:313
#, c-format
msgid "Invalid Option: %s"
msgstr ""
-#: prog/aspell.cpp:319
+#: prog/aspell.cpp:320
#, fuzzy
msgid " does not take any parameters."
msgstr "OYA Ibigenga"
-#: prog/aspell.cpp:332 prog/aspell.cpp:392
+#: prog/aspell.cpp:333 prog/aspell.cpp:393
#, fuzzy, c-format
msgid "You must specify a parameter for \"%s\"."
msgstr "a kugirango"
-#: prog/aspell.cpp:381
+#: prog/aspell.cpp:382
#, fuzzy
msgid "You must specify an action"
msgstr "Igikorwa"
-#: prog/aspell.cpp:389 prog/aspell.cpp:452 prog/aspell.cpp:474
+#: prog/aspell.cpp:390 prog/aspell.cpp:453 prog/aspell.cpp:475
#, c-format
msgid "Unknown Action: %s"
msgstr ""
-#: prog/aspell.cpp:395
+#: prog/aspell.cpp:396
#, fuzzy, c-format
msgid "Error: You must specify at least %d parameters for \"%s\".\n"
msgstr "a kugirango"
-#: prog/aspell.cpp:637
+#: prog/aspell.cpp:638
#, fuzzy
msgid "Invalid Input"
msgstr "ibinjizwa bitemewe"
-#: prog/aspell.cpp:710
+#: prog/aspell.cpp:711
#, c-format
msgid "WARNING: Unable to enter Nroff mode: %s\n"
msgstr ""
-#: prog/aspell.cpp:731
+#: prog/aspell.cpp:732
#, fuzzy
msgid "Time to load word list: "
msgstr "Kuri Ibirimo ijambo Urutonde"
-#: prog/aspell.cpp:929
+#: prog/aspell.cpp:930
#, c-format
msgid "Suggestion Time: %f\n"
msgstr ""
-#: prog/aspell.cpp:972
+#: prog/aspell.cpp:973
#, fuzzy
msgid "You must specify a file name."
msgstr "a IDOSIYE Izina:"
-#: prog/aspell.cpp:975
+#: prog/aspell.cpp:976
msgid "Only one file name may be specified."
msgstr ""
-#: prog/aspell.cpp:985
+#: prog/aspell.cpp:986
#, fuzzy, c-format
msgid "Could not open the file \"%s\" for reading"
msgstr "OYA Gufungura i IDOSIYE kugirango"
-#: prog/aspell.cpp:998
+#: prog/aspell.cpp:999
#, c-format
msgid "Invalid keymapping: %s"
msgstr ""
-#: prog/aspell.cpp:1020
+#: prog/aspell.cpp:1014
+#, fuzzy, c-format
+msgid "\"%s\" is not a regular file"
+msgstr "\"%expression:1. ni OYA a Byemewe Ibisanzwe imvugo"
+
+#: prog/aspell.cpp:1025
#, fuzzy, c-format
msgid "Could not open the file \"%s\" for writing. File not saved."
msgstr "OYA Gufungura i IDOSIYE kugirango Idosiye OYA"
-#: prog/aspell.cpp:1033
+#: prog/aspell.cpp:1038
msgid "Ignore"
msgstr "Kureka"
# svx/source\editeng\editeng.src:RID_MENU_SPELL.MN_IGNORE.text
-#: prog/aspell.cpp:1034
+#: prog/aspell.cpp:1039
#, fuzzy
msgid "Ignore all"
msgstr "Kwirengagiza Byose"
-#: prog/aspell.cpp:1035
+#: prog/aspell.cpp:1040
msgid "Replace"
msgstr "Gusimbura"
-#: prog/aspell.cpp:1036
+#: prog/aspell.cpp:1041
msgid "Replace all"
msgstr "Gusimbura Byose"
-#: prog/aspell.cpp:1037
+#: prog/aspell.cpp:1042
msgid "Add"
msgstr "Kongera"
-#: prog/aspell.cpp:1038
+#: prog/aspell.cpp:1043
msgid "Add Lower"
msgstr ""
-#: prog/aspell.cpp:1039
+#: prog/aspell.cpp:1044
msgid "Abort"
msgstr "Ntibyakunze"
-#: prog/aspell.cpp:1040
+#: prog/aspell.cpp:1045
msgid "Exit"
msgstr "Gusohoka"
-#: prog/aspell.cpp:1116
+#: prog/aspell.cpp:1121
#, fuzzy
msgid "Are you sure you want to abort (y/n)? "
msgstr "Kuri Kureka Y N"
#. TRANSLATORS: The user may input any of these characters to say "yes".
#. MUST ONLY CONSIST OF ASCII CHARACTERS.
-#: prog/aspell.cpp:1120
+#: prog/aspell.cpp:1125
msgid "Yy"
msgstr ""
# offmgr/source\offapp\dialog\autocdlg.src:RID_OFAPAGE_AUTOCORR_REPLACE.FT_REPLACE.text
-#: prog/aspell.cpp:1148
+#: prog/aspell.cpp:1153
#, fuzzy
msgid "With: "
msgstr "Na:"
-#: prog/aspell.cpp:1165
+#: prog/aspell.cpp:1170
#, fuzzy
msgid "Sorry that is an invalid choice!"
msgstr "ni Sibyo"
-#: prog/aspell.cpp:1386
+#: prog/aspell.cpp:1391
#, fuzzy
msgid "Sorry \"filter\" is currently unimplemented.\n"
msgstr "Muyunguruzi... ni"
-#: prog/aspell.cpp:1520
+#: prog/aspell.cpp:1525
#, fuzzy
msgid "Can't merge a master word list yet. Sorry."
msgstr "Gukomatanya a Mugenga ijambo Urutonde"
-#: prog/aspell.cpp:1544
+#: prog/aspell.cpp:1549
#, fuzzy
msgid "Sorry \"create/merge personal\" is currently unimplemented.\n"
msgstr "Kurema Gukomatanya Bwite ni"
-#: prog/aspell.cpp:1553 prog/aspell.cpp:1609
+#: prog/aspell.cpp:1558 prog/aspell.cpp:1614
#, fuzzy, c-format
msgid "Sorry I won't overwrite \"%s\""
msgstr "Guhindura"
-#: prog/aspell.cpp:1600
+#: prog/aspell.cpp:1605
#, fuzzy
msgid "Sorry \"create/merge repl\" is currently unimplemented.\n"
msgstr "Kurema Gukomatanya ni"
-#: prog/aspell.cpp:1872
+#: prog/aspell.cpp:1877
#, c-format
msgid "\"%s\" is not a valid flag for the \"munch-list\" command."
msgstr ""
#. TRANSLATORS: These should all be formated to fit in 80 column or
#. less
-#: prog/aspell.cpp:2799
+#: prog/aspell.cpp:2804
#, fuzzy
msgid "Usage: aspell [options] <command>"
msgstr "Amahitamo Komandi:"
-#: prog/aspell.cpp:2800
+#: prog/aspell.cpp:2805
#, fuzzy
msgid "<command> is one of:"
msgstr "<Komandi: ni Bya"
-#: prog/aspell.cpp:2801
+#: prog/aspell.cpp:2806
#, fuzzy
msgid " -?|usage display a brief usage message"
msgstr ""
"X- Generator: KBabel 1. 0\n"
"."
-#: prog/aspell.cpp:2802
+#: prog/aspell.cpp:2807
#, fuzzy
msgid " help display a detailed help message"
msgstr "Ifashayobora Kugaragaza a Ifashayobora Ubutumwa"
-#: prog/aspell.cpp:2803
+#: prog/aspell.cpp:2808
#, fuzzy
msgid " -c|check <file> to check a file"
msgstr "-C Kugenzura... IDOSIYE Kuri Kugenzura... a IDOSIYE"
-#: prog/aspell.cpp:2804
+#: prog/aspell.cpp:2809
#, fuzzy
msgid " -a|pipe \"ispell -a\" compatibility mode"
msgstr "-a a Bihuye neza Ubwoko"
-#: prog/aspell.cpp:2805
+#: prog/aspell.cpp:2810
#, fuzzy
msgid " [dump] config dumps the current configuration to stdout"
msgstr "[i KIGEZWEHO Iboneza Kuri"
-#: prog/aspell.cpp:2806
+#: prog/aspell.cpp:2811
#, fuzzy
msgid " config <key> prints the current value of an option"
msgstr "Urufunguzo i KIGEZWEHO Agaciro Bya Ihitamo"
-#: prog/aspell.cpp:2807
+#: prog/aspell.cpp:2812
#, fuzzy
msgid " [dump] dicts | filters | modes"
msgstr "[Muyunguruzi"
-#: prog/aspell.cpp:2808
+#: prog/aspell.cpp:2813
#, fuzzy
msgid " lists available dictionaries / filters / filter modes"
msgstr "Intonde Bihari Inkoranyamagambo Muyunguruzi Muyunguruzi..."
-#: prog/aspell.cpp:2809
+#: prog/aspell.cpp:2814
#, fuzzy
msgid "[options] is any of the following:"
msgstr "[Amahitamo ni Bya i"
-#: prog/aspell.cpp:2822
+#: prog/aspell.cpp:2827
#, fuzzy
-msgid ""
-" list produce a list of misspelled words from standard input"
+msgid " list produce a list of misspelled words from standard input"
msgstr "Urutonde a Urutonde Bya Amagambo Bivuye Bisanzwe Iyinjiza"
-#: prog/aspell.cpp:2825
+#: prog/aspell.cpp:2830
#, fuzzy
-msgid ""
-" soundslike returns the sounds like equivalent for each word entered"
+msgid " soundslike returns the sounds like equivalent for each word entered"
msgstr "i Amajwi nka kugirango ijambo"
-#: prog/aspell.cpp:2826
+#: prog/aspell.cpp:2831
#, fuzzy
msgid " munch generate possible root words and affixes"
msgstr "Imizi Amagambo Na"
-#: prog/aspell.cpp:2827
+#: prog/aspell.cpp:2832
#, fuzzy
msgid " expand [1-4] expands affix flags"
msgstr "Kwagura 1. 4. Amabendera"
-#: prog/aspell.cpp:2828
+#: prog/aspell.cpp:2833
#, fuzzy
-msgid ""
-" clean [strict] cleans a word list so that every line is a valid word"
+msgid " clean [strict] cleans a word list so that every line is a valid word"
msgstr "GUSUKURA a ijambo Urutonde buri Umurongo ni a Byemewe ijambo"
-#: prog/aspell.cpp:2830
+#: prog/aspell.cpp:2835
#, fuzzy
msgid " -v|version prints a version line"
msgstr "-v Verisiyo a Verisiyo Umurongo"
-#: prog/aspell.cpp:2831
+#: prog/aspell.cpp:2836
msgid " munch-list [simple] [single|multi] [keep]"
msgstr ""
-#: prog/aspell.cpp:2832
+#: prog/aspell.cpp:2837
msgid " reduce the size of a word list via affix compression"
msgstr ""
-#: prog/aspell.cpp:2833
+#: prog/aspell.cpp:2838
#, fuzzy
msgid " conv <from> <to> [<norm-form>]"
msgstr "Bivuye Kuri Ifishi"
-#: prog/aspell.cpp:2834
+#: prog/aspell.cpp:2839
#, fuzzy
msgid " converts from one encoding to another"
msgstr "Bivuye Imisobekere: Kuri"
-#: prog/aspell.cpp:2835
+#: prog/aspell.cpp:2840
#, fuzzy
msgid " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
msgstr "Bivuye Kuri Ifishi"
-#: prog/aspell.cpp:2836
+#: prog/aspell.cpp:2841
msgid " perform Unicode normalization"
msgstr ""
-#: prog/aspell.cpp:2839
+#: prog/aspell.cpp:2844
#, fuzzy
msgid " dump|create|merge master|personal|repl [<name>]"
msgstr "Kurema Gukomatanya Mugenga Bwite ijambo Urutonde"
-#: prog/aspell.cpp:2840
+#: prog/aspell.cpp:2845
#, fuzzy
-msgid ""
-" dumps, creates or merges a master, personal, or replacement dictionary."
+msgid " dumps, creates or merges a master, personal, or replacement dictionary."
msgstr "Cyangwa a Mugenga Bwite Cyangwa ijambo Urutonde"
#. TRANSLATORS: "none", "internal" and "strict" are literal values
#. and should not be translated.
-#: prog/aspell.cpp:2844
+#: prog/aspell.cpp:2849
#, fuzzy
-msgid ""
-" <norm-form> normalization form to use, either none, internal, or "
-"strict"
+msgid " <norm-form> normalization form to use, either none, internal, or strict"
msgstr "<Ifishi Ifishi Kuri Gukoresha Ntacyo By'imbere Cyangwa"
-#: prog/aspell.cpp:2854
+#: prog/aspell.cpp:2859
#, fuzzy, c-format
msgid ""
"\n"
"\n"
msgstr "ku"
-#: prog/aspell.cpp:2888
+#: prog/aspell.cpp:2893
#, fuzzy
msgid ""
"Available Dictionaries:\n"
" Dictionaries can be selected directly via the \"-d\" or \"master\"\n"
" option. They can also be selected indirectly via the \"lang\",\n"
" \"variety\", and \"size\" options.\n"
-msgstr ""
-"Byahiswemo Biturutse i D Cyangwa Mugenga Ihitamo Byahiswemo Biturutse i Na "
-"Ingano Amahitamo"
+msgstr "Byahiswemo Biturutse i D Cyangwa Mugenga Ihitamo Byahiswemo Biturutse i Na Ingano Amahitamo"
-#: prog/aspell.cpp:2909
+#: prog/aspell.cpp:2914
#, fuzzy
msgid ""
"Available Filters (and associated options):\n"
" Filters can be added or removed via the \"filter\" option.\n"
-msgstr ""
-"Na Amahitamo Kyongewe Cyangwa Cyavanyweho Biturutse i Muyunguruzi... Ihitamo"
+msgstr "Na Amahitamo Kyongewe Cyangwa Cyavanyweho Biturutse i Muyunguruzi... Ihitamo"
# wizards/source\formwizard\dbwizres.src:RID_DB_QUERY_WIZARD_START_+_16.text
-#: prog/aspell.cpp:2916
+#: prog/aspell.cpp:2921
#, fuzzy, c-format
msgid ""
"\n"
msgstr "%sMuyunguruzi"
#. TRANSLATORS: This should be formated to fit in 80 column or less
-#: prog/aspell.cpp:2933
+#: prog/aspell.cpp:2938
#, fuzzy
msgid ""
"Available Filter Modes:\n"
" files of a specific type. A mode is selected via the \"mode\" option.\n"
" This will happen implicitly if Aspell is able to identify the file\n"
" type from the extension, and possibility the contents, of the file.\n"
-msgstr ""
-"Bya Muyunguruzi Cyuzuye Idosiye Bya a Ubwoko A Ubwoko ni Byahiswemo "
-"Biturutse i Ubwoko Ihitamo NIBA ni Kuri i Ubwoko Bivuye i Umugereka Na i "
-"Ibigize Bya i IDOSIYE"
+msgstr "Bya Muyunguruzi Cyuzuye Idosiye Bya a Ubwoko A Ubwoko ni Byahiswemo Biturutse i Ubwoko Ihitamo NIBA ni Kuri i Ubwoko Bivuye i Umugereka Na i Ibigize Bya i IDOSIYE"
#: prog/check_funs.cpp:287
#, fuzzy
#: modules/speller/default/language.cpp:494
#: modules/speller/default/language.cpp:503
#, fuzzy, c-format
-msgid ""
-"The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgid "The character '%s' (U+%02X) must be followed by an alphabetic character."
msgstr "Inyuguti U ku Inyuguti"
#: modules/speller/default/language.cpp:496
#: modules/speller/default/language.cpp:508
#, fuzzy
-msgid ""
-"The character '\\r' (U+0D) may not appear at the end of a word. This "
-"probably means means that the file is using MS-DOS EOL instead of Unix EOL."
-msgstr ""
-"Inyuguti U Gicurasi OYA Kugaragara ku i Impera Bya a ijambo i IDOSIYE ni "
-"ikoresha Bya"
+msgid "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgstr "Inyuguti U Gicurasi OYA Kugaragara ku i Impera Bya a ijambo i IDOSIYE ni ikoresha Bya"
#: modules/speller/default/language.cpp:511
#, fuzzy, c-format
msgid "Warning: Removing inapplicable affix '%s' from word %s.\n"
msgstr "Bivuye ijambo"
-#: modules/speller/default/language.cpp:674
+#: modules/speller/default/language.cpp:675
#, fuzzy, c-format
msgid "Warning: %s Skipping string.\n"
msgstr "Ikurikiranyanyuguti"
-#: modules/speller/default/language.cpp:732
+#: modules/speller/default/language.cpp:733
#, fuzzy
msgid "The total length is larger than 240 characters."
msgstr "Igiteranyo Uburebure ni Kinini Inyuguti"
-#: modules/speller/default/language.cpp:736
+#: modules/speller/default/language.cpp:737
#, fuzzy, c-format
msgid "Warning: %s Skipping word.\n"
msgstr "ijambo"
msgstr "IBARA"
#: modules/speller/default/readonly_ws.cpp:362
+msgid "Incompatible hash function."
+msgstr ""
+
+#: modules/speller/default/readonly_ws.cpp:440
#, fuzzy
msgid "Wrong endian order."
msgstr "Itondekanya"
-#: modules/speller/default/readonly_ws.cpp:385
+#: modules/speller/default/readonly_ws.cpp:463
msgid "Wrong soundslike."
msgstr ""
-#: modules/speller/default/readonly_ws.cpp:391
+#: modules/speller/default/readonly_ws.cpp:469
#, fuzzy
msgid "Wrong soundslike version."
msgstr "Verisiyo"
-#: modules/speller/default/readonly_ws.cpp:853
+#: modules/speller/default/readonly_ws.cpp:934
#, fuzzy
msgid "Affix flags found in word but no affix file given."
msgstr "Amabendera Byabonetse in ijambo Oya IDOSIYE"
-#: modules/speller/default/readonly_ws.cpp:891
+#: modules/speller/default/readonly_ws.cpp:972
#, fuzzy
-msgid ""
-"The total word length, with soundslike data, is larger than 240 characters."
+msgid "The total word length, with soundslike data, is larger than 240 characters."
msgstr "Igiteranyo ijambo Uburebure Na: Ibyatanzwe ni Kinini Inyuguti"
#: modules/speller/default/multi_ws.cpp:58
msgid "HTML tags to always skip the contents of"
msgstr "Kuri Buri gihe i Ibigize Bya"
+#: modules/filter/markdown-filter.info:8
+#, fuzzy
+msgid "filter for Markdown/CommonMark documents"
+msgstr "Muyunguruzi... kugirango Na: Inyandiko"
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
+msgstr ""
+
#: modules/filter/nroff-filter.info:7
#, fuzzy
msgid "filter for dealing with Nroff documents"
msgid "mode for checking HTML documents"
msgstr "Ubwoko kugirango Inyandiko"
+#: modules/filter/modes/markdown.amf:10
+#, fuzzy
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr "Ubwoko kugirango Inyandiko"
+
#: modules/filter/modes/none.amf:5
#, fuzzy
msgid "mode to disable all filters"
# Slovak translations of aspell
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# Copyright (C) 2011 Free Software Foundation, Inc.
# This file is distributed under the same license as the aspell package.
-# Ivan Masár <helix84@centrum.sk>, 2007
+# Ivan Masár <helix84@centrum.sk>, 2007, 2011.
msgid ""
msgstr ""
-"Project-Id-Version: aspell 0.60.5\n"
+"Project-Id-Version: aspell 0.60.7\n"
"Report-Msgid-Bugs-To: kevina@gnu.org\n"
-"POT-Creation-Date: 2011-07-04 03:25-0600\n"
-"PO-Revision-Date: 2007-04-28 16:22+0100\n"
+"POT-Creation-Date: 2019-07-29 02:38-0400\n"
+"PO-Revision-Date: 2011-07-08 20:53+0100\n"
"Last-Translator: Ivan Masár <helix84@centrum.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
+"Language: sk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Poedit-Language: Slovak\n"
"X-Poedit-Country: SLOVAKIA\n"
msgid "ASPELL_CONF env var"
msgstr "premenná prostredia ASPELL_CONF"
-#. TRANSLATORS: The remaing strings in config.cpp should be kept
+#. TRANSLATORS: The remaining strings in config.cpp should be kept
#. under 50 characters, begin with a lower case character and not
#. include any trailing punctuation marks.
#: common/config.cpp:1360
msgid "time load time and suggest time in pipe mode"
msgstr "čas načítania a čas návrhu v režime rúry"
-#: common/convert.cpp:303 common/convert.cpp:429
+#: common/convert.cpp:303 common/convert.cpp:497
#, c-format
-msgid ""
-"This could also mean that the file \"%s\" could not be opened for reading or "
-"does not exist."
-msgstr ""
-"Tiež to môže znamenať, že súbor \"%s\" nebolo možné otvoriť alebo neexistuje."
+msgid "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
+msgstr "Tiež to môže znamenať, že súbor \"%s\" nebolo možné otvoriť alebo neexistuje."
-#: common/convert.cpp:552 common/convert.cpp:659 common/convert.cpp:705
+#: common/convert.cpp:582 common/convert.cpp:689 common/convert.cpp:735
#, c-format
msgid "The Unicode code point U+%04X is unsupported."
msgstr "Unicode code point U+%04X nie je podporovaný."
-#: common/convert.cpp:829
+#: common/convert.cpp:859
#, c-format
msgid "Invalid UTF-8 sequence at position %ld."
-msgstr "Neplatná UTF-8 postupnosť na pozícii %ld."
+msgstr "Neplatná sekvencia UTF-8 na pozícii %ld."
#: common/errors.cpp:27
msgid "Operation Not Supported: %what:1"
msgstr "Kľúč \"%key:1\" nie je %accepted:2 a preto je neplatný."
#: common/errors.cpp:147
-msgid ""
-"The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%"
-"key:1\"."
-msgstr ""
-"Hodnota \"%value:2\" nie je %accepted:3 a preto jeneplatná pre kľúč \"%key:1"
-"\"."
+msgid "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
+msgstr "Hodnota \"%value:2\" nie je %accepted:3 a preto jeneplatná pre kľúč \"%key:1\"."
#: common/errors.cpp:163
msgid "The key \"%key:1\" is not a string."
msgstr "Kľúč \"%key:1\" nie je zoznam."
#: common/errors.cpp:195
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"reset-"
-"\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
msgstr "Kľúč \"%key:1\" neprijíma parametre keď mu predchádza \"reset-\"."
#: common/errors.cpp:203
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by an \"enable-"
-"\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by an \"enable-\"."
msgstr "Kľúč \"%key:1\" neprijíma parametre keď mu predchádza \"enable-\"."
#: common/errors.cpp:211
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" "
-"or \"disable-\"."
-msgstr ""
-"Kľúč \"%key:1\" neprijíma parametre keď mu predchádza \"dont-\" alebo "
-"\"disable-\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
+msgstr "Kľúč \"%key:1\" neprijíma parametre keď mu predchádza \"dont-\" alebo \"disable-\"."
#: common/errors.cpp:219
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"clear-"
-"\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
msgstr "Kľúč \"%key:1\" neprijíma parametre keď mu predchádza \"clear-\"."
#: common/errors.cpp:235
#: common/errors.cpp:299
#, c-format
-msgid ""
-"The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be "
-"stripped."
-msgstr ""
-"Podmienka \"%cond:1\" nezaručuje, že \"%strip:2\" je vždy možné oddeliť."
+msgid "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
+msgstr "Podmienka \"%cond:1\" nezaručuje, že \"%strip:2\" je vždy možné oddeliť."
#: common/errors.cpp:307
#, c-format
-msgid ""
-"The file \"%file:1\" is not in the proper format. Expected the file to be in "
-"\"%exp:2\" not \"%got:3\"."
-msgstr ""
-"Súbor \"%file:1\" nemá správny formát. Očakával som súbor v \"%exp:2\", nie "
-"\"%got:3\"."
+msgid "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
+msgstr "Súbor \"%file:1\" nemá správny formát. Očakával som súbor v \"%exp:2\", nie \"%got:3\"."
#: common/errors.cpp:323
#, c-format
#: common/errors.cpp:635
#, c-format
msgid "\"%mode:1\" error while extend Aspell modes. (out of memory?)"
-msgstr ""
-"Chyba \"%mode:1\" počas rozširovania režimov Aspell. (nedostatok pamäte?)"
+msgstr "Chyba \"%mode:1\" počas rozširovania režimov Aspell. (nedostatok pamäte?)"
#: common/errors.cpp:651
#, c-format
msgid "\"%mode:1\": no start for magic search given for magic \"%magic:2\"."
-msgstr ""
-"Chyba \"%mode:1\": pre magické hladanie \"%magic:2\" nebol špecifikovaný "
-"začiatok."
+msgstr "Chyba \"%mode:1\": pre magické hladanie \"%magic:2\" nebol špecifikovaný začiatok."
#: common/errors.cpp:659
#, c-format
msgstr "\"%mode:1\": nie je dostupný výraz pre magické hľadanie \"%magic:2\"."
#: common/errors.cpp:675
-msgid ""
-"\"%mode:1\": Magic \"%magic:2\": bad regular expression after location "
-"specifier; regexp reports: \"%regerr:3\"."
-msgstr ""
-"\"%mode:1\": Magické hľadanie \"%magic:2\": zlý regulárny výraz po "
-"špecifikácii lokátora; regexp vrátil: \"%regerr:3\"."
+msgid "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
+msgstr "\"%mode:1\": Magické hľadanie \"%magic:2\": zlý regulárny výraz po špecifikácii lokátora; regexp vrátil: \"%regerr:3\"."
#: common/errors.cpp:691
#, c-format
msgid "Unhandled Error: "
msgstr "Neobslúžená chyba: "
-#: prog/aspell.cpp:97
+#: prog/aspell.cpp:98
#, c-format
msgid "Error: %s\n"
msgstr "Chyba: %s\n"
-#: prog/aspell.cpp:102
+#: prog/aspell.cpp:103
msgid "Error: "
msgstr "Chyba: "
-#: prog/aspell.cpp:203
+#: prog/aspell.cpp:204
msgid "enter Email mode."
msgstr "zadajte režim Email."
-#: prog/aspell.cpp:204
+#: prog/aspell.cpp:205
msgid "enter HTML mode."
msgstr "zadajte režim HTML."
-#: prog/aspell.cpp:205
+#: prog/aspell.cpp:206
msgid "enter TeX mode."
msgstr "zadajte režim TeX."
-#: prog/aspell.cpp:206
+#: prog/aspell.cpp:207
msgid "enter Nroff mode."
msgstr "zadajte režim Nroff."
-#: prog/aspell.cpp:312
+#: prog/aspell.cpp:313
#, c-format
msgid "Invalid Option: %s"
msgstr "Neplatná voľba: %s"
-#: prog/aspell.cpp:319
+#: prog/aspell.cpp:320
msgid " does not take any parameters."
msgstr " neberie žiadne parametre."
-#: prog/aspell.cpp:332 prog/aspell.cpp:392
+#: prog/aspell.cpp:333 prog/aspell.cpp:393
#, c-format
msgid "You must specify a parameter for \"%s\"."
msgstr "Musíte špecifikovať parameter pre \"%s\"."
-#: prog/aspell.cpp:381
+#: prog/aspell.cpp:382
msgid "You must specify an action"
msgstr "Musíte špecifikovať činnosť"
-#: prog/aspell.cpp:389 prog/aspell.cpp:452 prog/aspell.cpp:474
+#: prog/aspell.cpp:390 prog/aspell.cpp:453 prog/aspell.cpp:475
#, c-format
msgid "Unknown Action: %s"
msgstr "Neznáma činnosť: %s"
-#: prog/aspell.cpp:395
+#: prog/aspell.cpp:396
#, c-format
msgid "Error: You must specify at least %d parameters for \"%s\".\n"
msgstr "Chyba: Musíte špecifikovať aspoň %d parametrov pre \"%s\".\n"
-#: prog/aspell.cpp:637
+#: prog/aspell.cpp:638
msgid "Invalid Input"
msgstr "Neplatný vstup"
-#: prog/aspell.cpp:710
+#: prog/aspell.cpp:711
#, c-format
msgid "WARNING: Unable to enter Nroff mode: %s\n"
msgstr "UPOZORNENIE: Nebolo možné vstúpiť do režimu Nroff: %s\n"
-#: prog/aspell.cpp:731
+#: prog/aspell.cpp:732
msgid "Time to load word list: "
msgstr "Čas pre načítanie zoznamu slov: "
-#: prog/aspell.cpp:929
+#: prog/aspell.cpp:930
#, c-format
msgid "Suggestion Time: %f\n"
msgstr "Čas návrhu: %f\n"
-#: prog/aspell.cpp:972
+#: prog/aspell.cpp:973
msgid "You must specify a file name."
msgstr "Musíte špecifikovať názov súboru."
-#: prog/aspell.cpp:975
+#: prog/aspell.cpp:976
msgid "Only one file name may be specified."
msgstr "Môže byť špecifikované iba jeden názov súboru."
-#: prog/aspell.cpp:985
+#: prog/aspell.cpp:986
#, c-format
msgid "Could not open the file \"%s\" for reading"
msgstr "Nebolo možné otvoriť súbor \"%s\" na čítanie"
-#: prog/aspell.cpp:998
+#: prog/aspell.cpp:999
#, c-format
msgid "Invalid keymapping: %s"
msgstr "Neplatné mapovanie kláves: %s"
-#: prog/aspell.cpp:1020
+#: prog/aspell.cpp:1014
+#, fuzzy, c-format
+#| msgid "\"%expression:1\" is not a valid regular expression."
+msgid "\"%s\" is not a regular file"
+msgstr "\"%expression:1\" nie je platný regulárny výraz."
+
+#: prog/aspell.cpp:1025
#, c-format
msgid "Could not open the file \"%s\" for writing. File not saved."
msgstr "Nebolo možné otvoriť súbor \"%s\" na zápis. Súbor nebol uložený."
-#: prog/aspell.cpp:1033
+#: prog/aspell.cpp:1038
msgid "Ignore"
msgstr "Ignorovať"
-#: prog/aspell.cpp:1034
+#: prog/aspell.cpp:1039
msgid "Ignore all"
msgstr "Ignorovať všetky"
-#: prog/aspell.cpp:1035
+#: prog/aspell.cpp:1040
msgid "Replace"
msgstr "Nahradiť"
-#: prog/aspell.cpp:1036
+#: prog/aspell.cpp:1041
msgid "Replace all"
msgstr "Nahradiť všetky"
-#: prog/aspell.cpp:1037
+#: prog/aspell.cpp:1042
msgid "Add"
msgstr "Pridať"
-#: prog/aspell.cpp:1038
+#: prog/aspell.cpp:1043
msgid "Add Lower"
msgstr "Pridať malé"
-#: prog/aspell.cpp:1039
+#: prog/aspell.cpp:1044
msgid "Abort"
msgstr "Zrušiť"
-#: prog/aspell.cpp:1040
+#: prog/aspell.cpp:1045
msgid "Exit"
msgstr "Koniec"
-#: prog/aspell.cpp:1116
+#: prog/aspell.cpp:1121
msgid "Are you sure you want to abort (y/n)? "
msgstr "Ste si istý, že chcete zrušiť (a/n)? "
#. TRANSLATORS: The user may input any of these characters to say "yes".
#. MUST ONLY CONSIST OF ASCII CHARACTERS.
-#: prog/aspell.cpp:1120
+#: prog/aspell.cpp:1125
msgid "Yy"
msgstr "YyAa"
-#: prog/aspell.cpp:1148
+#: prog/aspell.cpp:1153
msgid "With: "
msgstr "Čím: "
-#: prog/aspell.cpp:1165
+#: prog/aspell.cpp:1170
msgid "Sorry that is an invalid choice!"
msgstr "Prepáčte, táto voľba nebola platná!"
-#: prog/aspell.cpp:1386
+#: prog/aspell.cpp:1391
msgid "Sorry \"filter\" is currently unimplemented.\n"
msgstr "Prepáčte, \"filter\" nie je momentálne implementovaný.\n"
-#: prog/aspell.cpp:1520
+#: prog/aspell.cpp:1525
msgid "Can't merge a master word list yet. Sorry."
msgstr "Prepáčte, zatiaľ nebolo možné zlúčiť hlavný zoznam slov."
-#: prog/aspell.cpp:1544
+#: prog/aspell.cpp:1549
msgid "Sorry \"create/merge personal\" is currently unimplemented.\n"
-msgstr ""
-"Prepáčte, \"create/merge personal\" nie je momentálne implementovaný.\n"
+msgstr "Prepáčte, \"create/merge personal\" nie je momentálne implementovaný.\n"
-#: prog/aspell.cpp:1553 prog/aspell.cpp:1609
+#: prog/aspell.cpp:1558 prog/aspell.cpp:1614
#, c-format
msgid "Sorry I won't overwrite \"%s\""
msgstr "Prepáčte, neprepíšem \"%s\""
-#: prog/aspell.cpp:1600
+#: prog/aspell.cpp:1605
msgid "Sorry \"create/merge repl\" is currently unimplemented.\n"
msgstr "Prepáčte, \"create/merge repl\" nie je momentálne implementovaný.\n"
-#: prog/aspell.cpp:1872
+#: prog/aspell.cpp:1877
#, c-format
msgid "\"%s\" is not a valid flag for the \"munch-list\" command."
msgstr "\"%s\" nie je platný príznal pre príkaz \"munch-list\"."
#. TRANSLATORS: These should all be formated to fit in 80 column or
#. less
-#: prog/aspell.cpp:2799
+#: prog/aspell.cpp:2804
msgid "Usage: aspell [options] <command>"
msgstr "Použitie: aspell [voľby] <príkaz>"
-#: prog/aspell.cpp:2800
+#: prog/aspell.cpp:2805
msgid "<command> is one of:"
msgstr "<príkaz> je jeden z:"
-#: prog/aspell.cpp:2801
+#: prog/aspell.cpp:2806
msgid " -?|usage display a brief usage message"
msgstr " -?|usage zobraziť stručnú správu o použití"
-#: prog/aspell.cpp:2802
+#: prog/aspell.cpp:2807
msgid " help display a detailed help message"
msgstr " help zobraziť podrobnú správu pomocníka"
-#: prog/aspell.cpp:2803
+#: prog/aspell.cpp:2808
msgid " -c|check <file> to check a file"
msgstr " -c|check <súbor> skontrolovať súbor"
-#: prog/aspell.cpp:2804
+#: prog/aspell.cpp:2809
msgid " -a|pipe \"ispell -a\" compatibility mode"
msgstr " -a|pipe \"ispell -a\" režim kompatibility"
-#: prog/aspell.cpp:2805
+#: prog/aspell.cpp:2810
msgid " [dump] config dumps the current configuration to stdout"
msgstr " [dump] config vypíše aktuálnu konfiguráciu na štandardný výstup"
-#: prog/aspell.cpp:2806
+#: prog/aspell.cpp:2811
msgid " config <key> prints the current value of an option"
msgstr " config <kľúč> vypíše aktuálnu hodnotu voľby"
-#: prog/aspell.cpp:2807
+#: prog/aspell.cpp:2812
msgid " [dump] dicts | filters | modes"
msgstr " [dump] dicts | filters | modes"
-#: prog/aspell.cpp:2808
+#: prog/aspell.cpp:2813
msgid " lists available dictionaries / filters / filter modes"
msgstr " lists available dictionaries / filters / filter modes"
-#: prog/aspell.cpp:2809
+#: prog/aspell.cpp:2814
msgid "[options] is any of the following:"
msgstr "[voľby] sú ľubovoľné z nasledovných:"
-#: prog/aspell.cpp:2822
-msgid ""
-" list produce a list of misspelled words from standard input"
-msgstr ""
-" list vytvoriť zoznam slov s preklepmi zo štandardného vstupu"
+#: prog/aspell.cpp:2827
+msgid " list produce a list of misspelled words from standard input"
+msgstr " list vytvoriť zoznam slov s preklepmi zo štandardného vstupu"
-#: prog/aspell.cpp:2825
-msgid ""
-" soundslike returns the sounds like equivalent for each word entered"
+#: prog/aspell.cpp:2830
+msgid " soundslike returns the sounds like equivalent for each word entered"
msgstr " soundslike vráti zoznam homoným pre každé zadané slovo"
-#: prog/aspell.cpp:2826
+#: prog/aspell.cpp:2831
msgid " munch generate possible root words and affixes"
msgstr " munch vytvoriť možné koreňové slová a prípony"
-#: prog/aspell.cpp:2827
+#: prog/aspell.cpp:2832
msgid " expand [1-4] expands affix flags"
msgstr " expand [1-4] expandovať príznaky prípony"
-#: prog/aspell.cpp:2828
-msgid ""
-" clean [strict] cleans a word list so that every line is a valid word"
-msgstr ""
-" clean [strict] vyčistí zoznam slov, takže každý riadok je platné slovo"
+#: prog/aspell.cpp:2833
+msgid " clean [strict] cleans a word list so that every line is a valid word"
+msgstr " clean [strict] vyčistí zoznam slov, takže každý riadok je platné slovo"
-#: prog/aspell.cpp:2830
+#: prog/aspell.cpp:2835
msgid " -v|version prints a version line"
msgstr " -v|version vypíše riadok s verziou"
-#: prog/aspell.cpp:2831
+#: prog/aspell.cpp:2836
msgid " munch-list [simple] [single|multi] [keep]"
msgstr " munch-list [simple] [single|multi] [keep]"
-#: prog/aspell.cpp:2832
+#: prog/aspell.cpp:2837
msgid " reduce the size of a word list via affix compression"
msgstr " redukcia veľkosti zoznamu slov kompresiou prípony"
-#: prog/aspell.cpp:2833
+#: prog/aspell.cpp:2838
msgid " conv <from> <to> [<norm-form>]"
msgstr " conv <from> <to> [<norm-form>]"
-#: prog/aspell.cpp:2834
+#: prog/aspell.cpp:2839
msgid " converts from one encoding to another"
msgstr " konverzia z jedného kódovania do druhého"
-#: prog/aspell.cpp:2835
+#: prog/aspell.cpp:2840
msgid " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
msgstr " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
-#: prog/aspell.cpp:2836
+#: prog/aspell.cpp:2841
msgid " perform Unicode normalization"
msgstr " vykoná normalizáciu Unicode"
-#: prog/aspell.cpp:2839
+#: prog/aspell.cpp:2844
msgid " dump|create|merge master|personal|repl [<name>]"
msgstr " dump|create|merge master|personal|repl [<name>]"
-#: prog/aspell.cpp:2840
-msgid ""
-" dumps, creates or merges a master, personal, or replacement dictionary."
+#: prog/aspell.cpp:2845
+msgid " dumps, creates or merges a master, personal, or replacement dictionary."
msgstr " vráti, vytvorí alebo zlúči hlavný, osobný alebo slovník náhrad."
#. TRANSLATORS: "none", "internal" and "strict" are literal values
#. and should not be translated.
-#: prog/aspell.cpp:2844
-msgid ""
-" <norm-form> normalization form to use, either none, internal, or "
-"strict"
-msgstr ""
-" <norm-form> ktorú normalizačnú formu použiť, buď none, internal alebo "
-"strict"
+#: prog/aspell.cpp:2849
+msgid " <norm-form> normalization form to use, either none, internal, or strict"
+msgstr " <norm-form> ktorú normalizačnú formu použiť, buď none, internal alebo strict"
-#: prog/aspell.cpp:2854
+#: prog/aspell.cpp:2859
#, c-format
msgid ""
"\n"
"Aspell %s. Copyright 2000-2011, Kevin Atkinson.\n"
"\n"
-#: prog/aspell.cpp:2888
+#: prog/aspell.cpp:2893
msgid ""
"Available Dictionaries:\n"
" Dictionaries can be selected directly via the \"-d\" or \"master\"\n"
" \"variety\", and \"size\" options.\n"
msgstr ""
"Dostupné slovníky:\n"
-" Slovníky je možné vybrať priamo pomocou voľby \"-d\" alebo \"master"
-"\"\n"
+" Slovníky je možné vybrať priamo pomocou voľby \"-d\" alebo \"master\"\n"
". Tiež je ich možné vybrať nepriamo pomocou\n"
" volieb \"lang\", \"variety\" a \"size\".\n"
-#: prog/aspell.cpp:2909
+#: prog/aspell.cpp:2914
msgid ""
"Available Filters (and associated options):\n"
" Filters can be added or removed via the \"filter\" option.\n"
"Dostupné filtre (a príslušné voľby):\n"
" Filtre je možné pridávať a odoberať voľbou \"filter\".\n"
-#: prog/aspell.cpp:2916
+#: prog/aspell.cpp:2921
#, c-format
msgid ""
"\n"
" %s filter: %s\n"
#. TRANSLATORS: This should be formated to fit in 80 column or less
-#: prog/aspell.cpp:2933
+#: prog/aspell.cpp:2938
msgid ""
"Available Filter Modes:\n"
" Filter Modes are reconfigured combinations of filters optimized for\n"
#: modules/speller/default/language.cpp:494
#: modules/speller/default/language.cpp:503
#, c-format
-msgid ""
-"The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgid "The character '%s' (U+%02X) must be followed by an alphabetic character."
msgstr "Po znaku '%s' (U+%02X) musí nasledovať znak abecedy."
#: modules/speller/default/language.cpp:496
msgstr "Znak '%s' (U+%02X) sa nesmie vyskytovať uprostred slova."
#: modules/speller/default/language.cpp:508
-msgid ""
-"The character '\\r' (U+0D) may not appear at the end of a word. This "
-"probably means means that the file is using MS-DOS EOL instead of Unix EOL."
-msgstr ""
-"Znak '\\r' (U+0D) sa nesmie vyskytovať na konci slova. Toto pravdepodobne "
-"znamená, že súbor používa zakončenia riadkov formátu MS-DOS namiesto Unix."
+msgid "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgstr "Znak '\\r' (U+0D) sa nesmie vyskytovať na konci slova. Toto pravdepodobne znamená, že súbor používa zakončenia riadkov formátu MS-DOS namiesto Unix."
#: modules/speller/default/language.cpp:511
#, c-format
msgid "Warning: Removing inapplicable affix '%s' from word %s.\n"
msgstr "Upozornenie: Odstraňujem nepoužiteľnú príponu '%s' zo slova %s.\n"
-#: modules/speller/default/language.cpp:674
+#: modules/speller/default/language.cpp:675
#, c-format
msgid "Warning: %s Skipping string.\n"
msgstr "Upozornenie: %s Preskakujem reťazec.\n"
-#: modules/speller/default/language.cpp:732
+#: modules/speller/default/language.cpp:733
msgid "The total length is larger than 240 characters."
msgstr "Celková dĺžka presahuje 240 znakov."
-#: modules/speller/default/language.cpp:736
+#: modules/speller/default/language.cpp:737
#, c-format
msgid "Warning: %s Skipping word.\n"
msgstr "Upozornenie: %s Preskakujem slovo.\n"
msgstr "Možnosť nesprávneho počtu."
#: modules/speller/default/readonly_ws.cpp:362
+msgid "Incompatible hash function."
+msgstr "Nekompatibilná hašovacia funkcia."
+
+#: modules/speller/default/readonly_ws.cpp:440
msgid "Wrong endian order."
msgstr "Zlá endianita (poradie bajtov v slove)."
-#: modules/speller/default/readonly_ws.cpp:385
+#: modules/speller/default/readonly_ws.cpp:463
msgid "Wrong soundslike."
msgstr "Zlé homonymum."
-#: modules/speller/default/readonly_ws.cpp:391
+#: modules/speller/default/readonly_ws.cpp:469
msgid "Wrong soundslike version."
msgstr "Zlá verzia homonyma."
-#: modules/speller/default/readonly_ws.cpp:853
+#: modules/speller/default/readonly_ws.cpp:934
msgid "Affix flags found in word but no affix file given."
msgstr "Príznaky prípony boli nájdené v slove ale nebol zadaný súbor prípon."
-#: modules/speller/default/readonly_ws.cpp:891
-msgid ""
-"The total word length, with soundslike data, is larger than 240 characters."
+#: modules/speller/default/readonly_ws.cpp:972
+msgid "The total word length, with soundslike data, is larger than 240 characters."
msgstr "Celková dĺžka slova s údajmi o homonymách presahuje 240 znakov."
#: modules/speller/default/multi_ws.cpp:58
msgid "HTML tags to always skip the contents of"
msgstr "HTML značky, ktorých obsah sa má vždy preskakovať"
+#: modules/filter/markdown-filter.info:8
+#, fuzzy
+#| msgid "filter for dealing with Texinfo documents"
+msgid "filter for Markdown/CommonMark documents"
+msgstr "filter pre zaobchádzanie s dokumentami Texinfo"
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
+msgstr ""
+
#: modules/filter/nroff-filter.info:7
msgid "filter for dealing with Nroff documents"
msgstr "filter pre zaobchádzanie s dokumentami Nroff"
msgid "mode for checking HTML documents"
msgstr "režim kontroly HTML dokumentov"
+#: modules/filter/modes/markdown.amf:10
+#, fuzzy
+#| msgid "mode for checking Nroff documents"
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr "režim kontroly dokumentov Nroff"
+
#: modules/filter/modes/none.amf:5
msgid "mode to disable all filters"
msgstr "režim vypnutia všetkých filtrov"
# -*- mode: po; coding: utf-8; -*- Slovenian translations for aspell.
# This file is distributed under the same license as the aspell package.
# Martin Srebotnjak <miles@filmsi.net>, 2005, 2008.
-# $Id: sl.po,v 1.1.2.5.2.1 2011/07/04 08:52:34 kevina Exp $
+# $Id: aspell-0.60.6.sl.po,v 1.4 2008/05/05 07:39:49 srebotnjak Exp $
#
msgid ""
msgstr ""
"Project-Id-Version: aspell 0.60.6\n"
"Report-Msgid-Bugs-To: kevina@gnu.org\n"
-"POT-Creation-Date: 2011-07-04 03:25-0600\n"
+"POT-Creation-Date: 2019-07-29 02:38-0400\n"
"PO-Revision-Date: 2008-05-05 20:57+0100\n"
"Last-Translator: Martin Srebotnjak <miles@filmsi.net>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
+"Language: sl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
"X-Poedit-Language: Slovenian\n"
"X-Poedit-Country: SLOVENIA\n"
"X-Poedit-SourceCharset: ISO-8859-1\n"
-"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n"
-"%100==4 ? 3 : 0);\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0);\n"
#: common/info.cpp:232
msgid "a number between 0 and 1"
msgid "ASPELL_CONF env var"
msgstr "ASPELL_CONF env var"
-#. TRANSLATORS: The remaing strings in config.cpp should be kept
+#. TRANSLATORS: The remaining strings in config.cpp should be kept
#. under 50 characters, begin with a lower case character and not
#. include any trailing punctuation marks.
#: common/config.cpp:1360
msgid "time load time and suggest time in pipe mode"
msgstr "beleži čas nalaganja in čas računanja predlogov v cevnem načinu"
-#: common/convert.cpp:303 common/convert.cpp:429
+#: common/convert.cpp:303 common/convert.cpp:497
#, c-format
-msgid ""
-"This could also mean that the file \"%s\" could not be opened for reading or "
-"does not exist."
-msgstr ""
-"To bi lahko pomenilo tudi, da datoteke \"%s\" ni mogoče odpreti za branje "
-"ali da ne obstaja."
+msgid "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
+msgstr "To bi lahko pomenilo tudi, da datoteke \"%s\" ni mogoče odpreti za branje ali da ne obstaja."
-#: common/convert.cpp:552 common/convert.cpp:659 common/convert.cpp:705
+#: common/convert.cpp:582 common/convert.cpp:689 common/convert.cpp:735
#, c-format
msgid "The Unicode code point U+%04X is unsupported."
msgstr "Kodni znak Unicode U+%04X ni podprt."
-#: common/convert.cpp:829
-#, c-format
+#: common/convert.cpp:859
+#, fuzzy, c-format
+#| msgid "Invalid UTF-8 sequence at position %d."
msgid "Invalid UTF-8 sequence at position %ld."
-msgstr "Neveljavna koda UTF-8 na mestu %ld."
+msgstr "Neveljavna koda UTF-8 na mestu %d."
#: common/errors.cpp:27
msgid "Operation Not Supported: %what:1"
msgstr "Ključ \"%key:1\" ni %accepted:2, zato ni veljaven."
#: common/errors.cpp:147
-msgid ""
-"The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%"
-"key:1\"."
-msgstr ""
-"Vrednost \"%value:2\" ni %accepted:3 in zato ni veljavna za ključ \"%key:1\"."
+msgid "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
+msgstr "Vrednost \"%value:2\" ni %accepted:3 in zato ni veljavna za ključ \"%key:1\"."
#: common/errors.cpp:163
msgid "The key \"%key:1\" is not a string."
msgstr "Ključ \"%key:1\" ni seznam."
#: common/errors.cpp:195
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"reset-"
-"\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
msgstr "Ključ \"%key:1\" ne sprejema parametrov, ki imajo predpono \"reset-\"."
#: common/errors.cpp:203
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by an \"enable-"
-"\"."
-msgstr ""
-"Ključ \"%key:1\" ne sprejema parametrov, ki imajo predpono \"enable-\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by an \"enable-\"."
+msgstr "Ključ \"%key:1\" ne sprejema parametrov, ki imajo predpono \"enable-\"."
#: common/errors.cpp:211
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" "
-"or \"disable-\"."
-msgstr ""
-"Ključ \"%key:1\" ne sprejema parametrov, ki imajo predpono \"dont-\" ali "
-"\"disable-\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
+msgstr "Ključ \"%key:1\" ne sprejema parametrov, ki imajo predpono \"dont-\" ali \"disable-\"."
#: common/errors.cpp:219
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"clear-"
-"\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
msgstr "Ključ \"%key:1\" ne sprejema parametrov, ki imajo predpono \"clear-\"."
#: common/errors.cpp:235
#: common/errors.cpp:267
#, c-format
msgid "Expected language \"%lang:1\" but got \"%prev:2\"."
-msgstr ""
-"Pričakovani jezik je bil \"%lang:1\", vendar se je pojavila \"%prev:2\"."
+msgstr "Pričakovani jezik je bil \"%lang:1\", vendar se je pojavila \"%prev:2\"."
#: common/errors.cpp:283
#, c-format
#: common/errors.cpp:299
#, c-format
-msgid ""
-"The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be "
-"stripped."
-msgstr ""
-"Pogoj \"%cond:1\" ne zagotavlja, da je \"%strip:2\" lahko vedno okrajšan."
+msgid "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
+msgstr "Pogoj \"%cond:1\" ne zagotavlja, da je \"%strip:2\" lahko vedno okrajšan."
#: common/errors.cpp:307
#, c-format
-msgid ""
-"The file \"%file:1\" is not in the proper format. Expected the file to be in "
-"\"%exp:2\" not \"%got:3\"."
-msgstr ""
-"Datoteka \"%file:1\" ni v pravilnem zapisu. Pričakovani zapis datoteke je \"%"
-"exp:2\" in ne \"%got:3\"."
+msgid "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
+msgstr "Datoteka \"%file:1\" ni v pravilnem zapisu. Pričakovani zapis datoteke je \"%exp:2\" in ne \"%got:3\"."
#: common/errors.cpp:323
#, c-format
#: common/errors.cpp:635
#, c-format
msgid "\"%mode:1\" error while extend Aspell modes. (out of memory?)"
-msgstr ""
-"Napaka \"%mode:1\" pri razširjanju modusov Aspell. (zmanjkalo spomina?)"
+msgstr "Napaka \"%mode:1\" pri razširjanju modusov Aspell. (zmanjkalo spomina?)"
#: common/errors.cpp:651
#, c-format
msgstr "\"%mode:1\": ni čudežnega izraza za čudežno iskanje \"%magic:2\"."
#: common/errors.cpp:675
-msgid ""
-"\"%mode:1\": Magic \"%magic:2\": bad regular expression after location "
-"specifier; regexp reports: \"%regerr:3\"."
-msgstr ""
-"\"%mode:1\": čudež \"%magic:2\": slab regularni izraz po določitelju "
-"lokacije; regexp poroča: \"%regerr:3\"."
+msgid "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
+msgstr "\"%mode:1\": čudež \"%magic:2\": slab regularni izraz po določitelju lokacije; regexp poroča: \"%regerr:3\"."
#: common/errors.cpp:691
#, c-format
msgid "Unhandled Error: "
msgstr "Neobravnavana napaka: "
-#: prog/aspell.cpp:97
+#: prog/aspell.cpp:98
#, c-format
msgid "Error: %s\n"
msgstr "Napaka: %s\n"
-#: prog/aspell.cpp:102
+#: prog/aspell.cpp:103
msgid "Error: "
msgstr "Napaka:"
-#: prog/aspell.cpp:203
+#: prog/aspell.cpp:204
msgid "enter Email mode."
msgstr "vstopi v način Email"
-#: prog/aspell.cpp:204
+#: prog/aspell.cpp:205
msgid "enter HTML mode."
msgstr "vstopi v način HTML."
-#: prog/aspell.cpp:205
+#: prog/aspell.cpp:206
msgid "enter TeX mode."
msgstr "vstopi v način TeX."
-#: prog/aspell.cpp:206
+#: prog/aspell.cpp:207
msgid "enter Nroff mode."
msgstr "vstopi v način Nroff."
-#: prog/aspell.cpp:312
+#: prog/aspell.cpp:313
#, c-format
msgid "Invalid Option: %s"
msgstr "Neveljavna možnost: %s"
-#: prog/aspell.cpp:319
+#: prog/aspell.cpp:320
msgid " does not take any parameters."
msgstr " ne sme imeti parametrov."
-#: prog/aspell.cpp:332 prog/aspell.cpp:392
+#: prog/aspell.cpp:333 prog/aspell.cpp:393
#, c-format
msgid "You must specify a parameter for \"%s\"."
msgstr "Za \"%s\" morate navesti parameter."
-#: prog/aspell.cpp:381
+#: prog/aspell.cpp:382
msgid "You must specify an action"
msgstr "Določiti morate akcijo"
-#: prog/aspell.cpp:389 prog/aspell.cpp:452 prog/aspell.cpp:474
+#: prog/aspell.cpp:390 prog/aspell.cpp:453 prog/aspell.cpp:475
#, c-format
msgid "Unknown Action: %s"
msgstr "Neznana akcija: %s"
-#: prog/aspell.cpp:395
+#: prog/aspell.cpp:396
#, c-format
msgid "Error: You must specify at least %d parameters for \"%s\".\n"
msgstr "Napaka: določiti morate najmanj %d parametrov za \"%s\".\n"
-#: prog/aspell.cpp:637
+#: prog/aspell.cpp:638
msgid "Invalid Input"
msgstr "Neveljaven vnos"
-#: prog/aspell.cpp:710
+#: prog/aspell.cpp:711
#, c-format
msgid "WARNING: Unable to enter Nroff mode: %s\n"
msgstr "OPOZORILO: vstop v način Nroff ni možen: %s\n"
-#: prog/aspell.cpp:731
+#: prog/aspell.cpp:732
msgid "Time to load word list: "
msgstr "Čas nalaganja seznama besed: "
-#: prog/aspell.cpp:929
+#: prog/aspell.cpp:930
#, c-format
msgid "Suggestion Time: %f\n"
msgstr "Čas predloga: %f\n"
-#: prog/aspell.cpp:972
+#: prog/aspell.cpp:973
msgid "You must specify a file name."
msgstr "Navesti morate ime datoteke."
-#: prog/aspell.cpp:975
+#: prog/aspell.cpp:976
msgid "Only one file name may be specified."
msgstr "Navedena je lahko le ena datoteka."
-#: prog/aspell.cpp:985
+#: prog/aspell.cpp:986
#, c-format
msgid "Could not open the file \"%s\" for reading"
msgstr "Datoteke \"%s\" ni bilo mogoče odpreti za branje"
-#: prog/aspell.cpp:998
+#: prog/aspell.cpp:999
#, c-format
msgid "Invalid keymapping: %s"
msgstr "Neveljavno zrcaljenje tipk: %s"
-#: prog/aspell.cpp:1020
+#: prog/aspell.cpp:1014
+#, fuzzy, c-format
+#| msgid "\"%expression:1\" is not a valid regular expression."
+msgid "\"%s\" is not a regular file"
+msgstr "\"%expression:1\" ni veljaven regularni izraz."
+
+#: prog/aspell.cpp:1025
#, c-format
msgid "Could not open the file \"%s\" for writing. File not saved."
-msgstr ""
-"Datoteke \"%s\" ni bilo mogoče odpreti za pisanje. Datoteka ni shranjena."
+msgstr "Datoteke \"%s\" ni bilo mogoče odpreti za pisanje. Datoteka ni shranjena."
-#: prog/aspell.cpp:1033
+#: prog/aspell.cpp:1038
msgid "Ignore"
msgstr "Prezri"
-#: prog/aspell.cpp:1034
+#: prog/aspell.cpp:1039
msgid "Ignore all"
msgstr "Prezri vse"
-#: prog/aspell.cpp:1035
+#: prog/aspell.cpp:1040
msgid "Replace"
msgstr "Zamenjaj"
-#: prog/aspell.cpp:1036
+#: prog/aspell.cpp:1041
msgid "Replace all"
msgstr "Zamenjaj vse"
-#: prog/aspell.cpp:1037
+#: prog/aspell.cpp:1042
msgid "Add"
msgstr "Dodaj"
-#: prog/aspell.cpp:1038
+#: prog/aspell.cpp:1043
msgid "Add Lower"
msgstr "Dodaj spodnjega"
-#: prog/aspell.cpp:1039
+#: prog/aspell.cpp:1044
msgid "Abort"
msgstr "Prekini"
-#: prog/aspell.cpp:1040
+#: prog/aspell.cpp:1045
msgid "Exit"
msgstr "Izhod"
-#: prog/aspell.cpp:1116
+#: prog/aspell.cpp:1121
msgid "Are you sure you want to abort (y/n)? "
msgstr "Ste prepričani, da želite prekiniti (d/n)?"
#. TRANSLATORS: The user may input any of these characters to say "yes".
#. MUST ONLY CONSIST OF ASCII CHARACTERS.
-#: prog/aspell.cpp:1120
+#: prog/aspell.cpp:1125
msgid "Yy"
msgstr "Dd"
-#: prog/aspell.cpp:1148
+#: prog/aspell.cpp:1153
msgid "With: "
msgstr "Z:"
-#: prog/aspell.cpp:1165
+#: prog/aspell.cpp:1170
msgid "Sorry that is an invalid choice!"
msgstr "Oprostite, izbira ni veljavna!"
-#: prog/aspell.cpp:1386
+#: prog/aspell.cpp:1391
msgid "Sorry \"filter\" is currently unimplemented.\n"
msgstr "Oprostite, \"filter\" je trenutno neizveden.\n"
-#: prog/aspell.cpp:1520
+#: prog/aspell.cpp:1525
msgid "Can't merge a master word list yet. Sorry."
msgstr "Žal s tem programom še ni mogoče spojiti glavnega seznama besed."
-#: prog/aspell.cpp:1544
+#: prog/aspell.cpp:1549
msgid "Sorry \"create/merge personal\" is currently unimplemented.\n"
msgstr "Oprostite, \"create/merge personal\" trenutno ni implementiran.\n"
-#: prog/aspell.cpp:1553 prog/aspell.cpp:1609
+#: prog/aspell.cpp:1558 prog/aspell.cpp:1614
#, c-format
msgid "Sorry I won't overwrite \"%s\""
msgstr "Datoteka ne bo prepisana: \"%s\""
-#: prog/aspell.cpp:1600
+#: prog/aspell.cpp:1605
msgid "Sorry \"create/merge repl\" is currently unimplemented.\n"
msgstr "Oprostite, \"create/merge repl\" trenutno ni implementiran.\n"
-#: prog/aspell.cpp:1872
+#: prog/aspell.cpp:1877
#, c-format
msgid "\"%s\" is not a valid flag for the \"munch-list\" command."
msgstr "\"%s\" ni veljavna zastavica za ukaz \"munch-list\"."
#. TRANSLATORS: These should all be formated to fit in 80 column or
#. less
-#: prog/aspell.cpp:2799
+#: prog/aspell.cpp:2804
msgid "Usage: aspell [options] <command>"
msgstr "Uporaba: aspell [možnosti] <ukaz>"
-#: prog/aspell.cpp:2800
+#: prog/aspell.cpp:2805
msgid "<command> is one of:"
msgstr "<ukaz> je eden izmed:"
-#: prog/aspell.cpp:2801
+#: prog/aspell.cpp:2806
msgid " -?|usage display a brief usage message"
msgstr " -?|usage izpiše kratko sporočilo o uporabi"
-#: prog/aspell.cpp:2802
+#: prog/aspell.cpp:2807
msgid " help display a detailed help message"
msgstr " help prikaz podrobne pomoči"
-#: prog/aspell.cpp:2803
+#: prog/aspell.cpp:2808
msgid " -c|check <file> to check a file"
msgstr " -c|check <datoteka> za preverjanje datoteke"
-#: prog/aspell.cpp:2804
+#: prog/aspell.cpp:2809
msgid " -a|pipe \"ispell -a\" compatibility mode"
msgstr " -a|pipe \"ispell -a\" compatibility mode"
-#: prog/aspell.cpp:2805
+#: prog/aspell.cpp:2810
msgid " [dump] config dumps the current configuration to stdout"
msgstr " [dump] config izvrže trenutno konfiguracijo na standardni izhod"
-#: prog/aspell.cpp:2806
+#: prog/aspell.cpp:2811
msgid " config <key> prints the current value of an option"
msgstr " config <ključ> izpiše trenutno vrednost možnosti"
-#: prog/aspell.cpp:2807
+#: prog/aspell.cpp:2812
msgid " [dump] dicts | filters | modes"
msgstr " [dump] dicts | filters | modes"
-#: prog/aspell.cpp:2808
+#: prog/aspell.cpp:2813
msgid " lists available dictionaries / filters / filter modes"
msgstr " izpiše slovarje / filtre / načine filtrov, ki so na voljo"
-#: prog/aspell.cpp:2809
+#: prog/aspell.cpp:2814
msgid "[options] is any of the following:"
msgstr "[možnosti] so katere koli od naslednjih:"
-#: prog/aspell.cpp:2822
-msgid ""
-" list produce a list of misspelled words from standard input"
-msgstr ""
-" list ustvari seznam napačno črkovanih besed z običajnega vhoda"
+#: prog/aspell.cpp:2827
+msgid " list produce a list of misspelled words from standard input"
+msgstr " list ustvari seznam napačno črkovanih besed z običajnega vhoda"
-#: prog/aspell.cpp:2825
-msgid ""
-" soundslike returns the sounds like equivalent for each word entered"
-msgstr ""
-" soundslike za vsako vneseno besedo vrne ekvivalent, ki se sliši enako"
+#: prog/aspell.cpp:2830
+msgid " soundslike returns the sounds like equivalent for each word entered"
+msgstr " soundslike za vsako vneseno besedo vrne ekvivalent, ki se sliši enako"
-#: prog/aspell.cpp:2826
+#: prog/aspell.cpp:2831
msgid " munch generate possible root words and affixes"
msgstr " munch tvori možne korenske besede in predpone"
-#: prog/aspell.cpp:2827
+#: prog/aspell.cpp:2832
msgid " expand [1-4] expands affix flags"
msgstr " expand [1-4] razširi zastavice predpon"
-#: prog/aspell.cpp:2828
-msgid ""
-" clean [strict] cleans a word list so that every line is a valid word"
-msgstr ""
-" clean [strict] očisti seznam besed, tako da je vsaka vrstica veljavna "
-"beseda"
+#: prog/aspell.cpp:2833
+msgid " clean [strict] cleans a word list so that every line is a valid word"
+msgstr " clean [strict] očisti seznam besed, tako da je vsaka vrstica veljavna beseda"
-#: prog/aspell.cpp:2830
+#: prog/aspell.cpp:2835
msgid " -v|version prints a version line"
msgstr " -v|version izpiše vrstico z opisom različice"
-#: prog/aspell.cpp:2831
+#: prog/aspell.cpp:2836
msgid " munch-list [simple] [single|multi] [keep]"
msgstr " munch-list [simple] [single|multi] [keep]"
-#: prog/aspell.cpp:2832
+#: prog/aspell.cpp:2837
msgid " reduce the size of a word list via affix compression"
msgstr " pomanjšaj velikost seznama besed prek stiskanja predpon"
-#: prog/aspell.cpp:2833
+#: prog/aspell.cpp:2838
msgid " conv <from> <to> [<norm-form>]"
msgstr " conv <iz> <v> [<norm-form>]"
-#: prog/aspell.cpp:2834
+#: prog/aspell.cpp:2839
msgid " converts from one encoding to another"
msgstr " pretvori iz enega kodiranja v drugega"
-#: prog/aspell.cpp:2835
+#: prog/aspell.cpp:2840
msgid " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
msgstr " norm (<norm-map> | <od> <norm-map> <do>) [<oblika-norm>]"
-#: prog/aspell.cpp:2836
+#: prog/aspell.cpp:2841
msgid " perform Unicode normalization"
msgstr " izvedi normalizacijo Unicode"
-#: prog/aspell.cpp:2839
+#: prog/aspell.cpp:2844
msgid " dump|create|merge master|personal|repl [<name>]"
msgstr " dump|create|merge master|personal|repl [<ime>]"
-#: prog/aspell.cpp:2840
-msgid ""
-" dumps, creates or merges a master, personal, or replacement dictionary."
+#: prog/aspell.cpp:2845
+msgid " dumps, creates or merges a master, personal, or replacement dictionary."
msgstr " opusti, ustvari ali spoji glavni, osebni ali nadomestni slovar."
#. TRANSLATORS: "none", "internal" and "strict" are literal values
#. and should not be translated.
-#: prog/aspell.cpp:2844
-msgid ""
-" <norm-form> normalization form to use, either none, internal, or "
-"strict"
-msgstr ""
-" <oblika-norm> oblika normalizacije, vrednosti: none, internal ali "
-"strict"
-
-#: prog/aspell.cpp:2854
-#, c-format
+#: prog/aspell.cpp:2849
+msgid " <norm-form> normalization form to use, either none, internal, or strict"
+msgstr " <oblika-norm> oblika normalizacije, vrednosti: none, internal ali strict"
+
+#: prog/aspell.cpp:2859
+#, fuzzy, c-format
+#| msgid ""
+#| "\n"
+#| "Aspell %s. Copyright 2000-2004 by Kevin Atkinson.\n"
+#| "\n"
msgid ""
"\n"
"Aspell %s. Copyright 2000-2011 by Kevin Atkinson.\n"
"\n"
msgstr ""
"\n"
-"Aspell %s. Copyright 2000-2011 Kevin Atkinson.\n"
+"Aspell %s. Copyright 2000-2004 Kevin Atkinson.\n"
"\n"
-#: prog/aspell.cpp:2888
+#: prog/aspell.cpp:2893
msgid ""
"Available Dictionaries:\n"
" Dictionaries can be selected directly via the \"-d\" or \"master\"\n"
" \"master\". Izberete jih lahko tudi posredno prek možnosti\n"
" \"lang\", \"variety\" in \"size\".\n"
-#: prog/aspell.cpp:2909
+#: prog/aspell.cpp:2914
msgid ""
"Available Filters (and associated options):\n"
" Filters can be added or removed via the \"filter\" option.\n"
"Filtri na voljo (in sorodne možnosti):\n"
" Filtre lahko dodajate ali odstranite prek možnosti \"filter\".\n"
-#: prog/aspell.cpp:2916
+#: prog/aspell.cpp:2921
#, c-format
msgid ""
"\n"
" Filter %s: %s\n"
#. TRANSLATORS: This should be formated to fit in 80 column or less
-#: prog/aspell.cpp:2933
+#: prog/aspell.cpp:2938
msgid ""
"Available Filter Modes:\n"
" Filter Modes are reconfigured combinations of filters optimized for\n"
#: modules/speller/default/language.cpp:494
#: modules/speller/default/language.cpp:503
#, c-format
-msgid ""
-"The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgid "The character '%s' (U+%02X) must be followed by an alphabetic character."
msgstr "Znaku '%s' (U+%02X) mora slediti znak abecede."
#: modules/speller/default/language.cpp:496
msgstr "Znak '%s' (U+%02X) se ne sme pojaviti sredi besede."
#: modules/speller/default/language.cpp:508
-msgid ""
-"The character '\\r' (U+0D) may not appear at the end of a word. This "
-"probably means means that the file is using MS-DOS EOL instead of Unix EOL."
-msgstr ""
-"Znak '\\r' (U+0D) se ne sme pojaviti na koncu besede. To najbrž pomeni, da "
-"datoteka uporablja za konec vrstice oznake MS-DOS namesto Unix."
+msgid "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgstr "Znak '\\r' (U+0D) se ne sme pojaviti na koncu besede. To najbrž pomeni, da datoteka uporablja za konec vrstice oznake MS-DOS namesto Unix."
#: modules/speller/default/language.cpp:511
#, c-format
msgid "Warning: Removing inapplicable affix '%s' from word %s.\n"
msgstr "Opozorilo: odstanjevanje neuporabne prepone '%s' iz besede %s.\n"
-#: modules/speller/default/language.cpp:674
+#: modules/speller/default/language.cpp:675
#, c-format
msgid "Warning: %s Skipping string.\n"
msgstr "Opozorilo: %s Niz bo presokočen.\n"
-#: modules/speller/default/language.cpp:732
+#: modules/speller/default/language.cpp:733
msgid "The total length is larger than 240 characters."
msgstr "Skupna dolžina je večja kot 240 znakov."
-#: modules/speller/default/language.cpp:736
+#: modules/speller/default/language.cpp:737
#, c-format
msgid "Warning: %s Skipping word.\n"
msgstr "Opozorilo: %s Beseda bo presokočena.\n"
msgstr "Najverjetneje nepravilen števec."
#: modules/speller/default/readonly_ws.cpp:362
+msgid "Incompatible hash function."
+msgstr ""
+
+#: modules/speller/default/readonly_ws.cpp:440
msgid "Wrong endian order."
msgstr "Napačen vrstni red endian."
-#: modules/speller/default/readonly_ws.cpp:385
+#: modules/speller/default/readonly_ws.cpp:463
msgid "Wrong soundslike."
msgstr "Napačen zveni-kot."
-#: modules/speller/default/readonly_ws.cpp:391
+#: modules/speller/default/readonly_ws.cpp:469
msgid "Wrong soundslike version."
msgstr "Napačna različica se-sliši-kot."
-#: modules/speller/default/readonly_ws.cpp:853
+#: modules/speller/default/readonly_ws.cpp:934
msgid "Affix flags found in word but no affix file given."
msgstr "Zastavice predpone so v besedi, ponujene pa ni datoteke predpon."
-#: modules/speller/default/readonly_ws.cpp:891
-msgid ""
-"The total word length, with soundslike data, is larger than 240 characters."
+#: modules/speller/default/readonly_ws.cpp:972
+msgid "The total word length, with soundslike data, is larger than 240 characters."
msgstr "Skupna dolžina besede s podatki zveni-kot presega 240 znakov."
#: modules/speller/default/multi_ws.cpp:58
msgid "HTML tags to always skip the contents of"
msgstr "vedno preskoči vsebino naslednjih zaznamkov HTML"
+#: modules/filter/markdown-filter.info:8
+#, fuzzy
+#| msgid "filter for dealing with Texinfo documents"
+msgid "filter for Markdown/CommonMark documents"
+msgstr "filter za obravnavo dokumentov Texinfo"
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
+msgstr ""
+
#: modules/filter/nroff-filter.info:7
msgid "filter for dealing with Nroff documents"
msgstr "filter za obravnavo dokumentov Nroff"
msgid "mode for checking HTML documents"
msgstr "način preverjanja dokumentov HTML"
+#: modules/filter/modes/markdown.amf:10
+#, fuzzy
+#| msgid "mode for checking Nroff documents"
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr "način preverjanja dokumentov Nroff"
+
#: modules/filter/modes/none.amf:5
msgid "mode to disable all filters"
msgstr "način izklopljenih filtrov"
#~ msgid "You must specify a value for the key \"%key:1\"."
#~ msgstr "Za ključ \"%key:1\" morate navesti vrednost."
-#~ msgid ""
-#~ "The encoding \"%encod:1\" is not a simple encoding and therefore can not "
-#~ "be used in this context."
-#~ msgstr ""
-#~ "Kodiranje \"%encod:1\" ni enostavno kodiranje in zato ne more biti "
-#~ "uporabljeno v tem kontekstu."
+#~ msgid "The encoding \"%encod:1\" is not a simple encoding and therefore can not be used in this context."
+#~ msgstr "Kodiranje \"%encod:1\" ni enostavno kodiranje in zato ne more biti uporabljeno v tem kontekstu."
#~ msgid "Expecting \"%exp:1\" but got \"%got:2\"."
#~ msgstr "Pričakovano je bilo \"%exp:1\" in ne \"%got:2\"."
# Serbian translation of aspell
# Copyright (C) 2004 Free Software Foundation, Inc.
+# This file is distributed under the same license as the aspell package.
# Danilo Segan <dsegan@gmx.net>, 2004.
-#
+# Мирослав Николић <miroslavnikolic@rocketmail.com>, 2011.
msgid ""
msgstr ""
-"Project-Id-Version: aspell 0.51-b20040219\n"
+"Project-Id-Version: aspell-0.60.7\n"
"Report-Msgid-Bugs-To: kevina@gnu.org\n"
-"POT-Creation-Date: 2011-07-04 03:25-0600\n"
-"PO-Revision-Date: 2004-03-01 12:59+0100\n"
-"Last-Translator: Danilo Segan <dsegan@gmx.net>\n"
+"POT-Creation-Date: 2019-07-29 02:38-0400\n"
+"PO-Revision-Date: 2011-12-09 22:30+0200\n"
+"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <gnu@prevod.org>\n"
+"Language: sr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Generator: Virtaal 0.7.0\n"
#: common/info.cpp:232
msgid "a number between 0 and 1"
-msgstr ""
+msgstr "број између 0 и 1"
#: common/info.cpp:569
msgid "in the form \"<name> <value>\""
-msgstr ""
+msgstr "у облику „<назив> <вредност>“"
#: common/config.cpp:74
-#, fuzzy
msgid "string"
-msgstr "Ð\9fÑ\80азна ниÑ\81ка."
+msgstr "ниÑ\81ка"
#: common/config.cpp:74
msgid "integer"
-msgstr ""
+msgstr "цео број"
#: common/config.cpp:74
msgid "boolean"
-msgstr ""
+msgstr "логичка вредност"
#: common/config.cpp:74
msgid "list"
-msgstr ""
+msgstr "списак"
#. TRANSLATORS: "true" and "false" are literal
#. * values and should not be translated.
#: common/config.cpp:978
msgid "either \"true\" or \"false\""
-msgstr ""
+msgstr "било „true“ или „false“"
#: common/config.cpp:997
msgid "a positive integer"
-msgstr ""
+msgstr "позитиван цео број"
#: common/config.cpp:1125
msgid "# default: "
-msgstr ""
+msgstr "# основно: "
#: common/config.cpp:1188
#, c-format
"# configured as follows:\n"
"\n"
msgstr ""
+"\n"
+"#######################################################################\n"
+"#\n"
+"# Филтер: %s\n"
+"# %s\n"
+"#\n"
+"# је подешен као што следи:\n"
+"\n"
#: common/config.cpp:1286
msgid "ASPELL_CONF env var"
-msgstr ""
+msgstr "ASPELL_CONF променљива окружења"
-#. TRANSLATORS: The remaing strings in config.cpp should be kept
+#. TRANSLATORS: The remaining strings in config.cpp should be kept
#. under 50 characters, begin with a lower case character and not
#. include any trailing punctuation marks.
#: common/config.cpp:1360
msgid "main configuration file"
-msgstr "главна датотека са подешавањима"
+msgstr "главна датотека подешавања"
#: common/config.cpp:1362
msgid "location of main configuration file"
-msgstr "путања главне датотеке са подешавањима"
+msgstr "путања главне датотеке подешавања"
#: common/config.cpp:1365
msgid "location of language data files"
msgstr "путања датотека за језике"
#: common/config.cpp:1367
-#, fuzzy
msgid "create dictionary aliases"
-msgstr "име датотеке личног речника"
+msgstr "ствара алијасе речника"
#: common/config.cpp:1369
msgid "location of the main word list"
#: common/config.cpp:1371
msgid "encoding to expect data to be in"
-msgstr "кодиÑ\80аÑ\9aе Ñ\83 коÑ\98ем Ñ\81е оÑ\87екÑ\83Ñ\98Ñ\83 подаÑ\86и"
+msgstr "оÑ\87екивано кодиÑ\80аÑ\9aе подаÑ\82ака"
#: common/config.cpp:1373
msgid "add or removes a filter"
msgstr "додаје или уклања филтер"
#: common/config.cpp:1375
-#, fuzzy
msgid "path(s) aspell looks for filters"
-msgstr "путање у којима aspell тражи филтере"
+msgstr "путање у којима аспел тражи филтере"
#: common/config.cpp:1379
-#, fuzzy
msgid "filter mode"
-msgstr "Ñ\83Ñ\92и Ñ\83 ТеХ Ñ\80ежим."
+msgstr "Ñ\80ежим Ñ\84илÑ\82еÑ\80а"
#: common/config.cpp:1381
msgid "extra dictionaries to use"
-msgstr "додаÑ\82ни Ñ\80еÑ\87ниÑ\86и коÑ\98и Ñ\81е коÑ\80иÑ\81Ñ\82е"
+msgstr "додаÑ\82ни Ñ\80еÑ\87ниÑ\86и за Ñ\83поÑ\82Ñ\80ебÑ\83"
#: common/config.cpp:1383
msgid "location for personal files"
#: common/config.cpp:1385
msgid "ignore words <= n chars"
-msgstr "занемари речи са <= n знакова"
+msgstr "занемарује речи са <= n знакова"
#. TRANSLATORS: It is OK if this is longer than 50 chars
#: common/config.cpp:1388
-#, fuzzy
msgid "ignore accents when checking words -- CURRENTLY IGNORED"
-msgstr "занемари акценте при провери речи"
+msgstr "занемарује акценте при провери речи — ТРЕНУТНО ЗАНЕМАРЕНО"
#: common/config.cpp:1390
msgid "ignore case when checking words"
-msgstr "занемари величину слова при провери речи"
+msgstr "занемарује величину слова при провери речи"
#: common/config.cpp:1392
msgid "ignore commands to store replacement pairs"
-msgstr "занемари наредбе за смештај парова за замену"
+msgstr "занемарује наредбе за смештај парова за замену"
#: common/config.cpp:1394 common/config.cpp:1461
msgid "extra information for the word list"
#: common/config.cpp:1396
msgid "keyboard definition to use for typo analysis"
-msgstr "деÑ\84иниÑ\86иÑ\98а Ñ\82аÑ\81Ñ\82аÑ\82Ñ\83Ñ\80е коÑ\98а Ñ\81е коÑ\80иÑ\81Ñ\82и за анализу"
+msgstr "деÑ\84иниÑ\86иÑ\98а Ñ\82аÑ\81Ñ\82аÑ\82Ñ\83Ñ\80е коÑ\80иÑ\88Ñ\9bене за анализу"
#: common/config.cpp:1398
msgid "language code"
#: common/config.cpp:1402
msgid "location of local language data files"
-msgstr "путања датотека са подацима о локалном језику"
+msgstr "путања датотека података локалног језика"
#: common/config.cpp:1404
msgid "base name of the main dictionary to use"
-msgstr "оÑ\81новно име главног Ñ\80еÑ\87ника"
+msgstr "оÑ\81новни назив главног Ñ\80еÑ\87ника за Ñ\83поÑ\82Ñ\80ебÑ\83"
#: common/config.cpp:1408
msgid "set module name"
-msgstr "постави име модула"
+msgstr "поставља назив модула"
#: common/config.cpp:1410
msgid "search order for modules"
#: common/config.cpp:1412
msgid "enable Unicode normalization"
-msgstr ""
+msgstr "укључује сређивање Уникода"
#: common/config.cpp:1414
msgid "Unicode normalization required for current lang"
-msgstr ""
+msgstr "сређивање Уникода потребно за текући језик"
#. TRANSLATORS: the values after the ':' are literal
#. values and should not be translated.
#: common/config.cpp:1418
msgid "Unicode normalization form: none, nfd, nfc, comp"
-msgstr ""
+msgstr "облик сређивања Уникода: none, nfd, nfc, comp"
#: common/config.cpp:1420
msgid "avoid lossy conversions when normalization"
-msgstr ""
+msgstr "избегава претварања са губицима при сређивању"
#: common/config.cpp:1422
msgid "personal configuration file"
-msgstr "лична датотека са подешавањима"
+msgstr "лична датотека подешавања"
#: common/config.cpp:1425
msgid "personal dictionary file name"
-msgstr "име датотеке личног речника"
+msgstr "назив датотеке личног речника"
#: common/config.cpp:1428
msgid "prefix directory"
-msgstr "пÑ\80еÑ\84икÑ\81ни диÑ\80екÑ\82оÑ\80иÑ\98Ñ\83м"
+msgstr "диÑ\80екÑ\82оÑ\80иÑ\98Ñ\83м пÑ\80еÑ\84икÑ\81а"
#: common/config.cpp:1430
msgid "replacements list file name"
-msgstr "име даÑ\82оÑ\82еке Ñ\81а Ñ\81пиÑ\81ком размена"
+msgstr "назив даÑ\82оÑ\82еке Ñ\81пиÑ\81ка размена"
#: common/config.cpp:1433
msgid "consider run-together words legal"
-msgstr "сматрај спојене речи исправним"
+msgstr "сматра спојене речи исправним"
# bug: s/maxium/maximum/
#: common/config.cpp:1435
-#, fuzzy
msgid "maximum number that can be strung together"
msgstr "највећи бројеви који се могу припојити"
#: common/config.cpp:1439
msgid "save replacement pairs on save all"
-msgstr "Ñ\81аÑ\87Ñ\83ваÑ\98 парове за размену при чувању свега"
+msgstr "Ñ\87Ñ\83ва парове за размену при чувању свега"
# као у математици „управна“, тако овде „извршна“ (датотека)
#: common/config.cpp:1441
msgid "set the prefix based on executable location"
-msgstr "постави префикс на основу положаја извршне"
+msgstr "поставља префикс на основу положаја извршне"
#: common/config.cpp:1443
msgid "size of the word list"
#. translated.
#: common/config.cpp:1451
msgid "edit distance to use, override sug-mode default"
-msgstr "измени раздаљину у употреби, превазилази обично"
+msgstr "уређује размак за употребу, обилази основни режим предлога"
#: common/config.cpp:1453
msgid "use typo analysis, override sug-mode default"
-msgstr "пÑ\80оналази гÑ\80еÑ\88ке Ñ\83 кÑ\83Ñ\86аÑ\9aÑ\83, пÑ\80евазилази обиÑ\87но"
+msgstr "пÑ\80оналази гÑ\80еÑ\88ке Ñ\83 кÑ\83Ñ\86аÑ\9aÑ\83, обилази оÑ\81новни Ñ\80ежим пÑ\80едлога"
#: common/config.cpp:1455
msgid "use replacement tables, override sug-mode default"
-msgstr "користи таблице размена, превазилази обично"
+msgstr "користи таблице замена, обилази основни режим предлога"
#: common/config.cpp:1457
msgid "characters to insert when a word is split"
msgstr "знаци који се умећу када се реч подели"
#: common/config.cpp:1459
-#, fuzzy
msgid "use personal, replacement & session dictionaries"
-msgstr "користи таблице скока при прављењу речника"
+msgstr "користи личне, за замену и сесионе речнике"
#: common/config.cpp:1463
msgid "search path for word list information files"
-msgstr "пÑ\83Ñ\82аÑ\9aа Ñ\83 коÑ\98оÑ\98 Ñ\81е Ñ\82Ñ\80аже подаÑ\86и о Ñ\81пиÑ\81ковима речи"
+msgstr "пÑ\83Ñ\82аÑ\9aа Ñ\82Ñ\80ажеÑ\9aа даÑ\82оÑ\82ека подаÑ\82ака Ñ\81пиÑ\81кова речи"
#: common/config.cpp:1465
msgid "enable warnings"
-msgstr ""
+msgstr "укључује упозорења"
#. TRANSLATORS: It is OK if this is longer than 50 chars
#: common/config.cpp:1475
-#, fuzzy
msgid "indicator for affix flags in word lists -- CURRENTLY IGNORED"
-msgstr "Ñ\83казиваÑ\87 на аÑ\84икÑ\81не ознаке Ñ\83 Ñ\81пиÑ\81ковима Ñ\80еÑ\87и"
+msgstr "Ñ\83казиваÑ\87 на ознаке додаÑ\82ка Ñ\83 Ñ\81пиÑ\81ковима Ñ\80еÑ\87и â\80\94 ТРÐ\95Ð\9dУТÐ\9dÐ\9e Ð\97Ð\90Ð\9dÐ\95Ð\9cÐ\90Ð Ð\95Ð\9dÐ\9e"
#: common/config.cpp:1477
msgid "use affix compression when creating dictionaries"
-msgstr "користи компресију афикса при прављењу речника"
+msgstr "користи сажимање додатка при прављењу речника"
#: common/config.cpp:1479
msgid "remove invalid affix flags"
-msgstr ""
+msgstr "уклања неисправне ознаке додатка"
#: common/config.cpp:1481
msgid "attempts to clean words so that they are valid"
-msgstr ""
+msgstr "покушава да прочисти речи тако да буду исправне"
#: common/config.cpp:1483
msgid "compute soundslike on demand rather than storing"
-msgstr ""
+msgstr "извршава звучикао на захтев радије него да чува"
#: common/config.cpp:1485
msgid "partially expand affixes for better suggestions"
-msgstr ""
+msgstr "делимично шири додатке за боље предлоге"
#: common/config.cpp:1487
msgid "skip invalid words"
-msgstr ""
+msgstr "прескаче неисправне речи"
#: common/config.cpp:1489
msgid "check if affix flags are valid"
-msgstr ""
+msgstr "проверава да ли су ознаке додатка исправне"
#: common/config.cpp:1491
msgid "check if words are valid"
-msgstr ""
+msgstr "проверава да ли су речи исправне"
#: common/config.cpp:1498
msgid "create a backup file by appending \".bak\""
-msgstr "напÑ\80ави Ñ\80езеÑ\80вни пÑ\80имеÑ\80ак додаваÑ\9aем â\80\9e.bakâ\80\9c"
+msgstr "прави резервни примерак додавањем „.bak“"
#: common/config.cpp:1500
msgid "use byte offsets instead of character offsets"
-msgstr ""
+msgstr "користи померај бајта уместо помераја знака"
# bug: original not shorter than 50
#: common/config.cpp:1502
-#, fuzzy
msgid "create missing root/affix combinations"
-msgstr "учини могућим корене/афиксне комбинације које нису у речнику"
+msgstr "прави недостајуће комбинације корен/додатак"
#: common/config.cpp:1504
-#, fuzzy
msgid "keymapping for check mode: \"aspell\" or \"ispell\""
msgstr "распоред тастера при провери, aspell или ispell"
#: common/config.cpp:1506
msgid "reverse the order of the suggest list"
-msgstr "обрни редослед списка предлога"
+msgstr "обрће редослед списка предлога"
#: common/config.cpp:1508
msgid "suggest possible replacements"
-msgstr "пÑ\80едложи могуће замене"
+msgstr "пÑ\80едлаже могуће замене"
#: common/config.cpp:1510
msgid "time load time and suggest time in pipe mode"
msgstr "мери време учитавања и време предлога у цевкама"
-#: common/convert.cpp:303 common/convert.cpp:429
+#: common/convert.cpp:303 common/convert.cpp:497
#, c-format
-msgid ""
-"This could also mean that the file \"%s\" could not be opened for reading or "
-"does not exist."
-msgstr ""
+msgid "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
+msgstr "Ово такође значи да датотека „%s“ не може бити отворена за читање или да не постоји."
-#: common/convert.cpp:552 common/convert.cpp:659 common/convert.cpp:705
-#, fuzzy, c-format
+#: common/convert.cpp:582 common/convert.cpp:689 common/convert.cpp:735
+#, c-format
msgid "The Unicode code point U+%04X is unsupported."
-msgstr "Ð\9dиÑ\98е подÑ\80жано кодиÑ\80аÑ\9aе â\80\9e%encod:1â\80\9c."
+msgstr "ТаÑ\87ка Уникод кода â\80\9eU+%04Xâ\80\9c ниÑ\98е подÑ\80жана."
-#: common/convert.cpp:829
+#: common/convert.cpp:859
#, c-format
msgid "Invalid UTF-8 sequence at position %ld."
-msgstr ""
+msgstr "Неисправан УТФ-8 низ на положају %ld."
#: common/errors.cpp:27
msgid "Operation Not Supported: %what:1"
-msgstr ""
+msgstr "Радња није подржана: %what:1"
#: common/errors.cpp:43
msgid "The method \"%what:1\" is unimplemented in \"%where:2\"."
-msgstr ""
+msgstr "Начин „%what:1“ није примењен у „%where:2“."
#: common/errors.cpp:51
#, c-format
#: common/errors.cpp:59
#, c-format
msgid "The file \"%file:1\" can not be opened"
-msgstr "Датотека „%file:1“ се не може отворити"
+msgstr "Датотека „%file:1“ не може бити отворена"
#: common/errors.cpp:67
#, c-format
msgid "The file \"%file:1\" can not be opened for reading."
-msgstr "Датотека „%file:1“ се не може отворити ради читања."
+msgstr "Датотека „%file:1“ не може бити отворена за читање."
#: common/errors.cpp:75
#, c-format
msgid "The file \"%file:1\" can not be opened for writing."
-msgstr "Датотека „%file:1“ се не може отворити ради уписа."
+msgstr "Датотека „%file:1“ не може бити отворена за упис."
#: common/errors.cpp:83
#, c-format
msgid "The file name \"%file:1\" is invalid."
-msgstr "Ð\98ме даÑ\82оÑ\82еке â\80\9e%file:1â\80\9c Ñ\98е неиÑ\81пÑ\80авно."
+msgstr "Ð\9dазив даÑ\82оÑ\82еке â\80\9e%file:1â\80\9c Ñ\98е неиÑ\81пÑ\80аван."
#: common/errors.cpp:91
#, c-format
#: common/errors.cpp:107
#, c-format
msgid "The directory \"%dir:1\" can not be opened for reading."
-msgstr "Директоријум „%dir:1“ се не може отворити ради читања."
+msgstr "Директоријум „%dir:1“ не може бити отворен за читање."
#: common/errors.cpp:123
msgid "The key \"%key:1\" is unknown."
msgstr "Кључ „key:1“ није %accepted:2 и зато је неисправан."
#: common/errors.cpp:147
-msgid ""
-"The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%"
-"key:1\"."
-msgstr ""
-"Вредност „%value:2“ није %accepted:3 и зато је неисправна за кључ „%key:1“."
+msgid "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
+msgstr "Вредност „%value:2“ није %accepted:3 и зато је неисправна за кључ „%key:1“."
#: common/errors.cpp:163
-#, fuzzy
msgid "The key \"%key:1\" is not a string."
-msgstr "Кључ „%key:1“ је непознат."
+msgstr "Кључ „%key:1“ није ниска."
#: common/errors.cpp:171
-#, fuzzy
msgid "The key \"%key:1\" is not an integer."
-msgstr "Кључ „%key:1“ је непознат."
+msgstr "Кључ „%key:1“ није цео број."
#: common/errors.cpp:179
-#, fuzzy
msgid "The key \"%key:1\" is not a boolean."
-msgstr "Кључ „%key:1“ је непознат."
+msgstr "Кључ „%key:1“ није логичка вредност."
#: common/errors.cpp:187
-#, fuzzy
msgid "The key \"%key:1\" is not a list."
-msgstr "Кључ „%key:1“ је непознат."
+msgstr "Кључ „%key:1“ није списак."
#: common/errors.cpp:195
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"reset-"
-"\"."
-msgstr ""
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
+msgstr "Кључ „%key:1“ не узима параметре ако му се дода „reset-“."
#: common/errors.cpp:203
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by an \"enable-"
-"\"."
-msgstr ""
+msgid "The key \"%key:1\" does not take any parameters when prefixed by an \"enable-\"."
+msgstr "Кључ „%key:1“ не узима параметре ако му се дода „enable-“."
#: common/errors.cpp:211
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" "
-"or \"disable-\"."
-msgstr ""
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
+msgstr "Кључ „%key:1“ не узима параметре ако му се дода „dont-“ или „disable-“."
#: common/errors.cpp:219
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"clear-"
-"\"."
-msgstr ""
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
+msgstr "Кључ „%key:1“ не узима параметре ако му се дода „clear-“."
#: common/errors.cpp:235
#, c-format
msgid "The language \"%lang:1\" is not known."
-msgstr "Ð\9dиÑ\98е познаÑ\82 Ñ\98език â\80\9e%lang:1â\80\9c."
+msgstr "Ð\88език â\80\9e%lang:1â\80\9c ниÑ\98е познаÑ\82."
#: common/errors.cpp:243
#, c-format
msgid "The soundslike \"%sl:2\" is not known."
-msgstr "Ð\9dиÑ\98е познаÑ\82 звÑ\83к-као â\80\9e%sl:2â\80\9c."
+msgstr "Ð\97вÑ\83Ñ\87икао â\80\9e%sl:2â\80\9c ниÑ\98е познаÑ\82."
#: common/errors.cpp:251
#, c-format
msgid "The language \"%lang:1\" is not supported."
-msgstr "Ð\9dиÑ\98е подÑ\80жан Ñ\98език â\80\9e%lang:1â\80\9c."
+msgstr "Ð\88език â\80\9e%lang:1â\80\9c ниÑ\98е подÑ\80жан."
#: common/errors.cpp:259
#, c-format
msgstr "Очекивах језик „%lang:1“ али примих „%prev:2“."
#: common/errors.cpp:283
-#, fuzzy, c-format
+#, c-format
msgid "Affix '%aff:1' is corrupt."
-msgstr "аÑ\84икÑ\81 â\80\9e%sâ\80\9c Ñ\98е покваÑ\80ен"
+msgstr "Ð\94одаÑ\82ак â\80\9e%aff:1â\80\9c Ñ\98е оÑ\88Ñ\82еÑ\9bен."
#: common/errors.cpp:291
-#, fuzzy, c-format
+#, c-format
msgid "The condition \"%cond:1\" is invalid."
-msgstr "РеÑ\87 â\80\9e%word:1â\80\9c Ñ\98е неиÑ\81пÑ\80авна."
+msgstr "УÑ\81лов â\80\9e%cond:1â\80\9c Ñ\98е неиÑ\81пÑ\80аван."
#: common/errors.cpp:299
#, c-format
-msgid ""
-"The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be "
-"stripped."
-msgstr ""
+msgid "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
+msgstr "Услов „%cond:1“ не осигурава да „%strip:2“ може увек бити сужен."
#: common/errors.cpp:307
-#, fuzzy, c-format
-msgid ""
-"The file \"%file:1\" is not in the proper format. Expected the file to be in "
-"\"%exp:2\" not \"%got:3\"."
-msgstr "Датотека „%file:1“ није у одговарајућем облику."
+#, c-format
+msgid "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
+msgstr "Датотека „%file:1“ није у одговарајућем облику. Очекивах да датотека буде у „%exp:2“ а не „%got:3“."
#: common/errors.cpp:323
#, c-format
msgid "The encoding \"%encod:1\" is not known."
-msgstr "Ð\9dиÑ\98е познаÑ\82о кодиÑ\80аÑ\9aе â\80\9e%encod:1â\80\9c."
+msgstr "Ð\9aодиÑ\80аÑ\9aе â\80\9e%encod:1â\80\9c ниÑ\98е познаÑ\82о."
#: common/errors.cpp:331
#, c-format
msgid "The encoding \"%encod:1\" is not supported."
-msgstr "Ð\9dиÑ\98е подÑ\80жано кодиÑ\80аÑ\9aе â\80\9e%encod:1â\80\9c."
+msgstr "Ð\9aодиÑ\80аÑ\9aе â\80\9e%encod:1â\80\9c ниÑ\98е подÑ\80жано."
#: common/errors.cpp:339
#, c-format
msgid "The conversion from \"%encod:1\" to \"%encod2:2\" is not supported."
-msgstr "Ð\9dиÑ\98е подÑ\80жано пÑ\80еÑ\82ваÑ\80аÑ\9aе из â\80\9e%encod:1â\80\9c Ñ\83 â\80\9e%encod2:2â\80\9c."
+msgstr "Ð\9fÑ\80еÑ\82ваÑ\80аÑ\9aе из â\80\9e%encod:1â\80\9c Ñ\83 â\80\9e%encod2:2â\80\9c ниÑ\98е подÑ\80жано."
#: common/errors.cpp:379
-#, fuzzy, c-format
+#, c-format
msgid "The string \"%str:1\" is invalid."
-msgstr "РеÑ\87 â\80\9e%word:1“ је неисправна."
+msgstr "Ð\9dиÑ\81ка â\80\9e%str:1“ је неисправна."
#: common/errors.cpp:387
msgid "The word \"%word:1\" is invalid."
#: common/errors.cpp:395
msgid "The affix flag '%aff:1' is invalid for word \"%word:2\"."
-msgstr ""
+msgstr "Ознака додатка „%aff:1“ је неисправна за реч „%word:2“."
#: common/errors.cpp:403
-#, fuzzy
msgid "The affix flag '%aff:1' can not be applied to word \"%word:2\"."
-msgstr "Ð\94аÑ\82оÑ\82ека â\80\9e%file:1â\80\9c Ñ\81е не може оÑ\82воÑ\80иÑ\82и Ñ\80ади Ñ\87иÑ\82аÑ\9aа."
+msgstr "Ð\9eзнака додаÑ\82ка â\80\9e%aff:1â\80\9c не може биÑ\82и пÑ\80имеÑ\9aена на Ñ\80еÑ\87 â\80\9e%word:2â\80\9c."
#: common/errors.cpp:451
msgid "not a version number"
-msgstr ""
+msgstr "није број издања"
#: common/errors.cpp:467
-#, fuzzy
msgid "dlopen returned \"%return:1\"."
-msgstr "%where:1: \"%filter:2\" dlopen је вратио \"%return:3\"."
+msgstr "длопен је вратио „%return:3“."
#: common/errors.cpp:475
-#, fuzzy, c-format
+#, c-format
msgid "The file \"%filter:1\" does not contain any filters."
-msgstr "%where:1: Датотека „%filter:2“ не садржи ниједан филтер."
+msgstr "Датотека „%filter:1“ не садржи ниједан филтер."
#: common/errors.cpp:483
-#, fuzzy, c-format
+#, c-format
msgid "The filter \"%filter:1\" does not exist."
-msgstr "Ð\94аÑ\82оÑ\82ека â\80\9e%file:1â\80\9c Ñ\81е не може оÑ\82воÑ\80иÑ\82и"
+msgstr "ФилÑ\82еÑ\80 â\80\9e%file:1â\80\9c не поÑ\81Ñ\82оÑ\98и."
#: common/errors.cpp:491 common/errors.cpp:587
msgid "Confused by version control."
-msgstr ""
+msgstr "Збуњен сам контролом издања."
#: common/errors.cpp:499
-#, fuzzy
msgid "Aspell version does not match filter's requirement."
-msgstr ""
-"%where:1: \"%filter:2\": Ред %line:3 Издање Aspell-а се не поклапа са "
-"захтевом филтера."
+msgstr "Издање Аспела се не поклапа са захтевом филтера."
#: common/errors.cpp:507
-#, fuzzy
msgid "Filter option already exists."
-msgstr "%where:1: \"%filter:2\" Ред %line:3 Опција филтера већ постоји."
+msgstr "Опција филтера већ постоји."
#: common/errors.cpp:515
-#, fuzzy
msgid "Use option modifiers only within named option."
-msgstr ""
-"%where:1: \"%filter:2\" %line:3 Користи измењиваче опције једино уз "
-"именовану опцију."
+msgstr "Користи измењиваче опције једино уз именовану опцију."
#: common/errors.cpp:523
-#, fuzzy
msgid "Option modifier unknown."
-msgstr "%where:1: „%filter:2“ %line:3 измењивач опције непознат."
+msgstr "Измењивач опције није познат."
#: common/errors.cpp:531
-#, fuzzy
msgid "Error setting filter description."
-msgstr "%where:1: „%filter:2“ грешка при постављању описа филтера."
+msgstr "Грешка при постављању описа филтера."
#: common/errors.cpp:547
msgid "Empty option specifier."
-msgstr ""
+msgstr "Празан одредник опције."
#: common/errors.cpp:555
#, c-format
msgid "Option \"%option:1\" possibly specified prior to filter."
-msgstr ""
+msgstr "Опција „%option:1“ по могућству наведена пре филтера."
#: common/errors.cpp:563
msgid "Unknown mode description key \"%key:1\"."
-msgstr ""
+msgstr "Непознат кључ описа режима „%key:1“."
#: common/errors.cpp:571
#, c-format
msgid "Expecting \"%modekey:1\" key."
-msgstr ""
+msgstr "Очекујем „%modekey:1“ кључ."
#: common/errors.cpp:579
msgid "Version specifier missing key: \"aspell\"."
-msgstr ""
+msgstr "Недостаје кључ одредника издања: „aspell“."
#: common/errors.cpp:595
-#, fuzzy
msgid "Aspell version does not match mode's requirement."
-msgstr ""
-"%where:1: \"%filter:2\": Ред %line:3 Издање Aspell-а се не поклапа са "
-"захтевом филтера."
+msgstr "Издање Аспела се не поклапа са захтевом режима."
#: common/errors.cpp:603
msgid "Missing magic mode expression."
-msgstr ""
+msgstr "Недостаје израз магичног режима."
#: common/errors.cpp:611
#, c-format
msgid "Empty extension at char %char:1."
-msgstr ""
+msgstr "Празно проширење на знаку %char:1."
#: common/errors.cpp:619
#, c-format
msgid "\"%mode:1\" error"
-msgstr ""
+msgstr "„%mode:1“ грешка"
#: common/errors.cpp:627
#, c-format
msgid "Unknown mode: \"%mode:1\"."
-msgstr ""
+msgstr "Непознат режим: „%mode:1“."
# bug: s/extend/extending/
#: common/errors.cpp:635
-#, fuzzy, c-format
+#, c-format
msgid "\"%mode:1\" error while extend Aspell modes. (out of memory?)"
-msgstr ""
-"%where:1: \"%filter:2\" грешка при ширењу опција Aspell-а. (понестало "
-"меморије?)"
+msgstr "„%mode:1“ грешка при ширењу режима Аспела. (понестало меморије?)"
#: common/errors.cpp:651
#, c-format
msgid "\"%mode:1\": no start for magic search given for magic \"%magic:2\"."
-msgstr ""
+msgstr "„%mode:1“: није дат почетак магичне претраге за магију „%magic:2“."
#: common/errors.cpp:659
#, c-format
msgid "\"%mode:1\": no range for magic search given for magic \"%magic:2\"."
-msgstr ""
+msgstr "„%mode:1“: није дат опсег магичне претраге за магију „%magic:2“."
#: common/errors.cpp:667
#, c-format
msgid "\"%mode:1\": no magic expression available for magic \"%magic:2\"."
-msgstr ""
+msgstr "„%mode:1“: није доступан магични израз за магију „%magic:2“."
#: common/errors.cpp:675
-msgid ""
-"\"%mode:1\": Magic \"%magic:2\": bad regular expression after location "
-"specifier; regexp reports: \"%regerr:3\"."
-msgstr ""
+msgid "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
+msgstr "„%mode:1“: Магија „%magic:2“: лош регуларан израз након одредника места; регизр извештај: „%regerr:3“."
#: common/errors.cpp:691
-#, fuzzy, c-format
+#, c-format
msgid "\"%expression:1\" is not a valid regular expression."
-msgstr "%action:1: „%expression:2“ не представља исправан регуларни израз."
+msgstr "„%expression:1“ није исправан регуларни израз."
#: common/posib_err.cpp:100
msgid "Unhandled Error: "
msgstr "Необрађена грешка: "
-#: prog/aspell.cpp:97
-#, fuzzy, c-format
+#: prog/aspell.cpp:98
+#, c-format
msgid "Error: %s\n"
-msgstr "Грешка: "
+msgstr "Грешка: %s\n"
-#: prog/aspell.cpp:102
+#: prog/aspell.cpp:103
msgid "Error: "
msgstr "Грешка: "
-#: prog/aspell.cpp:203
+#: prog/aspell.cpp:204
msgid "enter Email mode."
-msgstr "уђи у режим е-поште."
+msgstr "улази у режим е-поште"
-#: prog/aspell.cpp:204
-#, fuzzy
+#: prog/aspell.cpp:205
msgid "enter HTML mode."
-msgstr "уђи у ТеХ режим."
+msgstr "улази у ХТМЛ режим"
-#: prog/aspell.cpp:205
+#: prog/aspell.cpp:206
msgid "enter TeX mode."
-msgstr "уђи у ТеХ режим."
+msgstr "улази у ТеКс режим"
-#: prog/aspell.cpp:206
-#, fuzzy
+#: prog/aspell.cpp:207
msgid "enter Nroff mode."
-msgstr "уђи у ТеХ режим."
+msgstr "улази у Бриск режим"
-#: prog/aspell.cpp:312
+#: prog/aspell.cpp:313
#, c-format
msgid "Invalid Option: %s"
msgstr "Неисправна опција: %s"
-#: prog/aspell.cpp:319
+#: prog/aspell.cpp:320
msgid " does not take any parameters."
msgstr " не прихвата никакве параметре."
-#: prog/aspell.cpp:332 prog/aspell.cpp:392
-#, fuzzy, c-format
+#: prog/aspell.cpp:333 prog/aspell.cpp:393
+#, c-format
msgid "You must specify a parameter for \"%s\"."
-msgstr "Морате навести параметар за %s"
+msgstr "Морате навести параметар за „%s“."
-#: prog/aspell.cpp:381
+#: prog/aspell.cpp:382
msgid "You must specify an action"
-msgstr "Морате навести акцију"
+msgstr "Морате навести радњу"
-#: prog/aspell.cpp:389 prog/aspell.cpp:452 prog/aspell.cpp:474
+#: prog/aspell.cpp:390 prog/aspell.cpp:453 prog/aspell.cpp:475
#, c-format
msgid "Unknown Action: %s"
-msgstr "Непозната акција: %s"
+msgstr "Непозната радња: %s"
-#: prog/aspell.cpp:395
-#, fuzzy, c-format
+#: prog/aspell.cpp:396
+#, c-format
msgid "Error: You must specify at least %d parameters for \"%s\".\n"
-msgstr "Ð\9cоÑ\80аÑ\82е навеÑ\81Ñ\82и паÑ\80амеÑ\82аÑ\80 за %s"
+msgstr "Ð\93Ñ\80еÑ\88ка: Ð\9cоÑ\80аÑ\82е навеÑ\81Ñ\82и баÑ\80ем %d паÑ\80амеÑ\82Ñ\80а за â\80\9e%sâ\80\9c.\n"
-#: prog/aspell.cpp:637
+#: prog/aspell.cpp:638
msgid "Invalid Input"
msgstr "Неисправан улаз"
-#: prog/aspell.cpp:710
+#: prog/aspell.cpp:711
#, c-format
msgid "WARNING: Unable to enter Nroff mode: %s\n"
-msgstr ""
+msgstr "УПОЗОРЕЊЕ: Не могу да уђем у Бриск режим: %s\n"
-#: prog/aspell.cpp:731
+#: prog/aspell.cpp:732
msgid "Time to load word list: "
msgstr "Време за учитавање списка речи: "
-#: prog/aspell.cpp:929
-#, fuzzy, c-format
+#: prog/aspell.cpp:930
+#, c-format
msgid "Suggestion Time: %f\n"
-msgstr "Време за предлог: "
+msgstr "Време за предлог: %f\n"
-#: prog/aspell.cpp:972
+#: prog/aspell.cpp:973
msgid "You must specify a file name."
-msgstr "Ð\9cоÑ\80аÑ\82е навеÑ\81Ñ\82и име датотеке."
+msgstr "Ð\9cоÑ\80аÑ\82е навеÑ\81Ñ\82и назив датотеке."
-#: prog/aspell.cpp:975
+#: prog/aspell.cpp:976
msgid "Only one file name may be specified."
-msgstr ""
+msgstr "Само један назив датотеке може бити наведен."
-#: prog/aspell.cpp:985
+#: prog/aspell.cpp:986
#, c-format
msgid "Could not open the file \"%s\" for reading"
msgstr "Не могу да отворим датотеку „%s“ ради читања"
-#: prog/aspell.cpp:998
+#: prog/aspell.cpp:999
#, c-format
msgid "Invalid keymapping: %s"
msgstr "Неисправна мапа тастера: %s"
-#: prog/aspell.cpp:1020
+#: prog/aspell.cpp:1014
#, fuzzy, c-format
+#| msgid "\"%expression:1\" is not a valid regular expression."
+msgid "\"%s\" is not a regular file"
+msgstr "„%expression:1“ није исправан регуларни израз."
+
+#: prog/aspell.cpp:1025
+#, c-format
msgid "Could not open the file \"%s\" for writing. File not saved."
msgstr "Не могу да отворим датотеку „%s“ ради уписа. Датотека није сачувана."
-#: prog/aspell.cpp:1033
+#: prog/aspell.cpp:1038
msgid "Ignore"
msgstr "Занемари"
-#: prog/aspell.cpp:1034
+#: prog/aspell.cpp:1039
msgid "Ignore all"
msgstr "Занемари све"
-#: prog/aspell.cpp:1035
+#: prog/aspell.cpp:1040
msgid "Replace"
msgstr "Замени"
-#: prog/aspell.cpp:1036
+#: prog/aspell.cpp:1041
msgid "Replace all"
msgstr "Замени све"
-#: prog/aspell.cpp:1037
+#: prog/aspell.cpp:1042
msgid "Add"
msgstr "Додај"
# Да ли је ово у вези малих слова?
-#: prog/aspell.cpp:1038
+#: prog/aspell.cpp:1043
msgid "Add Lower"
msgstr "Додај мала"
-#: prog/aspell.cpp:1039
+#: prog/aspell.cpp:1044
msgid "Abort"
msgstr "Одустани"
-#: prog/aspell.cpp:1040
+#: prog/aspell.cpp:1045
msgid "Exit"
msgstr "Изађи"
-#: prog/aspell.cpp:1116
-#, fuzzy
+#: prog/aspell.cpp:1121
msgid "Are you sure you want to abort (y/n)? "
-msgstr "СигÑ\83Ñ\80но желиÑ\82е да одÑ\83Ñ\81Ñ\82анеÑ\82е?"
+msgstr "Ð\94а ли Ñ\81Ñ\82е Ñ\81игÑ\83Ñ\80ни да желиÑ\82е да одÑ\83Ñ\81Ñ\82анеÑ\82е (y/n)?"
#. TRANSLATORS: The user may input any of these characters to say "yes".
#. MUST ONLY CONSIST OF ASCII CHARACTERS.
-#: prog/aspell.cpp:1120
+#: prog/aspell.cpp:1125
msgid "Yy"
-msgstr ""
+msgstr "Yy"
# Уз, са?
-#: prog/aspell.cpp:1148
+#: prog/aspell.cpp:1153
msgid "With: "
msgstr "Са: "
-#: prog/aspell.cpp:1165
+#: prog/aspell.cpp:1170
msgid "Sorry that is an invalid choice!"
msgstr "Нажалост, то је неисправан избор!"
-#: prog/aspell.cpp:1386
+#: prog/aspell.cpp:1391
msgid "Sorry \"filter\" is currently unimplemented.\n"
msgstr "Нажалост „filter“ није досад направљен.\n"
-#: prog/aspell.cpp:1520
+#: prog/aspell.cpp:1525
msgid "Can't merge a master word list yet. Sorry."
msgstr "Још увек не могу да стопим главни списак речи. Жао ми је."
-#: prog/aspell.cpp:1544
+#: prog/aspell.cpp:1549
msgid "Sorry \"create/merge personal\" is currently unimplemented.\n"
msgstr "Нажалост „create/merge personal“ није досад направљено.\n"
-#: prog/aspell.cpp:1553 prog/aspell.cpp:1609
+#: prog/aspell.cpp:1558 prog/aspell.cpp:1614
#, c-format
msgid "Sorry I won't overwrite \"%s\""
msgstr "Нажалост, нећу преснимити „%s“"
-#: prog/aspell.cpp:1600
+#: prog/aspell.cpp:1605
msgid "Sorry \"create/merge repl\" is currently unimplemented.\n"
msgstr "Нажалост „create/merge repl“ није досад направљено.\n"
-#: prog/aspell.cpp:1872
+#: prog/aspell.cpp:1877
#, c-format
msgid "\"%s\" is not a valid flag for the \"munch-list\" command."
-msgstr ""
+msgstr "„%s“ није исправна ознака за „munch-list“ наредбу."
#. TRANSLATORS: These should all be formated to fit in 80 column or
#. less
-#: prog/aspell.cpp:2799
+#: prog/aspell.cpp:2804
msgid "Usage: aspell [options] <command>"
-msgstr ""
+msgstr "Употреба: aspell [опције] <наредба>"
-#: prog/aspell.cpp:2800
+#: prog/aspell.cpp:2805
msgid "<command> is one of:"
-msgstr ""
+msgstr "<наредба> може бити једна од следећих:"
-#: prog/aspell.cpp:2801
+#: prog/aspell.cpp:2806
msgid " -?|usage display a brief usage message"
-msgstr ""
+msgstr " -?|usage приказује кратку поруку коришћења"
-#: prog/aspell.cpp:2802
+#: prog/aspell.cpp:2807
msgid " help display a detailed help message"
-msgstr ""
+msgstr " help приказује опширну поруку помоћи"
-#: prog/aspell.cpp:2803
+#: prog/aspell.cpp:2808
msgid " -c|check <file> to check a file"
-msgstr ""
+msgstr " -c|check <датотека> проверава датотеку"
-#: prog/aspell.cpp:2804
+#: prog/aspell.cpp:2809
msgid " -a|pipe \"ispell -a\" compatibility mode"
-msgstr ""
+msgstr " -a|pipe „ispell -a“ режим сагласности"
-#: prog/aspell.cpp:2805
+#: prog/aspell.cpp:2810
msgid " [dump] config dumps the current configuration to stdout"
-msgstr ""
+msgstr " [dump] config избацује текуће подешавање у стандардни излаз"
-#: prog/aspell.cpp:2806
+#: prog/aspell.cpp:2811
msgid " config <key> prints the current value of an option"
-msgstr ""
+msgstr " config <key> исписује тренутну вредност опције"
-#: prog/aspell.cpp:2807
+#: prog/aspell.cpp:2812
msgid " [dump] dicts | filters | modes"
-msgstr ""
+msgstr " [dump] dicts | filters | modes"
-#: prog/aspell.cpp:2808
+#: prog/aspell.cpp:2813
msgid " lists available dictionaries / filters / filter modes"
-msgstr ""
+msgstr " наводи доступне речнике / филтере / режиме филтера"
-#: prog/aspell.cpp:2809
+#: prog/aspell.cpp:2814
msgid "[options] is any of the following:"
-msgstr ""
+msgstr "[опције] могу бити неке од следећих: "
-#: prog/aspell.cpp:2822
-msgid ""
-" list produce a list of misspelled words from standard input"
-msgstr ""
+#: prog/aspell.cpp:2827
+msgid " list produce a list of misspelled words from standard input"
+msgstr " list прави списак лоше написаних речи са сандардног улаза"
-#: prog/aspell.cpp:2825
-msgid ""
-" soundslike returns the sounds like equivalent for each word entered"
-msgstr ""
+#: prog/aspell.cpp:2830
+msgid " soundslike returns the sounds like equivalent for each word entered"
+msgstr " soundslike враћа звучни еквивалент за сваку унету реч"
-#: prog/aspell.cpp:2826
+#: prog/aspell.cpp:2831
msgid " munch generate possible root words and affixes"
-msgstr ""
+msgstr " munch ствара могуће корене речи и додатке"
-#: prog/aspell.cpp:2827
+#: prog/aspell.cpp:2832
msgid " expand [1-4] expands affix flags"
-msgstr ""
+msgstr " expand [1-4] проширује ознаке додатка"
-#: prog/aspell.cpp:2828
-msgid ""
-" clean [strict] cleans a word list so that every line is a valid word"
-msgstr ""
+#: prog/aspell.cpp:2833
+msgid " clean [strict] cleans a word list so that every line is a valid word"
+msgstr " clean [strict] чисти списак речи тако да је сваки ред исправна реч"
-#: prog/aspell.cpp:2830
+#: prog/aspell.cpp:2835
msgid " -v|version prints a version line"
-msgstr ""
+msgstr " -v|version исписује издање"
-#: prog/aspell.cpp:2831
+#: prog/aspell.cpp:2836
msgid " munch-list [simple] [single|multi] [keep]"
-msgstr ""
+msgstr " munch-list [simple] [single|multi] [keep]"
-#: prog/aspell.cpp:2832
+#: prog/aspell.cpp:2837
msgid " reduce the size of a word list via affix compression"
-msgstr ""
+msgstr " умањује величину списка речи путем сажимања додатка"
-#: prog/aspell.cpp:2833
+#: prog/aspell.cpp:2838
msgid " conv <from> <to> [<norm-form>]"
-msgstr ""
+msgstr " conv <из> <у> [<облик-правила>]"
-#: prog/aspell.cpp:2834
+#: prog/aspell.cpp:2839
msgid " converts from one encoding to another"
-msgstr ""
+msgstr " претвара из једног кодирања у друго"
-#: prog/aspell.cpp:2835
+#: prog/aspell.cpp:2840
msgid " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
-msgstr ""
+msgstr " norm (<мапа-правила> | <из> <мапа-правила> <у>) [<облик-правила>]"
-#: prog/aspell.cpp:2836
+#: prog/aspell.cpp:2841
msgid " perform Unicode normalization"
-msgstr ""
+msgstr " врши сређивање Уникода"
-#: prog/aspell.cpp:2839
+#: prog/aspell.cpp:2844
msgid " dump|create|merge master|personal|repl [<name>]"
-msgstr ""
+msgstr " dump|create|merge master|personal|repl [<назив>]"
-#: prog/aspell.cpp:2840
-msgid ""
-" dumps, creates or merges a master, personal, or replacement dictionary."
-msgstr ""
+#: prog/aspell.cpp:2845
+msgid " dumps, creates or merges a master, personal, or replacement dictionary."
+msgstr " избацује, ствара или стапа главни, лични, или речник замене."
#. TRANSLATORS: "none", "internal" and "strict" are literal values
#. and should not be translated.
-#: prog/aspell.cpp:2844
-msgid ""
-" <norm-form> normalization form to use, either none, internal, or "
-"strict"
-msgstr ""
+#: prog/aspell.cpp:2849
+msgid " <norm-form> normalization form to use, either none, internal, or strict"
+msgstr " <облик-правила> облик сређивања за коришћење, „none“, „internal“, или „strict“"
-#: prog/aspell.cpp:2854
+#: prog/aspell.cpp:2859
#, c-format
msgid ""
"\n"
"Aspell %s. Copyright 2000-2011 by Kevin Atkinson.\n"
"\n"
msgstr ""
+"\n"
+"Аспел %s. Ауторска права 2000-2011 Кевин Аткинсон.\n"
+"\n"
-#: prog/aspell.cpp:2888
+#: prog/aspell.cpp:2893
msgid ""
"Available Dictionaries:\n"
" Dictionaries can be selected directly via the \"-d\" or \"master\"\n"
" option. They can also be selected indirectly via the \"lang\",\n"
" \"variety\", and \"size\" options.\n"
msgstr ""
+"Доступни речници:\n"
+" Речници могу бити изабрани посредно путем „-d“ или „master“ опције.\n"
+" Могу такође бити изабрани непосредно путем „lang“, „variety“, и „size“ опција.\n"
-#: prog/aspell.cpp:2909
+#: prog/aspell.cpp:2914
msgid ""
"Available Filters (and associated options):\n"
" Filters can be added or removed via the \"filter\" option.\n"
msgstr ""
+"Доступни филтери (и придружене опције):\n"
+" Филтери могу да се додају или уклоне путем „filter“ опције.\n"
-#: prog/aspell.cpp:2916
+#: prog/aspell.cpp:2921
#, c-format
msgid ""
"\n"
" %s filter: %s\n"
msgstr ""
+"\n"
+" филтер „%s“: %s\n"
#. TRANSLATORS: This should be formated to fit in 80 column or less
-#: prog/aspell.cpp:2933
+#: prog/aspell.cpp:2938
msgid ""
"Available Filter Modes:\n"
" Filter Modes are reconfigured combinations of filters optimized for\n"
" This will happen implicitly if Aspell is able to identify the file\n"
" type from the extension, and possibility the contents, of the file.\n"
msgstr ""
+"Доступни режими филтера:\n"
+" Режими филтера су поново подешене комбинације филтера који су\n"
+" прилагођени за датотеке одређене врсте. Режим се бира преко опције\n"
+" „mode“. Ово се дешава посредно ако Аспел успе да открије врсту\n"
+" датотеке из проширења, и по могућству из контекста, датотеке.\n"
#: prog/check_funs.cpp:287
msgid "Error: Stdin not a terminal."
-msgstr ""
+msgstr "Грешка: Стандардни улаз није терминал."
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:774
msgid "Enter"
-msgstr ""
+msgstr "Унеси"
#: prog/check_funs.cpp:776
msgid "Accept Changes"
-msgstr ""
+msgstr "Прихвати измене"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:779
msgid "Backspace"
-msgstr ""
+msgstr "Брисање уназад"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:781
msgid "Control-H"
-msgstr ""
+msgstr "Ctrl-H"
#: prog/check_funs.cpp:782
msgid "Delete the previous character"
-msgstr ""
+msgstr "Брише претходни знак"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:785
msgid "Left"
-msgstr ""
+msgstr "Лево"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:787
msgid "Control-B"
-msgstr ""
+msgstr "Ctrl-B"
#: prog/check_funs.cpp:788
msgid "Move Back one space"
-msgstr ""
+msgstr "Помера једно место уназад"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:791
msgid "Right"
-msgstr ""
+msgstr "Десно"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:793
msgid "Control-F"
-msgstr ""
+msgstr "Ctrl-F"
#: prog/check_funs.cpp:794
msgid "Move Forward one space"
-msgstr ""
+msgstr "Помера једно место унапред"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:797
msgid "Home"
-msgstr ""
+msgstr "Почетна"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:799
msgid "Control-A"
-msgstr ""
+msgstr "Ctrl-A"
#: prog/check_funs.cpp:800
msgid "Move to the beginning of the line"
-msgstr ""
+msgstr "Помера на почетак реда"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:803
-#, fuzzy
msgid "End"
-msgstr "на кÑ\80аÑ\98Ñ\83"
+msgstr "Ð\9aÑ\80аÑ\98"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:805
msgid "Control-E"
-msgstr ""
+msgstr "Ctrl-E"
#: prog/check_funs.cpp:806
msgid "Move to the end of the line"
-msgstr ""
+msgstr "Помера на крај реда"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:809
msgid "Delete"
-msgstr ""
+msgstr "Обриши"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:811
msgid "Control-D"
-msgstr ""
+msgstr "Ctrl-D"
#: prog/check_funs.cpp:812
-#, fuzzy
msgid "Delete the next character"
-msgstr "знаÑ\86и за Ñ\86иÑ\82иÑ\80аÑ\9aе е-поÑ\88Ñ\82е"
+msgstr "Ð\91Ñ\80иÑ\88е Ñ\81ледеÑ\9bи знак"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:816
msgid "Control-K"
-msgstr ""
+msgstr "Ctrl-K"
#: prog/check_funs.cpp:817
msgid "Kill all characters to the EOL"
-msgstr ""
+msgstr "Убија све знакове до краја реда"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:821
msgid "Control-C"
-msgstr ""
+msgstr "Ctrl-C"
#: prog/check_funs.cpp:822
msgid "Abort This Operation"
-msgstr ""
+msgstr "Прекини ову операцију"
#: modules/speller/default/language.cpp:103
msgid "This is probably because: "
-msgstr "Ð\9eво Ñ\98е веÑ\80оваÑ\82но због: "
+msgstr "Ð\9eво Ñ\98е веÑ\80оваÑ\82но заÑ\82о Ñ\88Ñ\82о: "
#: modules/speller/default/language.cpp:110
msgid "The required field \"name\" is missing."
#: modules/speller/default/language.cpp:488
msgid "Empty string."
-msgstr "Ð\9fÑ\80азна ниÑ\81ка."
+msgstr "Ð\9dиÑ\81ка Ñ\98е пÑ\80азна."
# bug: string composition is bad, I've translated "beginning" as "at the beginning", and "middle" as "in the middle"
#: modules/speller/default/language.cpp:492
-#, fuzzy, c-format
+#, c-format
msgid "The character '%s' (U+%02X) may not appear at the beginning of a word."
-msgstr "Знак „%s“ се не може јављати %s речи."
+msgstr "Знак „%s“ (U+%02X) се не може јављати на почетку речи."
#: modules/speller/default/language.cpp:494
#: modules/speller/default/language.cpp:503
#, c-format
-msgid ""
-"The character '%s' (U+%02X) must be followed by an alphabetic character."
-msgstr ""
+msgid "The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgstr "После знака „%s“ (U+%02X) мора да се налази азбучни знак."
#: modules/speller/default/language.cpp:496
-#, fuzzy
msgid "Does not contain any alphabetic characters."
-msgstr "Ð\9dе Ñ\81адÑ\80жи ниÑ\98едно Ñ\81лово."
+msgstr "Ð\9dе Ñ\81адÑ\80жи ниÑ\98едан азбÑ\83Ñ\87ни знак."
# bug: string composition is bad, I've translated "beginning" as "at the beginning", and "middle" as "in the middle"
#: modules/speller/default/language.cpp:501
-#, fuzzy, c-format
+#, c-format
msgid "The character '%s' (U+%02X) may not appear in the middle of a word."
-msgstr "Знак „%s“ се не може јављати %s речи."
+msgstr "Знак „%s“ (U+%02X) се не може јављати на средини речи."
#: modules/speller/default/language.cpp:508
-msgid ""
-"The character '\\r' (U+0D) may not appear at the end of a word. This "
-"probably means means that the file is using MS-DOS EOL instead of Unix EOL."
-msgstr ""
+msgid "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgstr "Знак „\\r“ (U+0D) се не може јављати на крају речи. Ово вероватно значи да датотека користи МС-ДОС ЕОЛ уместо Уникс ЕОЛ."
# bug: string composition is bad, I've translated "beginning" as "at the beginning", and "middle" as "in the middle"
#: modules/speller/default/language.cpp:511
-#, fuzzy, c-format
+#, c-format
msgid "The character '%s' (U+%02X) may not appear at the end of a word."
-msgstr "Знак „%s“ се не може јављати %s речи."
+msgstr "Знак „%s“ (U+%02X) се не може јављати на крају речи."
#: modules/speller/default/language.cpp:543
#, c-format
msgid "Warning: Removing invalid affix '%s' from word %s.\n"
-msgstr ""
+msgstr "Упозорење: Уклањам неисправан додатак „%s“ из речи %s.\n"
#: modules/speller/default/language.cpp:544
#, c-format
msgid "Warning: Removing inapplicable affix '%s' from word %s.\n"
-msgstr ""
+msgstr "Упозорење: Уклањам непримењив додатак „%s“ из речи %s.\n"
-#: modules/speller/default/language.cpp:674
+#: modules/speller/default/language.cpp:675
#, c-format
msgid "Warning: %s Skipping string.\n"
-msgstr ""
+msgstr "Упозорење: %s прескачем ниску.\n"
-#: modules/speller/default/language.cpp:732
+#: modules/speller/default/language.cpp:733
msgid "The total length is larger than 240 characters."
-msgstr ""
+msgstr "Укупна дужина премашује 240 знакова."
-#: modules/speller/default/language.cpp:736
+#: modules/speller/default/language.cpp:737
#, c-format
msgid "Warning: %s Skipping word.\n"
-msgstr ""
+msgstr "Упозорење: %s прескачем реч.\n"
#: modules/speller/default/affix.cpp:426
-#, fuzzy
msgid "Possibly incorrect count."
-msgstr "аÑ\84икÑ\81 â\80\9e%sâ\80\9c Ñ\98е покваÑ\80ен, веÑ\80оваÑ\82но неиÑ\81пÑ\80аван бÑ\80оÑ\98аÑ\87"
+msgstr "Ð\92еÑ\80оваÑ\82но неиÑ\81пÑ\80аван бÑ\80оÑ\98аÑ\87."
#: modules/speller/default/readonly_ws.cpp:362
+msgid "Incompatible hash function."
+msgstr "Несагласна хеш функција."
+
+#: modules/speller/default/readonly_ws.cpp:440
msgid "Wrong endian order."
msgstr "Лош редослед бајтова."
-#: modules/speller/default/readonly_ws.cpp:385
-#, fuzzy
+#: modules/speller/default/readonly_ws.cpp:463
msgid "Wrong soundslike."
-msgstr "Лоше звучи-као"
+msgstr "Лоше звучикао."
-#: modules/speller/default/readonly_ws.cpp:391
-#, fuzzy
+#: modules/speller/default/readonly_ws.cpp:469
msgid "Wrong soundslike version."
-msgstr "Лоше издање звучи-као"
+msgstr "Лоше издање звучикао."
-#: modules/speller/default/readonly_ws.cpp:853
+#: modules/speller/default/readonly_ws.cpp:934
msgid "Affix flags found in word but no affix file given."
-msgstr ""
+msgstr "Пронађена је ознака додатка али није дата датотека додатка."
-#: modules/speller/default/readonly_ws.cpp:891
-msgid ""
-"The total word length, with soundslike data, is larger than 240 characters."
-msgstr ""
+#: modules/speller/default/readonly_ws.cpp:972
+msgid "The total word length, with soundslike data, is larger than 240 characters."
+msgstr "Укупна дужина речи, са подацима звучикао, премашује 240 знакова."
#: modules/speller/default/multi_ws.cpp:58
msgid "There must be at least one \"add\" line."
-msgstr ""
+msgstr "Мора да постоји барем један „add“ ред."
#: modules/speller/default/suggest.cpp:1403
msgid "one of ultra, fast, normal, slow, or bad-spellers"
-msgstr ""
+msgstr "један од ultra, fast, normal, slow, или bad-spellers"
#: modules/speller/default/data.cpp:404
msgid "is not one of the allowed types"
-msgstr ""
+msgstr "није једна од дозвољених врста"
#: modules/speller/default/speller_impl.cpp:241
msgid "The personal word list is unavailable."
-msgstr ""
+msgstr "Лични списак речи није доступан."
#: modules/speller/default/speller_impl.cpp:248
msgid "The session word list is unavailable."
-msgstr ""
+msgstr "Сесиони списак речи није доступан."
#: modules/speller/default/speller_impl.cpp:255
msgid "The main word list is unavailable."
-msgstr ""
+msgstr "Главни списак речи није доступан."
#: modules/filter/tex.cpp:255 modules/filter/tex.cpp:262
msgid "a string of 'o','O','p',or 'P'"
-msgstr ""
+msgstr "ниска „o“, „O“, „p“, или „P“"
#. TRANSLATORS: Like the strings in config.cpp, all strings in *-filter.opt
#. should be under 50 characters, begin with a lower case character and
#. not include any trailing punctuation marks.
#: modules/filter/context-filter.info:7
-#, fuzzy
msgid "experimental filter for hiding delimited contexts"
-msgstr "ФилÑ\82еÑ\80 за Ñ\81акÑ\80иваÑ\9aе одеÑ\99ениÑ\85 конÑ\82екÑ\81Ñ\82а од Aspell-а"
+msgstr "пÑ\80обни Ñ\84илÑ\82еÑ\80 за Ñ\81акÑ\80иваÑ\9aе огÑ\80аниÑ\87ениÑ\85 конÑ\82екÑ\81Ñ\82а"
#: modules/filter/context-filter.info:13
-#, fuzzy
msgid "context delimiters (separated by spaces)"
-msgstr "додаÑ\98/Ñ\83клони Ñ\80аздваÑ\98аÑ\87е одвоÑ\98ене Ñ\80азмаÑ\86има"
+msgstr "гÑ\80аниÑ\87ниÑ\86и конÑ\82екÑ\81Ñ\82а (одвоÑ\98ени Ñ\80азмаÑ\86има)"
#: modules/filter/context-filter.info:21
msgid "swaps visible and invisible text"
#: modules/filter/email-filter.info:7
msgid "filter for skipping quoted text in email messages"
-msgstr ""
+msgstr "филтер за прескакање цитата у порукама е-поште"
#: modules/filter/email-filter.info:13
msgid "email quote characters"
-msgstr "знаÑ\86и за Ñ\86иÑ\82иÑ\80аÑ\9aе е-поште"
+msgstr "знаÑ\86и наводника е-поште"
#: modules/filter/email-filter.info:21
msgid "num chars that can appear before the quote char"
-msgstr "број дозвољених знакова испред знака цитата"
+msgstr "број дозвољених знакова испред знака наводника"
#: modules/filter/html-filter.info:9
msgid "filter for dealing with HTML documents"
-msgstr ""
+msgstr "филтер за поступање са ХТМЛ документима"
#: modules/filter/html-filter.info:15
-#, fuzzy
msgid "HTML attributes to always check"
-msgstr "коÑ\98е СÐ\93Ð\9cÐ\9b аÑ\82Ñ\80ибÑ\83Ñ\82е Ñ\83век пÑ\80овеÑ\80аваÑ\82и."
+msgstr "коÑ\98е ХТÐ\9cÐ\9b аÑ\82Ñ\80ибÑ\83Ñ\82е Ñ\83век пÑ\80овеÑ\80аваÑ\82и"
#: modules/filter/html-filter.info:21
msgid "HTML tags to always skip the contents of"
+msgstr "којих ХТМЛ ознака увек прескакати садржај"
+
+#: modules/filter/markdown-filter.info:8
+#, fuzzy
+#| msgid "filter for dealing with Texinfo documents"
+msgid "filter for Markdown/CommonMark documents"
+msgstr "филтер за поступање са Тексинфо документима"
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
msgstr ""
#: modules/filter/nroff-filter.info:7
msgid "filter for dealing with Nroff documents"
-msgstr ""
+msgstr "филтер за поступање са Бриск документима"
#: modules/filter/sgml-filter.info:9
msgid "filter for dealing with generic SGML/XML documents"
-msgstr ""
+msgstr "филтер за поступање са општим СГМЛ/ХМЛ документима"
#: modules/filter/sgml-filter.info:15
-#, fuzzy
msgid "SGML attributes to always check"
-msgstr "које СГМЛ атрибуте увек проверавати."
+msgstr "које СГМЛ атрибуте увек проверавати"
#: modules/filter/sgml-filter.info:20
msgid "SGML tags to always skip the contents of"
-msgstr ""
+msgstr "којих СГМЛ ознака увек прескакати садржај"
#: modules/filter/tex-filter.info:7
-#, fuzzy
msgid "filter for dealing with TeX/LaTeX documents"
-msgstr "Филтер за препознавање ТеХ и ЛаТеХ наредби"
+msgstr "филтер за поступање са ТеКс/ЛаТеКс документима"
#: modules/filter/tex-filter.info:15
msgid "check TeX comments"
-msgstr "пÑ\80овеÑ\80и ТеХ примедбе"
+msgstr "пÑ\80овеÑ\80ава ТеÐ\9aÑ\81 примедбе"
#: modules/filter/tex-filter.info:21
msgid "TeX commands"
-msgstr "ТеХ наредбе"
+msgstr "ТеÐ\9aÑ\81 наредбе"
#: modules/filter/texinfo-filter.info:7
msgid "filter for dealing with Texinfo documents"
-msgstr ""
+msgstr "филтер за поступање са Тексинфо документима"
#: modules/filter/texinfo-filter.info:13
-#, fuzzy
msgid "Texinfo commands to ignore the parameters of"
-msgstr "занемаÑ\80и наÑ\80едбе за Ñ\81меÑ\88Ñ\82аÑ\98 паÑ\80ова за заменÑ\83"
+msgstr "коÑ\98иÑ\85 ТеÐ\9aÑ\81инÑ\84о наÑ\80едби занемаÑ\80иÑ\82и паÑ\80амеÑ\82Ñ\80е"
#: modules/filter/texinfo-filter.info:41
msgid "Texinfo environments to ignore"
-msgstr ""
+msgstr "која ТеКсинфо окружења занемарити"
#: modules/filter/url-filter.info:7
msgid "filter to skip URL like constructs"
-msgstr ""
+msgstr "филтер за прескакање творбе сличне адреси"
#: modules/filter/modes/ccpp.amf:8
msgid "mode for checking C++ comments and string literals"
-msgstr ""
+msgstr "режим за проверу Ц++ примедби и дословности ниске"
#: modules/filter/modes/comment.amf:5
msgid "mode to check any lines starting with a #"
-msgstr ""
+msgstr "режим за проверу свих редова који почињу са #"
#: modules/filter/modes/email.amf:5
msgid "mode for skipping quoted text in email messages"
-msgstr ""
+msgstr "режим за прескакање цитата у порукама е-поште"
#: modules/filter/modes/html.amf:10
msgid "mode for checking HTML documents"
-msgstr ""
+msgstr "режим за проверу ХТМЛ докумената"
+
+#: modules/filter/modes/markdown.amf:10
+#, fuzzy
+#| msgid "mode for checking Nroff documents"
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr "режим за проверу Бриск докумената"
#: modules/filter/modes/none.amf:5
msgid "mode to disable all filters"
-msgstr ""
+msgstr "режим за искључивање свих филтера"
#: modules/filter/modes/nroff.amf:7
msgid "mode for checking Nroff documents"
-msgstr ""
+msgstr "режим за проверу Бриск докумената"
#: modules/filter/modes/perl.amf:8
msgid "mode for checking Perl comments and string literals"
-msgstr ""
+msgstr "режим за проверу Перл примедби и дословности ниске"
#: modules/filter/modes/sgml.amf:8
msgid "mode for checking generic SGML/XML documents"
-msgstr ""
+msgstr "режим за проверу општих СГМЛ/ХМЛ докумената"
#: modules/filter/modes/tex.amf:7
-#, fuzzy
msgid "mode for checking TeX/LaTeX documents"
-msgstr "Филтер за препознавање ТеХ и ЛаТеХ наредби"
+msgstr "режим за проверу ТеКс/ЛаТеКс докумената"
#: modules/filter/modes/texinfo.amf:7
msgid "mode for checking Texinfo documents"
-msgstr ""
+msgstr "режим за проверу Тексинфо докумената"
#: modules/filter/modes/url.amf:5
msgid "mode to skip URL like constructs (default mode)"
-msgstr ""
+msgstr "режим за прескакање творбе сличне адреси (основни режим)"
#~ msgid "configured as follows"
#~ msgstr "подешено као"
#~ " and help for filters matching <expr> if installed\n"
#~ " -c|check <file> to check a file\n"
#~ " -a|pipe \"ispell -a\" compatibility mode\n"
-#~ " -l|list produce a list of misspelled words from standard "
-#~ "input\n"
+#~ " -l|list produce a list of misspelled words from standard input\n"
#~ " [dump] config [-e <expr>] dumps the current configuration to stdout\n"
#~ " config [+e <expr>] <key> prints the current value of an option\n"
-#~ " soundslike returns the sounds like equivalent for each word "
-#~ "entered\n"
+#~ " soundslike returns the sounds like equivalent for each word entered\n"
#~ " munch generate possible root words and affixes\n"
#~ " expand [1-4] expands affix flags\n"
#~ " filter passes standard input through filters\n"
#~ " -v|version prints a version line\n"
#~ " dump|create|merge master|personal|repl [word list]\n"
-#~ " dumps, creates or merges a master, personal, or replacement word "
-#~ "list.\n"
+#~ " dumps, creates or merges a master, personal, or replacement word list.\n"
#~ "\n"
#~ " <expr> regular expression matching filtername(s) or \"all\"\n"
#~ "\n"
#~ " -c|check <ДАТОТЕКА> за проверу датотеке\n"
#~ " -a|pipe понашање сагласно са „ispell -a“\n"
#~ " -l|list образуј списак погрешних речи на стандардном улазу\n"
-#~ " [dump] config [-e <ИЗРЗ>] исписује текућа подешавања на стандардни "
-#~ "излаз\n"
+#~ " [dump] config [-e <ИЗРЗ>] исписује текућа подешавања на стандардни излаз\n"
#~ " config [+e <ИЗРЗ>] <КЉУЧ> исписује текућу вредност опције\n"
#~ " soundslike враћа еквивалент који звучи-као за сваку унету реч\n"
#~ " munch образуј могуће корене речи и афиксе\n"
#~ " dump|create|merge master|personal|repl [СПИСАК РЕЧИ]\n"
#~ " избацује, прави, спаја главни, лични или списак замена.\n"
#~ "\n"
-#~ " <ИЗРЗ> регуларни израз са којим се поклапају имена филтера "
-#~ "или „all“\n"
+#~ " <ИЗРЗ> регуларни израз са којим се поклапају имена филтера или „all“\n"
#~ "\n"
#~ "[OPCIJE] могу бити неке од следећих:\n"
#~ "\n"
#~ msgstr ""
#~ "\n"
#~ " Филтер %s: %s\n"
-#~ " Пажња: у неједнозначном случају, додајте испред следећих опција "
-#~ "„filter-“\n"
+#~ " Пажња: у неједнозначном случају, додајте испред следећих опција „filter-“\n"
#~ msgid "beginning"
#~ msgstr "на почетку"
# Swedish translation of aspell.
-# Copyright (C) 2006 Kevin Atkinson
+# Copyright © 2006-2016 Kevin Atkinson
# This file is distributed under the same license as the aspell package.
# Daniel Nylander <po@danielnylander.se>, 2006.
+# Josef Andersson <josef.andersson@fripost.org>, 2016.
#
msgid ""
msgstr ""
-"Project-Id-Version: aspell 0.60.3\n"
+"Project-Id-Version: aspell 0.60.7\n"
"Report-Msgid-Bugs-To: kevina@gnu.org\n"
-"POT-Creation-Date: 2011-07-04 03:25-0600\n"
-"PO-Revision-Date: 2006-05-23 23:45+0100\n"
-"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
+"POT-Creation-Date: 2019-07-29 02:38-0400\n"
+"PO-Revision-Date: 2016-05-04 16:39+0200\n"
+"Last-Translator: Josef Andersson <josef.andersson@fripost.org>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
+"Language: sv\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Launchpad-Export-Date: 2016-05-03 18:08+0000\n"
+"X-Generator: Poedit 1.8.7.1\n"
#: common/info.cpp:232
msgid "a number between 0 and 1"
#: common/info.cpp:569
msgid "in the form \"<name> <value>\""
-msgstr "i formatet \"<namn> <värde>\""
+msgstr "i formatet ”<namn> <värde>”"
#: common/config.cpp:74
msgid "string"
#. * values and should not be translated.
#: common/config.cpp:978
msgid "either \"true\" or \"false\""
-msgstr "antingen \"true\" eller \"false\""
+msgstr "antingen ”true” eller ”false”"
#: common/config.cpp:997
msgid "a positive integer"
msgid "ASPELL_CONF env var"
msgstr "miljövariabeln ASPELL_CONF"
-#. TRANSLATORS: The remaing strings in config.cpp should be kept
+#. TRANSLATORS: The remaining strings in config.cpp should be kept
#. under 50 characters, begin with a lower case character and not
#. include any trailing punctuation marks.
#: common/config.cpp:1360
#: common/config.cpp:1412
msgid "enable Unicode normalization"
-msgstr ""
+msgstr "aktivera Unicode-normalisering"
#: common/config.cpp:1414
msgid "Unicode normalization required for current lang"
-msgstr ""
+msgstr "Unicode-normalisering krävs för aktuellt språk"
#. TRANSLATORS: the values after the ':' are literal
#. values and should not be translated.
#: common/config.cpp:1418
msgid "Unicode normalization form: none, nfd, nfc, comp"
-msgstr ""
+msgstr "Unicode-normaliseringsform: none, nfd, nfc, comp"
#: common/config.cpp:1420
msgid "avoid lossy conversions when normalization"
-msgstr ""
+msgstr "undvik omvandlingar med förluster vid normalisering"
#: common/config.cpp:1422
msgid "personal configuration file"
#: common/config.cpp:1428
msgid "prefix directory"
-msgstr ""
+msgstr "prefix-katalog"
#: common/config.cpp:1430
msgid "replacements list file name"
-msgstr ""
+msgstr "ersättningslistans filnamn"
#: common/config.cpp:1433
msgid "consider run-together words legal"
-msgstr ""
+msgstr "anse sammansatta ord acceptabla"
#: common/config.cpp:1435
msgid "maximum number that can be strung together"
-msgstr ""
+msgstr "maximalt antal som kan sättas samman"
#: common/config.cpp:1437
msgid "minimal length of interior words"
-msgstr ""
+msgstr "minimal längd för inneslutna ord"
#: common/config.cpp:1439
msgid "save replacement pairs on save all"
-msgstr ""
+msgstr "spara ersättningspar vid spara alla"
#: common/config.cpp:1441
msgid "set the prefix based on executable location"
-msgstr ""
+msgstr "ange prefix baserat på körfilens plats"
#: common/config.cpp:1443
msgid "size of the word list"
#. translated.
#: common/config.cpp:1451
msgid "edit distance to use, override sug-mode default"
-msgstr ""
+msgstr "redigera avstånd att använda, ignorera standard sug-mode"
#: common/config.cpp:1453
msgid "use typo analysis, override sug-mode default"
-msgstr ""
+msgstr "använd tryckfelsanalys, ignorera standard sug-mode"
#: common/config.cpp:1455
msgid "use replacement tables, override sug-mode default"
-msgstr ""
+msgstr "använd ersättningstabeller, ignorera standard sug-mode"
#: common/config.cpp:1457
msgid "characters to insert when a word is split"
-msgstr ""
+msgstr "tecken att infoga när ett ord delas"
#: common/config.cpp:1459
msgid "use personal, replacement & session dictionaries"
-msgstr ""
+msgstr "använd personliga, ersättnings- och sessionsordböcker"
#: common/config.cpp:1463
msgid "search path for word list information files"
-msgstr ""
+msgstr "leta i sökväg efter ordlisteinformationsfiler"
#: common/config.cpp:1465
msgid "enable warnings"
#. TRANSLATORS: It is OK if this is longer than 50 chars
#: common/config.cpp:1475
msgid "indicator for affix flags in word lists -- CURRENTLY IGNORED"
-msgstr ""
+msgstr "indikator för affixflaggor i ordlistor -- IGNORERAS I NULÄGET"
#: common/config.cpp:1477
msgid "use affix compression when creating dictionaries"
-msgstr ""
+msgstr "använd affixkomprimering när ordböcker skapas"
#: common/config.cpp:1479
msgid "remove invalid affix flags"
-msgstr ""
+msgstr "ta bort ogiltiga affixflaggor"
#: common/config.cpp:1481
msgid "attempts to clean words so that they are valid"
-msgstr ""
+msgstr "försöker snygga till orden så att de är giltiga"
#: common/config.cpp:1483
msgid "compute soundslike on demand rather than storing"
-msgstr ""
+msgstr "beräkna soundslike vid begäran hellre än att lagra"
#: common/config.cpp:1485
msgid "partially expand affixes for better suggestions"
-msgstr ""
+msgstr "expandera affix delvis för bättre förslag"
#: common/config.cpp:1487
msgid "skip invalid words"
#: common/config.cpp:1489
msgid "check if affix flags are valid"
-msgstr ""
+msgstr "kontrollera om affixflaggor är giltiga"
#: common/config.cpp:1491
msgid "check if words are valid"
#: common/config.cpp:1498
msgid "create a backup file by appending \".bak\""
-msgstr "skapa en säkerhetskopia genom att lägga till \".bak\""
+msgstr "skapa en säkerhetskopia genom att lägga till ”.bak”"
#: common/config.cpp:1500
msgid "use byte offsets instead of character offsets"
-msgstr ""
+msgstr "använd byteförskjutning istället för teckenförskjutning"
#: common/config.cpp:1502
msgid "create missing root/affix combinations"
-msgstr ""
+msgstr "skapa saknade rot/affixkombinationer"
#: common/config.cpp:1504
msgid "keymapping for check mode: \"aspell\" or \"ispell\""
-msgstr ""
+msgstr "tangentmappning för kontrolläge: ”aspell” eller ”ispell”"
#: common/config.cpp:1506
msgid "reverse the order of the suggest list"
-msgstr ""
+msgstr "vänd ordningen för förslagslistan"
#: common/config.cpp:1508
msgid "suggest possible replacements"
-msgstr ""
+msgstr "föreslå möjliga ersättningar"
#: common/config.cpp:1510
msgid "time load time and suggest time in pipe mode"
-msgstr ""
+msgstr "ta tiden för inläsning och för förslag i rörledningsläge"
-#: common/convert.cpp:303 common/convert.cpp:429
+#: common/convert.cpp:303 common/convert.cpp:497
#, c-format
-msgid ""
-"This could also mean that the file \"%s\" could not be opened for reading or "
-"does not exist."
-msgstr ""
+msgid "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
+msgstr "Det här kan också innebära att filen ”%s” inte kunde öppnas för läsning, eller att den inte finns."
-#: common/convert.cpp:552 common/convert.cpp:659 common/convert.cpp:705
+#: common/convert.cpp:582 common/convert.cpp:689 common/convert.cpp:735
#, c-format
msgid "The Unicode code point U+%04X is unsupported."
-msgstr ""
+msgstr "Unicode-kodpunkten U+%04X saknar stöd."
-#: common/convert.cpp:829
+#: common/convert.cpp:859
#, c-format
msgid "Invalid UTF-8 sequence at position %ld."
msgstr "Ogiltig UTF-8-sekvens vid position %ld."
#: common/errors.cpp:43
msgid "The method \"%what:1\" is unimplemented in \"%where:2\"."
-msgstr "Metoden \"%what:1\" är inte implementerad i \"%where:2\"."
+msgstr "Metoden ”%what:1” är inte implementerad i ”%where:2”."
# Osäker
#: common/errors.cpp:51
#: common/errors.cpp:59
#, c-format
msgid "The file \"%file:1\" can not be opened"
-msgstr "Filen \"%file:1\" kan inte öppnas"
+msgstr "Filen ”%file:1” kan inte öppnas"
#: common/errors.cpp:67
#, c-format
msgid "The file \"%file:1\" can not be opened for reading."
-msgstr "Filen \"%file:1\" kan inte öppnas för läsning."
+msgstr "Filen ”%file:1” kan inte öppnas för läsning."
#: common/errors.cpp:75
#, c-format
msgid "The file \"%file:1\" can not be opened for writing."
-msgstr "Filen \"%file:1\" kan inte öppnas för skrivning."
+msgstr "Filen ”%file:1” kan inte öppnas för skrivning."
#: common/errors.cpp:83
#, c-format
msgid "The file name \"%file:1\" is invalid."
-msgstr "Filnamnet \"%file:1\" är ogiltigt."
+msgstr "Filnamnet ”%file:1” är ogiltigt."
#: common/errors.cpp:91
#, c-format
msgid "The file \"%file:1\" is not in the proper format."
-msgstr "Filen \"%file:1\" är inte i det korrekta formatet."
+msgstr "Filen ”%file:1” är inte i det korrekta formatet."
#: common/errors.cpp:107
#, c-format
msgid "The directory \"%dir:1\" can not be opened for reading."
-msgstr "Katalogen \"%dir:1\" kan inte öppnas för läsning."
+msgstr "Katalogen ”%dir:1” kan inte öppnas för läsning."
#: common/errors.cpp:123
msgid "The key \"%key:1\" is unknown."
-msgstr "Nyckeln \"%key:1\" är okänd."
+msgstr "Nyckeln ”%key:1” är okänd."
#: common/errors.cpp:131
msgid "The value for option \"%key:1\" can not be changed."
-msgstr "Värdet för flaggan \"%key:1\" kan inte ändras."
+msgstr "Värdet för flaggan ”%key:1” kan inte ändras."
#: common/errors.cpp:139
msgid "The key \"%key:1\" is not %accepted:2 and is thus invalid."
-msgstr ""
+msgstr "Nyckeln ”%key:1” är inte %accepted:2 och därför ogiltigt."
#: common/errors.cpp:147
-msgid ""
-"The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%"
-"key:1\"."
-msgstr ""
+msgid "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
+msgstr "Värdet ”%value:2” är inte %accepted:3 och därför ogiltigt för nyckeln ”%key:1”."
#: common/errors.cpp:163
msgid "The key \"%key:1\" is not a string."
-msgstr "Nyckeln \"%key:1\" är inte en sträng."
+msgstr "Nyckeln ”%key:1” är inte en sträng."
#: common/errors.cpp:171
msgid "The key \"%key:1\" is not an integer."
-msgstr "Nyckeln \"%key:1\" är inte ett heltal."
+msgstr "Nyckeln ”%key:1” är inte ett heltal."
#: common/errors.cpp:179
msgid "The key \"%key:1\" is not a boolean."
-msgstr "Nyckeln \"%key:1\" är inte en boolesk."
+msgstr "Nyckeln ”%key:1” är inte en boolesk."
#: common/errors.cpp:187
msgid "The key \"%key:1\" is not a list."
-msgstr "Nyckeln \"%key:1\" är inte en lista."
+msgstr "Nyckeln ”%key:1” är inte en lista."
#: common/errors.cpp:195
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"reset-"
-"\"."
-msgstr ""
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
+msgstr "Nyckeln ”%key:1” tar inga parametrar när den föregås av ”reset-”."
#: common/errors.cpp:203
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by an \"enable-"
-"\"."
-msgstr ""
+msgid "The key \"%key:1\" does not take any parameters when prefixed by an \"enable-\"."
+msgstr "Nyckeln ”%key:1” tar inga parametrar när den föregås av ”enable-”."
#: common/errors.cpp:211
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" "
-"or \"disable-\"."
-msgstr ""
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
+msgstr "Nyckeln ”%key:1” tar inga parametrar när den föregås av ”dont-” eller ”disable-”."
#: common/errors.cpp:219
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"clear-"
-"\"."
-msgstr ""
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
+msgstr "Nyckeln ”%key:1” tar inga parametrar när den föregås av ”clear-”."
#: common/errors.cpp:235
#, c-format
msgid "The language \"%lang:1\" is not known."
-msgstr "Språket \"%lang:1\" är inte känt."
+msgstr "Språket ”%lang:1” är inte känt."
#: common/errors.cpp:243
#, c-format
msgid "The soundslike \"%sl:2\" is not known."
-msgstr ""
+msgstr "Soundslike ”%sl:2” är okänd."
#: common/errors.cpp:251
#, c-format
msgid "The language \"%lang:1\" is not supported."
-msgstr "Språket \"%lang:1\" stöds inte."
+msgstr "Språket ”%lang:1” stöds inte."
#: common/errors.cpp:259
#, c-format
msgid "No word lists can be found for the language \"%lang:1\"."
-msgstr "Inga ordlistor kan hittas för språket \"%lang:1\"."
+msgstr "Inga ordlistor kan hittas för språket ”%lang:1”."
#: common/errors.cpp:267
#, c-format
msgid "Expected language \"%lang:1\" but got \"%prev:2\"."
-msgstr "Förväntade språket \"%lang:1\" men fick \"%prev:2\"."
+msgstr "Förväntade språket ”%lang:1” men fick ”%prev:2”."
#: common/errors.cpp:283
#, c-format
msgid "Affix '%aff:1' is corrupt."
-msgstr ""
+msgstr "Affix ”%aff:1” är korrupt."
#: common/errors.cpp:291
#, c-format
msgid "The condition \"%cond:1\" is invalid."
-msgstr "Tillståndet \"%cond:1\" är ogiltigt."
+msgstr "Tillståndet ”%cond:1” är ogiltigt."
#: common/errors.cpp:299
#, c-format
-msgid ""
-"The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be "
-"stripped."
-msgstr ""
+msgid "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
+msgstr "Villkoret ”%cond:1” garanterar inte att ”%strip:2” alltid kan avlägsnas."
#: common/errors.cpp:307
#, c-format
-msgid ""
-"The file \"%file:1\" is not in the proper format. Expected the file to be in "
-"\"%exp:2\" not \"%got:3\"."
-msgstr ""
+msgid "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
+msgstr "Filen ”%file:1” är i ett felaktigt format. Filen förväntades vara i ”%exp:2”, inte ”%got:3”."
#: common/errors.cpp:323
#, c-format
msgid "The encoding \"%encod:1\" is not known."
-msgstr "Teckenkodningen \"%encod:1\" är okänd."
+msgstr "Teckenkodningen ”%encod:1” är okänd."
#: common/errors.cpp:331
#, c-format
msgid "The encoding \"%encod:1\" is not supported."
-msgstr "Teckenkodningen \"%encod:1\" stöds inte."
+msgstr "Teckenkodningen ”%encod:1” stöds inte."
#: common/errors.cpp:339
#, c-format
msgid "The conversion from \"%encod:1\" to \"%encod2:2\" is not supported."
-msgstr ""
+msgstr "Konverteringen från ”%encod:1” till ”%encod2:2” saknar stöd."
#: common/errors.cpp:379
#, c-format
msgid "The string \"%str:1\" is invalid."
-msgstr "Strängen \"%str:1\" är ogiltig."
+msgstr "Strängen ”%str:1” är ogiltig."
#: common/errors.cpp:387
msgid "The word \"%word:1\" is invalid."
-msgstr "Ordet \"%word:1\" är ogiltigt."
+msgstr "Ordet ”%word:1” är ogiltigt."
#: common/errors.cpp:395
msgid "The affix flag '%aff:1' is invalid for word \"%word:2\"."
-msgstr ""
+msgstr "Affixflaggan ”%aff:1” är ogiltig för ordet ”%word:2”."
#: common/errors.cpp:403
msgid "The affix flag '%aff:1' can not be applied to word \"%word:2\"."
-msgstr ""
+msgstr "Affixflaggan ”%aff:1” kan inte tillämpas på ordet ”%word:2”."
#: common/errors.cpp:451
msgid "not a version number"
#: common/errors.cpp:467
msgid "dlopen returned \"%return:1\"."
-msgstr ""
+msgstr "dlopen returnerade ”%return:1”."
#: common/errors.cpp:475
#, c-format
msgid "The file \"%filter:1\" does not contain any filters."
-msgstr ""
+msgstr "Filen ”%filter:1” innehåller inga filter."
#: common/errors.cpp:483
#, c-format
msgid "The filter \"%filter:1\" does not exist."
-msgstr ""
+msgstr "Filtret ”%filter:1” existerar inte."
#: common/errors.cpp:491 common/errors.cpp:587
msgid "Confused by version control."
#: common/errors.cpp:515
msgid "Use option modifiers only within named option."
-msgstr ""
+msgstr "Använd flaggmodifierare enbart med namngiven flagga."
#: common/errors.cpp:523
msgid "Option modifier unknown."
-msgstr ""
+msgstr "Okänd flaggmodifierare."
#: common/errors.cpp:531
msgid "Error setting filter description."
-msgstr ""
+msgstr "Fel vid inställning av filtrets beskrivning."
#: common/errors.cpp:547
msgid "Empty option specifier."
-msgstr ""
+msgstr "Tom flaggangivelse."
#: common/errors.cpp:555
#, c-format
msgid "Option \"%option:1\" possibly specified prior to filter."
-msgstr ""
+msgstr "Flaggan ”%option:1” kan ha specificerats innan filtret."
#: common/errors.cpp:563
msgid "Unknown mode description key \"%key:1\"."
-msgstr ""
+msgstr "Okänd lägesbeskrivningsnyckel ”%key:1”."
#: common/errors.cpp:571
#, c-format
msgid "Expecting \"%modekey:1\" key."
-msgstr ""
+msgstr "Förväntade mig nyckeln ”%modekey:1”."
#: common/errors.cpp:579
msgid "Version specifier missing key: \"aspell\"."
-msgstr ""
+msgstr "Versionsangivare saknar nyckeln: ”aspell”."
#: common/errors.cpp:595
msgid "Aspell version does not match mode's requirement."
#: common/errors.cpp:603
msgid "Missing magic mode expression."
-msgstr ""
+msgstr "Saknar uttryck för magiskt läge."
#: common/errors.cpp:611
#, c-format
msgid "Empty extension at char %char:1."
-msgstr ""
+msgstr "Tom filändelse vid tecken %char:1."
#: common/errors.cpp:619
#, c-format
msgid "\"%mode:1\" error"
-msgstr "\"%mode:1\"-fel"
+msgstr "”%mode:1”-fel"
#: common/errors.cpp:627
#, c-format
msgid "Unknown mode: \"%mode:1\"."
-msgstr "Okänt läge: \"%mode:1\"."
+msgstr "Okänt läge: ”%mode:1”."
#: common/errors.cpp:635
#, c-format
msgid "\"%mode:1\" error while extend Aspell modes. (out of memory?)"
-msgstr ""
+msgstr "”%mode:1”-fel medan Aspell-lägen utökades. (slut på minne?)"
#: common/errors.cpp:651
#, c-format
msgid "\"%mode:1\": no start for magic search given for magic \"%magic:2\"."
-msgstr ""
+msgstr "”%mode:1”: ingen början för magisk sökning given för magi ”%magic:2”."
#: common/errors.cpp:659
#, c-format
msgid "\"%mode:1\": no range for magic search given for magic \"%magic:2\"."
-msgstr ""
+msgstr "”%mode:1”: inget intervall för magisk sökning given för magi ”%magic:2”."
#: common/errors.cpp:667
#, c-format
msgid "\"%mode:1\": no magic expression available for magic \"%magic:2\"."
-msgstr ""
+msgstr "”%mode:1”: inget magiskt uttryck tillgängligt för magi ”%magic:2”."
#: common/errors.cpp:675
-msgid ""
-"\"%mode:1\": Magic \"%magic:2\": bad regular expression after location "
-"specifier; regexp reports: \"%regerr:3\"."
-msgstr ""
+msgid "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
+msgstr "”%mode:1”: Magi ”%magic:2”: felaktigt reguljärt uttryck efter platsangivelse; reguttry rapporterar: ”%regerr:3”."
#: common/errors.cpp:691
#, c-format
msgid "\"%expression:1\" is not a valid regular expression."
-msgstr "\"%expression:1\" är inte ett giltigt reguljärt uttryck."
+msgstr "”%expression:1” är inte ett giltigt reguljärt uttryck."
#: common/posib_err.cpp:100
msgid "Unhandled Error: "
msgstr "Ohanterat fel: "
-#: prog/aspell.cpp:97
+#: prog/aspell.cpp:98
#, c-format
msgid "Error: %s\n"
msgstr "Fel: %s\n"
-#: prog/aspell.cpp:102
+#: prog/aspell.cpp:103
msgid "Error: "
msgstr "Fel: "
-#: prog/aspell.cpp:203
+#: prog/aspell.cpp:204
msgid "enter Email mode."
-msgstr "gå in i E-postläge."
+msgstr "gå in i e-postläge."
-#: prog/aspell.cpp:204
+#: prog/aspell.cpp:205
msgid "enter HTML mode."
msgstr "gå in i HTML-läge."
-#: prog/aspell.cpp:205
+#: prog/aspell.cpp:206
msgid "enter TeX mode."
msgstr "gå in i TeX-läge."
-#: prog/aspell.cpp:206
+#: prog/aspell.cpp:207
msgid "enter Nroff mode."
msgstr "gå in i Nroff-läge."
-#: prog/aspell.cpp:312
+#: prog/aspell.cpp:313
#, c-format
msgid "Invalid Option: %s"
msgstr "Ogiltig flagga: %s"
-#: prog/aspell.cpp:319
+#: prog/aspell.cpp:320
msgid " does not take any parameters."
msgstr " tar inga parametrar."
-#: prog/aspell.cpp:332 prog/aspell.cpp:392
+#: prog/aspell.cpp:333 prog/aspell.cpp:393
#, c-format
msgid "You must specify a parameter for \"%s\"."
-msgstr "Du måste ange en parameter för \"%s\"."
+msgstr "Du måste ange en parameter för ”%s”."
-#: prog/aspell.cpp:381
+#: prog/aspell.cpp:382
msgid "You must specify an action"
msgstr "Du måste ange en åtgärd"
-#: prog/aspell.cpp:389 prog/aspell.cpp:452 prog/aspell.cpp:474
+#: prog/aspell.cpp:390 prog/aspell.cpp:453 prog/aspell.cpp:475
#, c-format
msgid "Unknown Action: %s"
msgstr "Okänd åtgärd: %s"
-#: prog/aspell.cpp:395
+#: prog/aspell.cpp:396
#, c-format
msgid "Error: You must specify at least %d parameters for \"%s\".\n"
-msgstr "Fel: Du måste ange åtminstone %d parametrar för \"%s\".\n"
+msgstr "Fel: Du måste ange åtminstone %d parametrar för ”%s”.\n"
-#: prog/aspell.cpp:637
+#: prog/aspell.cpp:638
msgid "Invalid Input"
msgstr "Felaktig indata"
-#: prog/aspell.cpp:710
+#: prog/aspell.cpp:711
#, c-format
msgid "WARNING: Unable to enter Nroff mode: %s\n"
msgstr "VARNING: Kunde inte gå in i Nroff-läge: %s\n"
-#: prog/aspell.cpp:731
+#: prog/aspell.cpp:732
msgid "Time to load word list: "
msgstr "Tid att läsa in ordlistan: "
-#: prog/aspell.cpp:929
+#: prog/aspell.cpp:930
#, c-format
msgid "Suggestion Time: %f\n"
msgstr "Tid för förslag: %f\n"
-#: prog/aspell.cpp:972
+#: prog/aspell.cpp:973
msgid "You must specify a file name."
msgstr "Du måste ange ett filnamn."
-#: prog/aspell.cpp:975
+#: prog/aspell.cpp:976
msgid "Only one file name may be specified."
-msgstr ""
+msgstr "Bara ett filnamn får anges."
-#: prog/aspell.cpp:985
+#: prog/aspell.cpp:986
#, c-format
msgid "Could not open the file \"%s\" for reading"
-msgstr "Kunde inte öppna filen \"%s\" för läsning"
+msgstr "Kunde inte öppna filen ”%s” för läsning"
-#: prog/aspell.cpp:998
+#: prog/aspell.cpp:999
#, c-format
msgid "Invalid keymapping: %s"
msgstr "Ogiltig tangentbindning: %s"
-#: prog/aspell.cpp:1020
+#: prog/aspell.cpp:1014
+#, fuzzy, c-format
+#| msgid "\"%expression:1\" is not a valid regular expression."
+msgid "\"%s\" is not a regular file"
+msgstr "”%expression:1” är inte ett giltigt reguljärt uttryck."
+
+#: prog/aspell.cpp:1025
#, c-format
msgid "Could not open the file \"%s\" for writing. File not saved."
-msgstr "Kunde inte öppna filen \"%s\" för skrivning. Filen är inte sparad."
+msgstr "Kunde inte öppna filen ”%s” för skrivning. Filen är inte sparad."
-#: prog/aspell.cpp:1033
+#: prog/aspell.cpp:1038
msgid "Ignore"
msgstr "Ignorera"
-#: prog/aspell.cpp:1034
+#: prog/aspell.cpp:1039
msgid "Ignore all"
msgstr "Ignorera alla"
-#: prog/aspell.cpp:1035
+#: prog/aspell.cpp:1040
msgid "Replace"
msgstr "Ersätt"
-#: prog/aspell.cpp:1036
+#: prog/aspell.cpp:1041
msgid "Replace all"
msgstr "Ersätt alla"
-#: prog/aspell.cpp:1037
+#: prog/aspell.cpp:1042
msgid "Add"
msgstr "Lägg till"
-#: prog/aspell.cpp:1038
+#: prog/aspell.cpp:1043
msgid "Add Lower"
-msgstr ""
+msgstr "Lägg till lägre"
-#: prog/aspell.cpp:1039
+#: prog/aspell.cpp:1044
msgid "Abort"
msgstr "Avbryt"
-#: prog/aspell.cpp:1040
+#: prog/aspell.cpp:1045
msgid "Exit"
msgstr "Avsluta"
-#: prog/aspell.cpp:1116
+#: prog/aspell.cpp:1121
msgid "Are you sure you want to abort (y/n)? "
-msgstr "Är du säker på att du vill avbryta? (y/n) "
+msgstr "Är du säker på att du vill avbryta? (j/n) "
#. TRANSLATORS: The user may input any of these characters to say "yes".
#. MUST ONLY CONSIST OF ASCII CHARACTERS.
-#: prog/aspell.cpp:1120
+#: prog/aspell.cpp:1125
msgid "Yy"
msgstr "JjYy"
-#: prog/aspell.cpp:1148
+#: prog/aspell.cpp:1153
msgid "With: "
-msgstr "Med:"
+msgstr "Med: "
-#: prog/aspell.cpp:1165
+#: prog/aspell.cpp:1170
msgid "Sorry that is an invalid choice!"
msgstr "Tyvärr, det är ett ogiltigt val!"
-#: prog/aspell.cpp:1386
+#: prog/aspell.cpp:1391
msgid "Sorry \"filter\" is currently unimplemented.\n"
-msgstr "Tyvärr, \"filter\" är för närvarande inte implementerat.\n"
+msgstr "Tyvärr, ”filter” är för närvarande inte implementerat.\n"
-#: prog/aspell.cpp:1520
+#: prog/aspell.cpp:1525
msgid "Can't merge a master word list yet. Sorry."
msgstr "Kan inte sammanfoga en huvudordlista ännu. Tyvärr."
-#: prog/aspell.cpp:1544
+#: prog/aspell.cpp:1549
msgid "Sorry \"create/merge personal\" is currently unimplemented.\n"
-msgstr ""
-"Tyvärr, \"create/merge personal\" är för närvarande inte implementerat.\n"
+msgstr "Tyvärr, ”create/merge personal” är för närvarande inte implementerat.\n"
-#: prog/aspell.cpp:1553 prog/aspell.cpp:1609
+#: prog/aspell.cpp:1558 prog/aspell.cpp:1614
#, c-format
msgid "Sorry I won't overwrite \"%s\""
-msgstr "Tyvärr, jag kommer inte att skriva över \"%s\""
+msgstr "Tyvärr, jag kommer inte att skriva över ”%s”"
-#: prog/aspell.cpp:1600
+#: prog/aspell.cpp:1605
msgid "Sorry \"create/merge repl\" is currently unimplemented.\n"
-msgstr "Tyvärr, \"create/merge repl\" är för närvarande inte implementerat.\n"
+msgstr "Tyvärr, ”create/merge repl” är för närvarande inte implementerat.\n"
-#: prog/aspell.cpp:1872
+#: prog/aspell.cpp:1877
#, c-format
msgid "\"%s\" is not a valid flag for the \"munch-list\" command."
-msgstr "\"%s\" är inte en giltig flagga för kommandot \"munch-list\"."
+msgstr "”%s” är inte en giltig flagga för kommandot ”munch-list”."
#. TRANSLATORS: These should all be formated to fit in 80 column or
#. less
-#: prog/aspell.cpp:2799
+#: prog/aspell.cpp:2804
msgid "Usage: aspell [options] <command>"
msgstr "Användning: aspell [flaggor] <kommando>"
-#: prog/aspell.cpp:2800
+#: prog/aspell.cpp:2805
msgid "<command> is one of:"
msgstr "<kommando> är en av:"
-#: prog/aspell.cpp:2801
+#: prog/aspell.cpp:2806
msgid " -?|usage display a brief usage message"
msgstr " -?|usage visa en kortfattad användningstext"
-#: prog/aspell.cpp:2802
+#: prog/aspell.cpp:2807
msgid " help display a detailed help message"
msgstr " help visa ett detaljerat hjälpmeddelande"
-#: prog/aspell.cpp:2803
+#: prog/aspell.cpp:2808
msgid " -c|check <file> to check a file"
msgstr " -c|check <fil> för att kontrollera en fil"
-#: prog/aspell.cpp:2804
+#: prog/aspell.cpp:2809
msgid " -a|pipe \"ispell -a\" compatibility mode"
-msgstr " -a|pipe \"ispell -a\" kompatibilitetsläge"
+msgstr " -a|pipe ”ispell -a” kompatibilitetsläge"
-#: prog/aspell.cpp:2805
+#: prog/aspell.cpp:2810
msgid " [dump] config dumps the current configuration to stdout"
-msgstr ""
+msgstr " [dump] config dumpar nuvarande konfiguration till stdout"
-#: prog/aspell.cpp:2806
+#: prog/aspell.cpp:2811
msgid " config <key> prints the current value of an option"
-msgstr ""
+msgstr " config <key> visar nuvarande värdet för ett alternativ"
-#: prog/aspell.cpp:2807
+#: prog/aspell.cpp:2812
msgid " [dump] dicts | filters | modes"
-msgstr ""
+msgstr " [dump] dicts | filters | modes"
-#: prog/aspell.cpp:2808
+#: prog/aspell.cpp:2813
msgid " lists available dictionaries / filters / filter modes"
msgstr " listar tillgängliga ordböcker / filter / filterlägen"
-#: prog/aspell.cpp:2809
+#: prog/aspell.cpp:2814
msgid "[options] is any of the following:"
msgstr "[flaggor] är någon av följande:"
-#: prog/aspell.cpp:2822
-msgid ""
-" list produce a list of misspelled words from standard input"
-msgstr ""
+#: prog/aspell.cpp:2827
+msgid " list produce a list of misspelled words from standard input"
+msgstr " list ger en lista över felstavade ord från standard in"
-#: prog/aspell.cpp:2825
-msgid ""
-" soundslike returns the sounds like equivalent for each word entered"
-msgstr ""
+#: prog/aspell.cpp:2830
+msgid " soundslike returns the sounds like equivalent for each word entered"
+msgstr " soundslike returnerar hur varje inmatat ord låter"
-#: prog/aspell.cpp:2826
+#: prog/aspell.cpp:2831
msgid " munch generate possible root words and affixes"
-msgstr ""
+msgstr " munch genererar möjliga rotord och affix"
-#: prog/aspell.cpp:2827
+#: prog/aspell.cpp:2832
msgid " expand [1-4] expands affix flags"
-msgstr ""
+msgstr " expand [1-4] expanderar affixflaggor"
-#: prog/aspell.cpp:2828
-msgid ""
-" clean [strict] cleans a word list so that every line is a valid word"
-msgstr ""
+#: prog/aspell.cpp:2833
+msgid " clean [strict] cleans a word list so that every line is a valid word"
+msgstr " clean [strict] rensar en ordlista så att varje rad är ett giltigt ord"
-#: prog/aspell.cpp:2830
+#: prog/aspell.cpp:2835
msgid " -v|version prints a version line"
msgstr " -v|version skriver ut en versionsrad"
-#: prog/aspell.cpp:2831
-#, fuzzy
+#: prog/aspell.cpp:2836
msgid " munch-list [simple] [single|multi] [keep]"
-msgstr " munch-list [simple] [single|multi] [keep]\n"
+msgstr " munch-list [Simple] [single|multi] [keep]"
-#: prog/aspell.cpp:2832
+#: prog/aspell.cpp:2837
msgid " reduce the size of a word list via affix compression"
-msgstr ""
+msgstr " minskar en ordlistas storlek med affixkomprimering"
-#: prog/aspell.cpp:2833
+#: prog/aspell.cpp:2838
msgid " conv <from> <to> [<norm-form>]"
msgstr " conv <från> <till> [<norm-form>]"
-#: prog/aspell.cpp:2834
+#: prog/aspell.cpp:2839
msgid " converts from one encoding to another"
msgstr " konverterar från en teckenkodning till en annan"
-#: prog/aspell.cpp:2835
+#: prog/aspell.cpp:2840
msgid " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
msgstr " norm (<norm-map> | <från> <norm-map> <till>) [<norm-form>]"
-#: prog/aspell.cpp:2836
+#: prog/aspell.cpp:2841
msgid " perform Unicode normalization"
-msgstr ""
+msgstr " utför Unicode-normalisering"
-#: prog/aspell.cpp:2839
+#: prog/aspell.cpp:2844
msgid " dump|create|merge master|personal|repl [<name>]"
msgstr " dump|create|merge master|personal|repl [<namn>]"
-#: prog/aspell.cpp:2840
-msgid ""
-" dumps, creates or merges a master, personal, or replacement dictionary."
-msgstr ""
+#: prog/aspell.cpp:2845
+msgid " dumps, creates or merges a master, personal, or replacement dictionary."
+msgstr " dumpar, skapar eller fogar samman en toppnivå-, privat, eller ersättningsordbok."
#. TRANSLATORS: "none", "internal" and "strict" are literal values
#. and should not be translated.
-#: prog/aspell.cpp:2844
-msgid ""
-" <norm-form> normalization form to use, either none, internal, or "
-"strict"
-msgstr ""
+#: prog/aspell.cpp:2849
+msgid " <norm-form> normalization form to use, either none, internal, or strict"
+msgstr " <norm-form> normaliseringsform att använda; antingen none, internal, eller strict"
-#: prog/aspell.cpp:2854
+#: prog/aspell.cpp:2859
#, c-format
msgid ""
"\n"
"Aspell %s. Copyright 2000-2011 av Kevin Atkinson.\n"
"\n"
-#: prog/aspell.cpp:2888
+#: prog/aspell.cpp:2893
msgid ""
"Available Dictionaries:\n"
" Dictionaries can be selected directly via the \"-d\" or \"master\"\n"
" option. They can also be selected indirectly via the \"lang\",\n"
" \"variety\", and \"size\" options.\n"
msgstr ""
+"Tillgängliga ordböcker:\n"
+" Ordböcker kan väljas direkt via flaggan ”-d” eller ”master”. De kan\n"
+" också väljas indirekt via ”lang”-, ”variety”-, och ”size”-flaggorna.\n"
-#: prog/aspell.cpp:2909
+#: prog/aspell.cpp:2914
msgid ""
"Available Filters (and associated options):\n"
" Filters can be added or removed via the \"filter\" option.\n"
msgstr ""
+"Tillgängliga filter (och tillhörande alternativ):\n"
+" Filter kan läggas till eller tas bort med ”filter”-flaggan.\n"
# Osäker
-#: prog/aspell.cpp:2916
+#: prog/aspell.cpp:2921
#, c-format
msgid ""
"\n"
" %s-filter: %s\n"
#. TRANSLATORS: This should be formated to fit in 80 column or less
-#: prog/aspell.cpp:2933
+#: prog/aspell.cpp:2938
msgid ""
"Available Filter Modes:\n"
" Filter Modes are reconfigured combinations of filters optimized for\n"
" This will happen implicitly if Aspell is able to identify the file\n"
" type from the extension, and possibility the contents, of the file.\n"
msgstr ""
+"Tillgängliga filterlägen:\n"
+" Filterlägen är omkonfigurerade filterkombinationer optimerade för en\n"
+" viss filtyp. Ett läge anges med ”mode”-flaggan. Det kommer ske implicit\n"
+" om Aspell kan identifiera filtypen utifrån ändelsen, och kanske innehållet.\n"
#: prog/check_funs.cpp:287
msgid "Error: Stdin not a terminal."
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:774
msgid "Enter"
-msgstr "Enter"
+msgstr "Retur"
#: prog/check_funs.cpp:776
msgid "Accept Changes"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:779
msgid "Backspace"
-msgstr "Backspace"
+msgstr "Backsteg"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:781
#: prog/check_funs.cpp:817
msgid "Kill all characters to the EOL"
-msgstr ""
+msgstr "Döda alla tecken fram till EOL"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:821
#: modules/speller/default/language.cpp:110
msgid "The required field \"name\" is missing."
-msgstr "Det nödvändiga fältet \"name\" saknas."
+msgstr "Det nödvändiga fältet ”name” saknas."
#: modules/speller/default/language.cpp:488
msgid "Empty string."
#: modules/speller/default/language.cpp:492
#, c-format
msgid "The character '%s' (U+%02X) may not appear at the beginning of a word."
-msgstr ""
+msgstr "Tecknet ”%s” (U+%02X) får inte användas i ett ords början."
#: modules/speller/default/language.cpp:494
#: modules/speller/default/language.cpp:503
#, c-format
-msgid ""
-"The character '%s' (U+%02X) must be followed by an alphabetic character."
-msgstr ""
+msgid "The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgstr "Tecknet ”%s” (U+%02X) måste följas av ett alfabetiskt tecken."
#: modules/speller/default/language.cpp:496
msgid "Does not contain any alphabetic characters."
-msgstr ""
+msgstr "Innehåller inget alfabetiskt tecken."
#: modules/speller/default/language.cpp:501
#, c-format
msgid "The character '%s' (U+%02X) may not appear in the middle of a word."
-msgstr ""
+msgstr "Tecknet ”%s” (U+%02X) får inte komma i mitten av ett ord."
#: modules/speller/default/language.cpp:508
-msgid ""
-"The character '\\r' (U+0D) may not appear at the end of a word. This "
-"probably means means that the file is using MS-DOS EOL instead of Unix EOL."
-msgstr ""
+msgid "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgstr "Tecknet '\\r' (U+0D) får inte avsluta ett ord. Det betyder antagligen att filen använder MS-DOS EOL istället för Unix EOL."
#: modules/speller/default/language.cpp:511
#, c-format
msgid "The character '%s' (U+%02X) may not appear at the end of a word."
-msgstr ""
+msgstr "Tecknet ”%s” (U+%02X) får inte avsluta ett ord."
#: modules/speller/default/language.cpp:543
#, c-format
msgid "Warning: Removing invalid affix '%s' from word %s.\n"
-msgstr ""
+msgstr "Varning: Tar bort ogiltigt affix ”%s” från ordet %s.\n"
#: modules/speller/default/language.cpp:544
#, c-format
msgid "Warning: Removing inapplicable affix '%s' from word %s.\n"
-msgstr ""
+msgstr "Varning: Tar bort opassande affix ”%s” från ordet %s.\n"
-#: modules/speller/default/language.cpp:674
+#: modules/speller/default/language.cpp:675
#, c-format
msgid "Warning: %s Skipping string.\n"
-msgstr ""
+msgstr "Varning: %s Hoppar över sträng.\n"
-#: modules/speller/default/language.cpp:732
+#: modules/speller/default/language.cpp:733
msgid "The total length is larger than 240 characters."
msgstr "Den totala längden är större än 240 tecken."
-#: modules/speller/default/language.cpp:736
+#: modules/speller/default/language.cpp:737
#, c-format
msgid "Warning: %s Skipping word.\n"
msgstr "Varning: %s Hoppar över ord.\n"
#: modules/speller/default/affix.cpp:426
msgid "Possibly incorrect count."
-msgstr ""
+msgstr "Möjligen felaktigt antal."
#: modules/speller/default/readonly_ws.cpp:362
+msgid "Incompatible hash function."
+msgstr "Inkompatibel hashfunktion."
+
+#: modules/speller/default/readonly_ws.cpp:440
msgid "Wrong endian order."
-msgstr ""
+msgstr "Fel byteordning."
-#: modules/speller/default/readonly_ws.cpp:385
+#: modules/speller/default/readonly_ws.cpp:463
msgid "Wrong soundslike."
-msgstr ""
+msgstr "Fel soundslike."
-#: modules/speller/default/readonly_ws.cpp:391
+#: modules/speller/default/readonly_ws.cpp:469
msgid "Wrong soundslike version."
-msgstr ""
+msgstr "Fel soundslike-version."
-#: modules/speller/default/readonly_ws.cpp:853
+#: modules/speller/default/readonly_ws.cpp:934
msgid "Affix flags found in word but no affix file given."
-msgstr ""
+msgstr "Affixflaggor hittades i ordet, men ingen affixfil angavs."
-#: modules/speller/default/readonly_ws.cpp:891
-msgid ""
-"The total word length, with soundslike data, is larger than 240 characters."
-msgstr ""
+#: modules/speller/default/readonly_ws.cpp:972
+msgid "The total word length, with soundslike data, is larger than 240 characters."
+msgstr "Total ordlängd, med soundslike-data, överstiger 240 tecken."
#: modules/speller/default/multi_ws.cpp:58
msgid "There must be at least one \"add\" line."
-msgstr ""
+msgstr "Det måste finnas minst en ”add”-rad."
#: modules/speller/default/suggest.cpp:1403
msgid "one of ultra, fast, normal, slow, or bad-spellers"
-msgstr ""
+msgstr "antingen ultra, fast, normal, slow, eller bad-spellers"
#: modules/speller/default/data.cpp:404
msgid "is not one of the allowed types"
-msgstr ""
+msgstr "är inte en tillåten typ"
#: modules/speller/default/speller_impl.cpp:241
msgid "The personal word list is unavailable."
-msgstr ""
+msgstr "Den privata ordlistan är otillgänglig."
#: modules/speller/default/speller_impl.cpp:248
msgid "The session word list is unavailable."
-msgstr ""
+msgstr "Sessionsordlistan är otillgänglig."
#: modules/speller/default/speller_impl.cpp:255
msgid "The main word list is unavailable."
-msgstr ""
+msgstr "Den huvudsakliga ordlistan är otillgänglig."
#: modules/filter/tex.cpp:255 modules/filter/tex.cpp:262
msgid "a string of 'o','O','p',or 'P'"
-msgstr "en sträng av 'o','O','p',eller 'P'"
+msgstr "en sträng av ”o”,”O”,”p”,eller ”P”"
#. TRANSLATORS: Like the strings in config.cpp, all strings in *-filter.opt
#. should be under 50 characters, begin with a lower case character and
#. not include any trailing punctuation marks.
#: modules/filter/context-filter.info:7
msgid "experimental filter for hiding delimited contexts"
-msgstr ""
+msgstr "exp. filter för att dölja avgränsade sammanhang"
#: modules/filter/context-filter.info:13
msgid "context delimiters (separated by spaces)"
-msgstr ""
+msgstr "sammanhangsavgränsare (avskiljda av mellanslag)"
#: modules/filter/context-filter.info:21
msgid "swaps visible and invisible text"
-msgstr ""
+msgstr "byter mellan synlig och osynlig text"
#: modules/filter/email-filter.info:7
msgid "filter for skipping quoted text in email messages"
-msgstr ""
+msgstr "filter som hoppar över citeringar i e-post"
#: modules/filter/email-filter.info:13
msgid "email quote characters"
-msgstr ""
+msgstr "citationstecken i e-post"
#: modules/filter/email-filter.info:21
msgid "num chars that can appear before the quote char"
-msgstr ""
+msgstr "num. tecken som kan visas före citationstecknet"
#: modules/filter/html-filter.info:9
msgid "filter for dealing with HTML documents"
#: modules/filter/html-filter.info:15
msgid "HTML attributes to always check"
-msgstr ""
+msgstr "HTML-attribut att alltid kontrollera"
#: modules/filter/html-filter.info:21
msgid "HTML tags to always skip the contents of"
+msgstr "HTML-taggar vilkas innehåll alltid hoppas över"
+
+#: modules/filter/markdown-filter.info:8
+#, fuzzy
+#| msgid "filter for dealing with Texinfo documents"
+msgid "filter for Markdown/CommonMark documents"
+msgstr "filter för hantering av Texinfo-dokument"
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
msgstr ""
#: modules/filter/nroff-filter.info:7
msgid "filter for dealing with Nroff documents"
-msgstr ""
+msgstr "filter för hantering av Nroff-dokument"
#: modules/filter/sgml-filter.info:9
msgid "filter for dealing with generic SGML/XML documents"
-msgstr ""
+msgstr "filter för hantering av vanl. SGML-/XML-dokument"
#: modules/filter/sgml-filter.info:15
msgid "SGML attributes to always check"
-msgstr ""
+msgstr "SGML-attribut som alltid ska läsas"
#: modules/filter/sgml-filter.info:20
msgid "SGML tags to always skip the contents of"
-msgstr ""
+msgstr "SGML-taggar vilkas innehåll alltid hoppas över"
#: modules/filter/tex-filter.info:7
msgid "filter for dealing with TeX/LaTeX documents"
-msgstr ""
+msgstr "filter för hantering av TeX-/LaTeX-dokument"
#: modules/filter/tex-filter.info:15
msgid "check TeX comments"
#: modules/filter/texinfo-filter.info:7
msgid "filter for dealing with Texinfo documents"
-msgstr ""
+msgstr "filter för hantering av Texinfo-dokument"
#: modules/filter/texinfo-filter.info:13
msgid "Texinfo commands to ignore the parameters of"
-msgstr ""
+msgstr "Texinfo-kommandon vilkas parametrar ignoreras"
#: modules/filter/texinfo-filter.info:41
msgid "Texinfo environments to ignore"
-msgstr ""
+msgstr "Texinfo-miljöer som ignoreras"
#: modules/filter/url-filter.info:7
msgid "filter to skip URL like constructs"
-msgstr ""
+msgstr "filter som hoppar över URL-lika ord"
#: modules/filter/modes/ccpp.amf:8
msgid "mode for checking C++ comments and string literals"
-msgstr ""
+msgstr "läge för kontroll av C++-kommentarer och strängar"
#: modules/filter/modes/comment.amf:5
msgid "mode to check any lines starting with a #"
-msgstr ""
+msgstr "läge för kontr. av alla rader som inl. med #"
#: modules/filter/modes/email.amf:5
msgid "mode for skipping quoted text in email messages"
-msgstr ""
+msgstr "läge för att hoppa över citat i e-post"
#: modules/filter/modes/html.amf:10
msgid "mode for checking HTML documents"
msgstr "läge för att kontrollera HTML-dokument"
+#: modules/filter/modes/markdown.amf:10
+#, fuzzy
+#| msgid "mode for checking Nroff documents"
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr "läge för att kontrollera Nroff-dokument"
+
#: modules/filter/modes/none.amf:5
msgid "mode to disable all filters"
msgstr "läge för att inaktivera alla filter"
#: modules/filter/modes/url.amf:5
msgid "mode to skip URL like constructs (default mode)"
-msgstr ""
+msgstr "läge för att hoppa över URL-lika ord (standard)"
msgstr ""
"Project-Id-Version: aspell\n"
"Report-Msgid-Bugs-To: kevina@gnu.org\n"
-"POT-Creation-Date: 2011-07-04 03:25-0600\n"
+"POT-Creation-Date: 2019-07-29 02:38-0400\n"
"PO-Revision-Date: 2004-05-22 19:33+0000\n"
"Last-Translator: Marina Kolucheva <youth_opportunities@tajik.net>\n"
"Language-Team: Tajik\n"
+"Language: tg\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
"X-Generator: KBabel 1.0.1\n"
#: common/info.cpp:232
msgid "ASPELL_CONF env var"
msgstr ""
-#. TRANSLATORS: The remaing strings in config.cpp should be kept
+#. TRANSLATORS: The remaining strings in config.cpp should be kept
#. under 50 characters, begin with a lower case character and not
#. include any trailing punctuation marks.
#: common/config.cpp:1360
msgid "time load time and suggest time in pipe mode"
msgstr "вақти пурборкунӣ ва вақти тақдимият дар тартиботи-pipe"
-#: common/convert.cpp:303 common/convert.cpp:429
+#: common/convert.cpp:303 common/convert.cpp:497
#, c-format
-msgid ""
-"This could also mean that the file \"%s\" could not be opened for reading or "
-"does not exist."
-msgstr ""
-"Ин ҳамчунин маънои онро дорад, ки файл \"%s\" барои хондан кушода намешавад "
-"ёки он вуҷуд надорад."
+msgid "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
+msgstr "Ин ҳамчунин маънои онро дорад, ки файл \"%s\" барои хондан кушода намешавад ёки он вуҷуд надорад."
-#: common/convert.cpp:552 common/convert.cpp:659 common/convert.cpp:705
+#: common/convert.cpp:582 common/convert.cpp:689 common/convert.cpp:735
#, c-format
msgid "The Unicode code point U+%04X is unsupported."
msgstr "Ишораи юникоди U+%04X дастгирӣ нашуда истодааст."
-#: common/convert.cpp:829
-#, c-format
+#: common/convert.cpp:859
+#, fuzzy, c-format
+#| msgid "Invalid UTF-8 sequence at position %d."
msgid "Invalid UTF-8 sequence at position %ld."
-msgstr "Пайравии нодурусти UTF-8 бо адреси %ld."
+msgstr "Пайравии нодурусти UTF-8 бо адреси %d."
#: common/errors.cpp:27
msgid "Operation Not Supported: %what:1"
msgstr "Калиди \"%key:1\" бидуни %accepted:2 аст ва барои ҳамин нодуруст аст."
#: common/errors.cpp:147
-msgid ""
-"The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%"
-"key:1\"."
-msgstr ""
-"Маънавияти \"%value:2\" бидуни %accepted:3 аст ва барои ҳамин барои калиди "
-"\"%key:1\" нодуруст аст."
+msgid "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
+msgstr "Маънавияти \"%value:2\" бидуни %accepted:3 аст ва барои ҳамин барои калиди \"%key:1\" нодуруст аст."
#: common/errors.cpp:163
#, fuzzy
msgstr "Калиди \"%key:1\" номуайян мебошад."
#: common/errors.cpp:195
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"reset-"
-"\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
msgstr ""
#: common/errors.cpp:203
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by an \"enable-"
-"\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by an \"enable-\"."
msgstr ""
#: common/errors.cpp:211
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" "
-"or \"disable-\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
msgstr ""
#: common/errors.cpp:219
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"clear-"
-"\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
msgstr ""
#: common/errors.cpp:235
#: common/errors.cpp:299
#, c-format
-msgid ""
-"The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be "
-"stripped."
+msgid "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
msgstr ""
#: common/errors.cpp:307
#, fuzzy, c-format
-msgid ""
-"The file \"%file:1\" is not in the proper format. Expected the file to be in "
-"\"%exp:2\" not \"%got:3\"."
+msgid "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
msgstr "Файли \"%file:1\" дар ҳолати номувофиқ мебошад."
#: common/errors.cpp:323
#: common/errors.cpp:491 common/errors.cpp:587
#, fuzzy
msgid "Confused by version control."
-msgstr ""
-"%where:1: \"%filter:2\" Сатри %line:3 ҳолати тафтиши ривоят барҳам дода "
-"истодааст"
+msgstr "%where:1: \"%filter:2\" Сатри %line:3 ҳолати тафтиши ривоят барҳам дода истодааст"
#: common/errors.cpp:499
#, fuzzy
msgid "Aspell version does not match filter's requirement."
-msgstr ""
-"%where:1: \"%filter:2\": Сатри %line:ривояти 3-юми Aspell ба сифати филтр "
-"ҷавобгӯй нест."
+msgstr "%where:1: \"%filter:2\": Сатри %line:ривояти 3-юми Aspell ба сифати филтр ҷавобгӯй нест."
#: common/errors.cpp:507
#, fuzzy
msgid "Filter option already exists."
-msgstr ""
-"%where:1: \"%filter:2\" Сатри %line:3 Интихоботгоҳи филтр аллакай мавҷуд "
-"мебошад."
+msgstr "%where:1: \"%filter:2\" Сатри %line:3 Интихоботгоҳи филтр аллакай мавҷуд мебошад."
#: common/errors.cpp:515
#, fuzzy
msgid "Use option modifiers only within named option."
-msgstr ""
-"%where:1: \"%filter:2\" %line:3 Интихоботгоҳи тағйирдодаротанҳо бо "
-"интихоботгоҳи ном гузошташуда, истифода кунед."
+msgstr "%where:1: \"%filter:2\" %line:3 Интихоботгоҳи тағйирдодаротанҳо бо интихоботгоҳи ном гузошташуда, истифода кунед."
#: common/errors.cpp:523
#, fuzzy
#: common/errors.cpp:595
#, fuzzy
msgid "Aspell version does not match mode's requirement."
-msgstr ""
-"%where:1: \"%filter:2\": Сатри %line:ривояти 3-юми Aspell ба сифати филтр "
-"ҷавобгӯй нест."
+msgstr "%where:1: \"%filter:2\": Сатри %line:ривояти 3-юми Aspell ба сифати филтр ҷавобгӯй нест."
#: common/errors.cpp:603
msgid "Missing magic mode expression."
#: common/errors.cpp:635
#, fuzzy, c-format
msgid "\"%mode:1\" error while extend Aspell modes. (out of memory?)"
-msgstr ""
-"%where:1: \"%filter:2\" хатогӣ ҳолати вусъати интихоботгоҳи Aspell (норасоии "
-"хотира?)"
+msgstr "%where:1: \"%filter:2\" хатогӣ ҳолати вусъати интихоботгоҳи Aspell (норасоии хотира?)"
#: common/errors.cpp:651
#, c-format
msgstr ""
#: common/errors.cpp:675
-msgid ""
-"\"%mode:1\": Magic \"%magic:2\": bad regular expression after location "
-"specifier; regexp reports: \"%regerr:3\"."
+msgid "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
msgstr ""
#: common/errors.cpp:691
msgid "Unhandled Error: "
msgstr "Хатои нокоркард: "
-#: prog/aspell.cpp:97
+#: prog/aspell.cpp:98
#, c-format
msgid "Error: %s\n"
msgstr "Хато: %s\n"
-#: prog/aspell.cpp:102
+#: prog/aspell.cpp:103
msgid "Error: "
msgstr "Хато: "
-#: prog/aspell.cpp:203
+#: prog/aspell.cpp:204
msgid "enter Email mode."
msgstr "гузаштан ба тартиботи Email."
-#: prog/aspell.cpp:204
+#: prog/aspell.cpp:205
#, fuzzy
msgid "enter HTML mode."
msgstr "гузаштан ба тартиботи TeX"
-#: prog/aspell.cpp:205
+#: prog/aspell.cpp:206
msgid "enter TeX mode."
msgstr "гузаштан ба тартиботи TeX"
-#: prog/aspell.cpp:206
+#: prog/aspell.cpp:207
#, fuzzy
+#| msgid "enter TeX mode."
msgid "enter Nroff mode."
msgstr "гузаштан ба тартиботи TeX"
-#: prog/aspell.cpp:312
+#: prog/aspell.cpp:313
#, c-format
msgid "Invalid Option: %s"
msgstr "Интихоботгоҳи нодуруст: %s"
-#: prog/aspell.cpp:319
+#: prog/aspell.cpp:320
msgid " does not take any parameters."
msgstr " ягон параметреро қабул накарда истодааст."
-#: prog/aspell.cpp:332 prog/aspell.cpp:392
+#: prog/aspell.cpp:333 prog/aspell.cpp:393
#, fuzzy, c-format
+#| msgid "You must specify a parameter for %s"
msgid "You must specify a parameter for \"%s\"."
msgstr "Шумо бояд ягон параметре барои %s нишон диҳед"
-#: prog/aspell.cpp:381
+#: prog/aspell.cpp:382
msgid "You must specify an action"
msgstr "Шумо бояд амалеро ишора кунед"
-#: prog/aspell.cpp:389 prog/aspell.cpp:452 prog/aspell.cpp:474
+#: prog/aspell.cpp:390 prog/aspell.cpp:453 prog/aspell.cpp:475
#, c-format
msgid "Unknown Action: %s"
msgstr "Амалиёти номуайян: %s"
-#: prog/aspell.cpp:395
+#: prog/aspell.cpp:396
#, fuzzy, c-format
+#| msgid "You must specify a parameter for %s"
msgid "Error: You must specify at least %d parameters for \"%s\".\n"
msgstr "Шумо бояд ягон параметре барои %s нишон диҳед"
-#: prog/aspell.cpp:637
+#: prog/aspell.cpp:638
msgid "Invalid Input"
msgstr "Вурудиятҳои нодуруст"
-#: prog/aspell.cpp:710
+#: prog/aspell.cpp:711
#, c-format
msgid "WARNING: Unable to enter Nroff mode: %s\n"
msgstr ""
-#: prog/aspell.cpp:731
+#: prog/aspell.cpp:732
msgid "Time to load word list: "
msgstr "Вақти пурборкунии рӯйхати калима: "
-#: prog/aspell.cpp:929
+#: prog/aspell.cpp:930
#, c-format
msgid "Suggestion Time: %f\n"
msgstr "Вақти пешниҳод: %f\n"
-#: prog/aspell.cpp:972
+#: prog/aspell.cpp:973
msgid "You must specify a file name."
msgstr "Шумо бояд номи файлро нишон диҳед."
-#: prog/aspell.cpp:975
+#: prog/aspell.cpp:976
msgid "Only one file name may be specified."
msgstr ""
-#: prog/aspell.cpp:985
+#: prog/aspell.cpp:986
#, c-format
msgid "Could not open the file \"%s\" for reading"
msgstr "Боз кардани файли \"%s\" барои хондан имконнопазир аст"
-#: prog/aspell.cpp:998
+#: prog/aspell.cpp:999
#, c-format
msgid "Invalid keymapping: %s"
msgstr "Рамзгузории нодуруст дар забонак: %s"
-#: prog/aspell.cpp:1020
+#: prog/aspell.cpp:1014
+#, fuzzy, c-format
+msgid "\"%s\" is not a regular file"
+msgstr "%action:1: `%expression:2' ифодаи мунтазами нодуруст мебошад."
+
+#: prog/aspell.cpp:1025
#, fuzzy, c-format
msgid "Could not open the file \"%s\" for writing. File not saved."
-msgstr ""
-"Боз кардани файли \"%s\" барои навиштан имконнопазир аст. Файл нигоҳ дошта "
-"нашудааст."
+msgstr "Боз кардани файли \"%s\" барои навиштан имконнопазир аст. Файл нигоҳ дошта нашудааст."
-#: prog/aspell.cpp:1033
+#: prog/aspell.cpp:1038
msgid "Ignore"
msgstr "Роҳ додан"
-#: prog/aspell.cpp:1034
+#: prog/aspell.cpp:1039
msgid "Ignore all"
msgstr "Роҳ додани ҳамааш"
-#: prog/aspell.cpp:1035
+#: prog/aspell.cpp:1040
msgid "Replace"
msgstr "Ивваз"
-#: prog/aspell.cpp:1036
+#: prog/aspell.cpp:1041
msgid "Replace all"
msgstr "Иввази ҳамааш"
-#: prog/aspell.cpp:1037
+#: prog/aspell.cpp:1042
msgid "Add"
msgstr "Илова"
-#: prog/aspell.cpp:1038
+#: prog/aspell.cpp:1043
msgid "Add Lower"
msgstr "Иловаи қайдгоҳи поёна"
-#: prog/aspell.cpp:1039
+#: prog/aspell.cpp:1044
msgid "Abort"
msgstr "Каниш"
-#: prog/aspell.cpp:1040
+#: prog/aspell.cpp:1045
msgid "Exit"
msgstr "Баромад"
-#: prog/aspell.cpp:1116
+#: prog/aspell.cpp:1121
#, fuzzy
msgid "Are you sure you want to abort (y/n)? "
msgstr "Шумо мутмаъинед, ки мехоҳед барҳам диҳед?"
#. TRANSLATORS: The user may input any of these characters to say "yes".
#. MUST ONLY CONSIST OF ASCII CHARACTERS.
-#: prog/aspell.cpp:1120
+#: prog/aspell.cpp:1125
msgid "Yy"
msgstr ""
-#: prog/aspell.cpp:1148
+#: prog/aspell.cpp:1153
msgid "With: "
msgstr "Ба:"
-#: prog/aspell.cpp:1165
+#: prog/aspell.cpp:1170
msgid "Sorry that is an invalid choice!"
msgstr "Бубахшед, ин интихоби нодуруст аст!"
-#: prog/aspell.cpp:1386
+#: prog/aspell.cpp:1391
msgid "Sorry \"filter\" is currently unimplemented.\n"
msgstr "Бубахшед, \"filter\" ин вақт кор намекунад.\n"
-#: prog/aspell.cpp:1520
+#: prog/aspell.cpp:1525
msgid "Can't merge a master word list yet. Sorry."
-msgstr ""
-"Ҳоло пайваст кардани рӯйхати калимаҳои асосиро имконнопазир аст. Бубахшед."
+msgstr "Ҳоло пайваст кардани рӯйхати калимаҳои асосиро имконнопазир аст. Бубахшед."
-#: prog/aspell.cpp:1544
+#: prog/aspell.cpp:1549
msgid "Sorry \"create/merge personal\" is currently unimplemented.\n"
msgstr "Бубахшед, \"create/merge personal\" дар ин вақт кор намекунад.\n"
-#: prog/aspell.cpp:1553 prog/aspell.cpp:1609
+#: prog/aspell.cpp:1558 prog/aspell.cpp:1614
#, c-format
msgid "Sorry I won't overwrite \"%s\""
msgstr "Бубахшед, \"%s\" аз нав нависӣ карда наметавонам"
-#: prog/aspell.cpp:1600
+#: prog/aspell.cpp:1605
msgid "Sorry \"create/merge repl\" is currently unimplemented.\n"
msgstr "Бубахшед, \"create/merge repl\" дар ин вақт кор намекунад.\n"
-#: prog/aspell.cpp:1872
+#: prog/aspell.cpp:1877
#, c-format
msgid "\"%s\" is not a valid flag for the \"munch-list\" command."
msgstr ""
#. TRANSLATORS: These should all be formated to fit in 80 column or
#. less
-#: prog/aspell.cpp:2799
+#: prog/aspell.cpp:2804
msgid "Usage: aspell [options] <command>"
msgstr ""
-#: prog/aspell.cpp:2800
+#: prog/aspell.cpp:2805
msgid "<command> is one of:"
msgstr ""
-#: prog/aspell.cpp:2801
+#: prog/aspell.cpp:2806
msgid " -?|usage display a brief usage message"
msgstr ""
-#: prog/aspell.cpp:2802
+#: prog/aspell.cpp:2807
msgid " help display a detailed help message"
msgstr ""
-#: prog/aspell.cpp:2803
+#: prog/aspell.cpp:2808
msgid " -c|check <file> to check a file"
msgstr ""
-#: prog/aspell.cpp:2804
+#: prog/aspell.cpp:2809
msgid " -a|pipe \"ispell -a\" compatibility mode"
msgstr ""
-#: prog/aspell.cpp:2805
+#: prog/aspell.cpp:2810
msgid " [dump] config dumps the current configuration to stdout"
msgstr ""
-#: prog/aspell.cpp:2806
+#: prog/aspell.cpp:2811
msgid " config <key> prints the current value of an option"
msgstr ""
-#: prog/aspell.cpp:2807
+#: prog/aspell.cpp:2812
msgid " [dump] dicts | filters | modes"
msgstr ""
-#: prog/aspell.cpp:2808
+#: prog/aspell.cpp:2813
msgid " lists available dictionaries / filters / filter modes"
msgstr ""
-#: prog/aspell.cpp:2809
+#: prog/aspell.cpp:2814
msgid "[options] is any of the following:"
msgstr ""
-#: prog/aspell.cpp:2822
-msgid ""
-" list produce a list of misspelled words from standard input"
+#: prog/aspell.cpp:2827
+msgid " list produce a list of misspelled words from standard input"
msgstr ""
-#: prog/aspell.cpp:2825
-msgid ""
-" soundslike returns the sounds like equivalent for each word entered"
+#: prog/aspell.cpp:2830
+msgid " soundslike returns the sounds like equivalent for each word entered"
msgstr ""
-#: prog/aspell.cpp:2826
+#: prog/aspell.cpp:2831
msgid " munch generate possible root words and affixes"
msgstr ""
-#: prog/aspell.cpp:2827
+#: prog/aspell.cpp:2832
msgid " expand [1-4] expands affix flags"
msgstr ""
-#: prog/aspell.cpp:2828
-msgid ""
-" clean [strict] cleans a word list so that every line is a valid word"
+#: prog/aspell.cpp:2833
+msgid " clean [strict] cleans a word list so that every line is a valid word"
msgstr ""
-#: prog/aspell.cpp:2830
+#: prog/aspell.cpp:2835
msgid " -v|version prints a version line"
msgstr ""
-#: prog/aspell.cpp:2831
+#: prog/aspell.cpp:2836
msgid " munch-list [simple] [single|multi] [keep]"
msgstr ""
-#: prog/aspell.cpp:2832
+#: prog/aspell.cpp:2837
msgid " reduce the size of a word list via affix compression"
msgstr ""
-#: prog/aspell.cpp:2833
+#: prog/aspell.cpp:2838
msgid " conv <from> <to> [<norm-form>]"
msgstr ""
-#: prog/aspell.cpp:2834
+#: prog/aspell.cpp:2839
msgid " converts from one encoding to another"
msgstr ""
-#: prog/aspell.cpp:2835
+#: prog/aspell.cpp:2840
msgid " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
msgstr ""
-#: prog/aspell.cpp:2836
+#: prog/aspell.cpp:2841
#, fuzzy
msgid " perform Unicode normalization"
msgstr "фаъол сохтани муқаррарияти Юникод"
-#: prog/aspell.cpp:2839
+#: prog/aspell.cpp:2844
msgid " dump|create|merge master|personal|repl [<name>]"
msgstr ""
-#: prog/aspell.cpp:2840
-msgid ""
-" dumps, creates or merges a master, personal, or replacement dictionary."
+#: prog/aspell.cpp:2845
+msgid " dumps, creates or merges a master, personal, or replacement dictionary."
msgstr ""
#. TRANSLATORS: "none", "internal" and "strict" are literal values
#. and should not be translated.
-#: prog/aspell.cpp:2844
-msgid ""
-" <norm-form> normalization form to use, either none, internal, or "
-"strict"
+#: prog/aspell.cpp:2849
+msgid " <norm-form> normalization form to use, either none, internal, or strict"
msgstr ""
-#: prog/aspell.cpp:2854
+#: prog/aspell.cpp:2859
#, c-format
msgid ""
"\n"
"\n"
msgstr ""
-#: prog/aspell.cpp:2888
+#: prog/aspell.cpp:2893
msgid ""
"Available Dictionaries:\n"
" Dictionaries can be selected directly via the \"-d\" or \"master\"\n"
" \"variety\", and \"size\" options.\n"
msgstr ""
-#: prog/aspell.cpp:2909
+#: prog/aspell.cpp:2914
msgid ""
"Available Filters (and associated options):\n"
" Filters can be added or removed via the \"filter\" option.\n"
msgstr ""
-#: prog/aspell.cpp:2916
+#: prog/aspell.cpp:2921
#, c-format
msgid ""
"\n"
msgstr ""
#. TRANSLATORS: This should be formated to fit in 80 column or less
-#: prog/aspell.cpp:2933
+#: prog/aspell.cpp:2938
msgid ""
"Available Filter Modes:\n"
" Filter Modes are reconfigured combinations of filters optimized for\n"
#: modules/speller/default/language.cpp:494
#: modules/speller/default/language.cpp:503
#, c-format
-msgid ""
-"The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgid "The character '%s' (U+%02X) must be followed by an alphabetic character."
msgstr ""
#: modules/speller/default/language.cpp:496
msgstr "Ишораи '%s' наметавонад дар байни калима пайдо шавад."
#: modules/speller/default/language.cpp:508
-msgid ""
-"The character '\\r' (U+0D) may not appear at the end of a word. This "
-"probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgid "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
msgstr ""
#: modules/speller/default/language.cpp:511
msgid "Warning: Removing inapplicable affix '%s' from word %s.\n"
msgstr ""
-#: modules/speller/default/language.cpp:674
+#: modules/speller/default/language.cpp:675
#, c-format
msgid "Warning: %s Skipping string.\n"
msgstr ""
-#: modules/speller/default/language.cpp:732
+#: modules/speller/default/language.cpp:733
#, fuzzy
msgid "The total length is larger than 240 characters."
msgstr "Умуман дарозии калима аз 240 ишора зиёд аст."
-#: modules/speller/default/language.cpp:736
+#: modules/speller/default/language.cpp:737
#, c-format
msgid "Warning: %s Skipping word.\n"
msgstr ""
msgstr "аффикс '%s' вайрон аст, мумкин ҳисоби нодуруст бошад"
#: modules/speller/default/readonly_ws.cpp:362
+msgid "Incompatible hash function."
+msgstr ""
+
+#: modules/speller/default/readonly_ws.cpp:440
msgid "Wrong endian order."
msgstr "Тартиботи нодурусти endian."
-#: modules/speller/default/readonly_ws.cpp:385
+#: modules/speller/default/readonly_ws.cpp:463
msgid "Wrong soundslike."
msgstr "Soundslike-и нодуруст."
-#: modules/speller/default/readonly_ws.cpp:391
+#: modules/speller/default/readonly_ws.cpp:469
msgid "Wrong soundslike version."
msgstr "Ривояти нодурусти soundslike."
-#: modules/speller/default/readonly_ws.cpp:853
+#: modules/speller/default/readonly_ws.cpp:934
msgid "Affix flags found in word but no affix file given."
-msgstr ""
-"Дар калима байрақҳои аффикс ёфт шуд ва лекин аффикси файл ишора нашудааст."
+msgstr "Дар калима байрақҳои аффикс ёфт шуд ва лекин аффикси файл ишора нашудааст."
-#: modules/speller/default/readonly_ws.cpp:891
-msgid ""
-"The total word length, with soundslike data, is larger than 240 characters."
+#: modules/speller/default/readonly_ws.cpp:972
+msgid "The total word length, with soundslike data, is larger than 240 characters."
msgstr "Умуман дарозии калима аз 240 ишора зиёд аст."
#: modules/speller/default/multi_ws.cpp:58
msgid "HTML tags to always skip the contents of"
msgstr "ҳадафи sgml он аст, ки барои доим партоиши оканае мебошад аз "
+#: modules/filter/markdown-filter.info:8
+#, fuzzy
+msgid "filter for Markdown/CommonMark documents"
+msgstr "филтр барои дарёфти фармоноти TeX/LaTeX"
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
+msgstr ""
+
#: modules/filter/nroff-filter.info:7
#, fuzzy
msgid "filter for dealing with Nroff documents"
#: modules/filter/texinfo-filter.info:13
#, fuzzy
+#| msgid "ignore commands to store replacement pairs"
msgid "Texinfo commands to ignore the parameters of"
msgstr "аҳамият надодани фармониятҳо барои нигоҳ доштани иввази ду адад"
msgid "mode for checking HTML documents"
msgstr "филтр барои дарёфти фармоноти TeX/LaTeX"
+#: modules/filter/modes/markdown.amf:10
+#, fuzzy
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr "филтр барои дарёфти фармоноти TeX/LaTeX"
+
#: modules/filter/modes/none.amf:5
msgid "mode to disable all filters"
msgstr ""
#~ msgstr ""
#~ "\n"
#~ " %s филтр: %s\n"
-#~ " ТАВАҶҶӮЪ: дар ҳолати номуайян префикс аз паси интихоботгоҳ монанди"
-#~ "\"filter-\" хоҳад рафт\n"
+#~ " ТАВАҶҶӮЪ: дар ҳолати номуайян префикс аз паси интихоботгоҳ монанди\"filter-\" хоҳад рафт\n"
#~ msgid "enter Html/Sgml mode."
#~ msgstr "гузаштан ба тартиботи Html/Sgml"
#~ " and help for filters matching <expr> if installed\n"
#~ " -c|check <file> to check a file\n"
#~ " -a|pipe \"ispell -a\" compatibility mode\n"
-#~ " list produce a list of misspelled words from standard "
-#~ "input\n"
+#~ " list produce a list of misspelled words from standard input\n"
#~ " [dump] config [-e <expr>] dumps the current configuration to stdout\n"
#~ " config [+e <expr>] <key> prints the current value of an option\n"
-#~ " soundslike returns the sounds like equivalent for each word "
-#~ "entered\n"
+#~ " soundslike returns the sounds like equivalent for each word entered\n"
#~ " munch generate possible root words and affixes\n"
#~ " expand [1-4] expands affix flags\n"
#~ " clean [strict] cleans a word list so that every line is a valid word\n"
#~ " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]\n"
#~ " perform unicode normlization\n"
#~ " dump|create|merge master|personal|repl [word list]\n"
-#~ " dumps, creates or merges a master, personal, or replacement word "
-#~ "list.\n"
+#~ " dumps, creates or merges a master, personal, or replacement word list.\n"
#~ "\n"
#~ " <expr> regular expression matching filtername(s) or \"all\"\n"
-#~ " <norm-form> normalization form to use, either none, internal, or "
-#~ "strict\n"
+#~ " <norm-form> normalization form to use, either none, internal, or strict\n"
#~ "\n"
#~ "[options] is any of the following:\n"
#~ "\n"
#~ "\n"
#~ "<фармонот> яке аз:\n"
#~ " -?|help [<ифода>] хулосаи ин иттилооти справка\n"
-#~ " ва справка ба филтрҳое, ки бо <ифода> рост меояд, агар "
-#~ "ба қобили танзими\n"
+#~ " ва справка ба филтрҳое, ки бо <ифода> рост меояд, агар ба қобили танзими\n"
#~ " -c|check <файл> тафтиши файл\n"
#~ " -a|pipe тартиботи ростоӣ бо \"ispell -a\"\n"
-#~ " -l|list сохтани рӯйхати калимаҳо ба хатои аз вурудоти "
-#~ "стандартӣ\n"
-#~ " [dump] config [-e <ифода>] dump-и раванди танзимот ба хулосаи "
-#~ "стандартӣ\n"
+#~ " -l|list сохтани рӯйхати калимаҳо ба хатои аз вурудоти стандартӣ\n"
+#~ " [dump] config [-e <ифода>] dump-и раванди танзимот ба хулосаи стандартӣ\n"
#~ " config [+e <ифода>] <калид> хулосаи раванди маънавияти интихоботгоҳ\n"
-#~ " soundslike баргардонидани эквиваленти овозмонанд барои ҳар як "
-#~ "калимаи вуруд карда шуда\n"
+#~ " soundslike баргардонидани эквиваленти овозмонанд барои ҳар як калимаи вуруд карда шуда\n"
#~ " munch сохтани калимаҳои решагӣ ва аффиксҳои эҳтимолӣ\n"
#~ " expand [1-4] вусъати байрақҳои аффикс\n"
#~ " filter гузаронидани вурудияти стандартӣ аз филтрҳо\n"
#~ " -v|version хулосаи сатри раванди\n"
#~ " dump|create|merge master|personal|repl [рӯйхати калимаҳо]\n"
-#~ " dump, сохтан ё пайвастонидании асос, шахсӣ ёки бо иввази рӯйхати "
-#~ "калимаҳо.\n"
+#~ " dump, сохтан ё пайвастонидании асос, шахсӣ ёки бо иввази рӯйхати калимаҳо.\n"
#~ "\n"
-#~ " <ифода> ифодаи мунтазаме, ки бо номҳои филтр муқоиса мекунад "
-#~ "ёки\"all\"\n"
+#~ " <ифода> ифодаи мунтазаме, ки бо номҳои филтр муқоиса мекунад ёки\"all\"\n"
#~ "\n"
#~ "[интихоботгоҳ] ягонтаи аз дигарҳо:\n"
#~ "\n"
#~ msgstr "%where:1: %filter:2: наметавонад тасовироти интихоботгоҳро ёбад."
#~ msgid "%where:1: \"%filter:2\" Line %line:3 confused by version control"
-#~ msgstr ""
-#~ "%where:1: \"%filter:2\" Сатри %line:3 ҳолати тафтиши ривоят барҳам дода "
-#~ "истодааст"
+#~ msgstr "%where:1: \"%filter:2\" Сатри %line:3 ҳолати тафтиши ривоят барҳам дода истодааст"
-#~ msgid ""
-#~ "%where:1: \"%filter:2\" error while extending Aspell options. (out of "
-#~ "memory?)"
-#~ msgstr ""
-#~ "%where:1: \"%filter:2\" хатогӣ ҳолати вусъати интихоботгоҳи Aspell "
-#~ "(норасоии хотира?)"
+#~ msgid "%where:1: \"%filter:2\" error while extending Aspell options. (out of memory?)"
+#~ msgstr "%where:1: \"%filter:2\" хатогӣ ҳолати вусъати интихоботгоҳи Aspell (норасоии хотира?)"
#, fuzzy
#~ msgid "\"%file:1: \"%line:2:"
# Copyright (C) 2004 Kevin Atkinson
# Copyright (C) 2004 Free Software Foundation, Inc.
# This file is distributed under the same license as the aspell package.
-# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2006-2007.
#
+# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2006-2007.
+# Yuri Chornoivan <yurchor@ukr.net>, 2011.
msgid ""
msgstr ""
-"Project-Id-Version: aspell 0.60.5\n"
+"Project-Id-Version: aspell 0.60.7\n"
"Report-Msgid-Bugs-To: kevina@gnu.org\n"
-"POT-Creation-Date: 2011-07-04 03:25-0600\n"
-"PO-Revision-Date: 2007-02-05 19:03+0200\n"
-"Last-Translator: Maxim V. Dziumanenko <dziumanenko@gmail.com>\n"
+"POT-Creation-Date: 2019-07-29 02:38-0400\n"
+"PO-Revision-Date: 2011-07-08 18:44+0300\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
+"Language: uk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Lokalize 1.2\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
#: common/info.cpp:232
msgid "a number between 0 and 1"
msgid "ASPELL_CONF env var"
msgstr "змінна оточення ASPELL_CONF"
-#. TRANSLATORS: The remaing strings in config.cpp should be kept
+#. TRANSLATORS: The remaining strings in config.cpp should be kept
#. under 50 characters, begin with a lower case character and not
#. include any trailing punctuation marks.
#: common/config.cpp:1360
msgid "time load time and suggest time in pipe mode"
msgstr "час завантаження та час пропозиції у pipe-режимі"
-#: common/convert.cpp:303 common/convert.cpp:429
+#: common/convert.cpp:303 common/convert.cpp:497
#, c-format
-msgid ""
-"This could also mean that the file \"%s\" could not be opened for reading or "
-"does not exist."
-msgstr ""
-"Це також може означати, що файл \"%s\" не може бути відкритий для читання, "
-"або не існує."
+msgid "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
+msgstr "Це також може означати, що файл \"%s\" не може бути відкритий для читання, або не існує."
-#: common/convert.cpp:552 common/convert.cpp:659 common/convert.cpp:705
+#: common/convert.cpp:582 common/convert.cpp:689 common/convert.cpp:735
#, c-format
msgid "The Unicode code point U+%04X is unsupported."
msgstr "Символ Юнікоду U+%04X не підтримується."
-#: common/convert.cpp:829
+#: common/convert.cpp:859
#, c-format
msgid "Invalid UTF-8 sequence at position %ld."
msgstr "Неправильна послідовність UTF-8 у позиції %ld."
msgstr "Ключ \"%key:1\" не %accepted:2, тому він не дійсний."
#: common/errors.cpp:147
-msgid ""
-"The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%"
-"key:1\"."
-msgstr ""
-"Значення \"%value:2\" не %accepted:3, тому воно не дійсне для ключа \"%key:1"
-"\"."
+msgid "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
+msgstr "Значення \"%value:2\" не %accepted:3, тому воно не дійсне для ключа \"%key:1\"."
#: common/errors.cpp:163
msgid "The key \"%key:1\" is not a string."
msgstr "Ключ \"%key:1\" не є списком."
#: common/errors.cpp:195
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"reset-"
-"\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
msgstr "Ключ \"%key:1\" не допускає ніяких параметрів з префіксом \"reset-\"."
#: common/errors.cpp:203
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by an \"enable-"
-"\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by an \"enable-\"."
msgstr "Ключ \"%key:1\" не допускає ніяких параметрів з префіксом \"enable-\"."
#: common/errors.cpp:211
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" "
-"or \"disable-\"."
-msgstr ""
-"Ключ \"%key:1\" не допускає ніяких параметрів з префіксом \"dont-\" чи "
-"\"disable-\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
+msgstr "Ключ \"%key:1\" не допускає ніяких параметрів з префіксом \"dont-\" чи \"disable-\"."
#: common/errors.cpp:219
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"clear-"
-"\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
msgstr "Ключ \"%key:1\" не допускає ніяких параметрів з префіксом \"clear-\"."
#: common/errors.cpp:235
#: common/errors.cpp:299
#, c-format
-msgid ""
-"The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be "
-"stripped."
-msgstr ""
-"Умова \"%cond:1\" не гарантує, що \"%strip:2\" завжди може бути розділений."
+msgid "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
+msgstr "Умова \"%cond:1\" не гарантує, що \"%strip:2\" завжди може бути розділений."
#: common/errors.cpp:307
#, c-format
-msgid ""
-"The file \"%file:1\" is not in the proper format. Expected the file to be in "
-"\"%exp:2\" not \"%got:3\"."
-msgstr ""
-"Файл \"%file:1\" має неправильний формат. Очікувалось, що файл буде \"%exp:2"
-"\", а не \"%got:3\"."
+msgid "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
+msgstr "Файл \"%file:1\" має неправильний формат. Очікувалось, що файл буде \"%exp:2\", а не \"%got:3\"."
#: common/errors.cpp:323
#, c-format
#: common/errors.cpp:635
#, c-format
msgid "\"%mode:1\" error while extend Aspell modes. (out of memory?)"
-msgstr ""
-"\"%mode:1\" помилка при розширенні режимів Aspell. (недостатньо пам'яті?)"
+msgstr "\"%mode:1\" помилка при розширенні режимів Aspell. (недостатньо пам'яті?)"
#: common/errors.cpp:651
#, c-format
msgid "\"%mode:1\": no start for magic search given for magic \"%magic:2\"."
-msgstr ""
-"\"%mode:1\": немає початку для пошуку magic, заданого для magic \"%magic:2\"."
+msgstr "\"%mode:1\": немає початку для пошуку magic, заданого для magic \"%magic:2\"."
#: common/errors.cpp:659
#, c-format
msgid "\"%mode:1\": no range for magic search given for magic \"%magic:2\"."
-msgstr ""
-"\"%mode:1\": немає діапазону для пошуку magic, заданого для magic \"%magic:2"
-"\"."
+msgstr "\"%mode:1\": немає діапазону для пошуку magic, заданого для magic \"%magic:2\"."
#: common/errors.cpp:667
#, c-format
msgstr "\"%mode:1\": немає наявного виразу magic, для magic \"%magic:2\"."
#: common/errors.cpp:675
-msgid ""
-"\"%mode:1\": Magic \"%magic:2\": bad regular expression after location "
-"specifier; regexp reports: \"%regerr:3\"."
-msgstr ""
-"\"%mode:1\": Magic \"%magic:2\": неправильний регулярний вираз після "
-"вказівника розташування; regexp повернув: \"%regerr:3\"."
+msgid "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
+msgstr "\"%mode:1\": Magic \"%magic:2\": неправильний регулярний вираз після вказівника розташування; regexp повернув: \"%regerr:3\"."
#: common/errors.cpp:691
#, c-format
msgid "Unhandled Error: "
msgstr "Необроблена помилка: "
-#: prog/aspell.cpp:97
+#: prog/aspell.cpp:98
#, c-format
msgid "Error: %s\n"
msgstr "Помилка: %s\n"
-#: prog/aspell.cpp:102
+#: prog/aspell.cpp:103
msgid "Error: "
msgstr "Помилка: "
-#: prog/aspell.cpp:203
+#: prog/aspell.cpp:204
msgid "enter Email mode."
msgstr "перехід у режим Email."
-#: prog/aspell.cpp:204
+#: prog/aspell.cpp:205
msgid "enter HTML mode."
msgstr "перехід у режим HTML."
-#: prog/aspell.cpp:205
+#: prog/aspell.cpp:206
msgid "enter TeX mode."
msgstr "перехід у режим TeX."
-#: prog/aspell.cpp:206
+#: prog/aspell.cpp:207
msgid "enter Nroff mode."
msgstr "перехід у режим Nroff."
-#: prog/aspell.cpp:312
+#: prog/aspell.cpp:313
#, c-format
msgid "Invalid Option: %s"
msgstr "Неправильний параметр: %s"
-#: prog/aspell.cpp:319
+#: prog/aspell.cpp:320
msgid " does not take any parameters."
msgstr " не допускає ніяких параметрів."
-#: prog/aspell.cpp:332 prog/aspell.cpp:392
+#: prog/aspell.cpp:333 prog/aspell.cpp:393
#, c-format
msgid "You must specify a parameter for \"%s\"."
msgstr "Необхідно вказати параметр для \"%s\"."
-#: prog/aspell.cpp:381
+#: prog/aspell.cpp:382
msgid "You must specify an action"
msgstr "Необхідно вказати дію"
-#: prog/aspell.cpp:389 prog/aspell.cpp:452 prog/aspell.cpp:474
+#: prog/aspell.cpp:390 prog/aspell.cpp:453 prog/aspell.cpp:475
#, c-format
msgid "Unknown Action: %s"
msgstr "Невідома дія: %s"
-#: prog/aspell.cpp:395
+#: prog/aspell.cpp:396
#, c-format
msgid "Error: You must specify at least %d parameters for \"%s\".\n"
msgstr "Помилка: Необхідно вказати принаймні %d параметрів для \"%s\".\n"
-#: prog/aspell.cpp:637
+#: prog/aspell.cpp:638
msgid "Invalid Input"
msgstr "Неправильні вхідні дані"
-#: prog/aspell.cpp:710
+#: prog/aspell.cpp:711
#, c-format
msgid "WARNING: Unable to enter Nroff mode: %s\n"
msgstr "ПОПЕРЕДЖЕННЯ: Не вдається увійти у режим Nroff: %s\n"
-#: prog/aspell.cpp:731
+#: prog/aspell.cpp:732
msgid "Time to load word list: "
msgstr "Час завантаження списку слів: "
-#: prog/aspell.cpp:929
+#: prog/aspell.cpp:930
#, c-format
msgid "Suggestion Time: %f\n"
msgstr "Час пропонування: %f\n"
-#: prog/aspell.cpp:972
+#: prog/aspell.cpp:973
msgid "You must specify a file name."
msgstr "Необхідно вказати назву файла."
-#: prog/aspell.cpp:975
+#: prog/aspell.cpp:976
msgid "Only one file name may be specified."
msgstr "Можна вказувати лише один файл."
-#: prog/aspell.cpp:985
+#: prog/aspell.cpp:986
#, c-format
msgid "Could not open the file \"%s\" for reading"
msgstr "Не вдається відкрити файл \"%s\" для читання"
-#: prog/aspell.cpp:998
+#: prog/aspell.cpp:999
#, c-format
msgid "Invalid keymapping: %s"
msgstr "Неправильна розкладка клавіатури: %s"
-#: prog/aspell.cpp:1020
+#: prog/aspell.cpp:1014
+#, fuzzy, c-format
+#| msgid "\"%expression:1\" is not a valid regular expression."
+msgid "\"%s\" is not a regular file"
+msgstr "\"%expression:1\" не є правильним регулярним виразом."
+
+#: prog/aspell.cpp:1025
#, c-format
msgid "Could not open the file \"%s\" for writing. File not saved."
msgstr "Не вдається відкрити файл \"%s\" для запису. Файл не збережено."
-#: prog/aspell.cpp:1033
+#: prog/aspell.cpp:1038
msgid "Ignore"
msgstr "Ігнорувати"
-#: prog/aspell.cpp:1034
+#: prog/aspell.cpp:1039
msgid "Ignore all"
msgstr "Ігнорувати все"
-#: prog/aspell.cpp:1035
+#: prog/aspell.cpp:1040
msgid "Replace"
msgstr "Замінити"
-#: prog/aspell.cpp:1036
+#: prog/aspell.cpp:1041
msgid "Replace all"
msgstr "Замінити все"
-#: prog/aspell.cpp:1037
+#: prog/aspell.cpp:1042
msgid "Add"
msgstr "Додати"
-#: prog/aspell.cpp:1038
+#: prog/aspell.cpp:1043
msgid "Add Lower"
msgstr "Додати нижн.рег"
-#: prog/aspell.cpp:1039
+#: prog/aspell.cpp:1044
msgid "Abort"
msgstr "Перервати"
-#: prog/aspell.cpp:1040
+#: prog/aspell.cpp:1045
msgid "Exit"
msgstr "Вийти"
-#: prog/aspell.cpp:1116
+#: prog/aspell.cpp:1121
msgid "Are you sure you want to abort (y/n)? "
msgstr "Ви впевнені, що бажаєте перервати (y/n)?"
#. TRANSLATORS: The user may input any of these characters to say "yes".
#. MUST ONLY CONSIST OF ASCII CHARACTERS.
-#: prog/aspell.cpp:1120
+#: prog/aspell.cpp:1125
msgid "Yy"
msgstr "Yy"
-#: prog/aspell.cpp:1148
+#: prog/aspell.cpp:1153
msgid "With: "
msgstr "На: "
-#: prog/aspell.cpp:1165
+#: prog/aspell.cpp:1170
msgid "Sorry that is an invalid choice!"
msgstr "Вибачте, це некоректний вибір!"
-#: prog/aspell.cpp:1386
+#: prog/aspell.cpp:1391
msgid "Sorry \"filter\" is currently unimplemented.\n"
msgstr "Функція \"filter\" наразі не реалізована.\n"
-#: prog/aspell.cpp:1520
+#: prog/aspell.cpp:1525
msgid "Can't merge a master word list yet. Sorry."
msgstr "Поки-що не можна об'єднати головний список слів."
-#: prog/aspell.cpp:1544
+#: prog/aspell.cpp:1549
msgid "Sorry \"create/merge personal\" is currently unimplemented.\n"
msgstr "Функція \"create/merge personal\" наразі не реалізована.\n"
-#: prog/aspell.cpp:1553 prog/aspell.cpp:1609
+#: prog/aspell.cpp:1558 prog/aspell.cpp:1614
#, c-format
msgid "Sorry I won't overwrite \"%s\""
msgstr "Файл \"%s\" не буде перезаписаний"
-#: prog/aspell.cpp:1600
+#: prog/aspell.cpp:1605
msgid "Sorry \"create/merge repl\" is currently unimplemented.\n"
msgstr "Функція \"create/merge repl\" наразі не реалізована.\n"
-#: prog/aspell.cpp:1872
+#: prog/aspell.cpp:1877
#, c-format
msgid "\"%s\" is not a valid flag for the \"munch-list\" command."
msgstr "\"%s\" не є правильним ключем для команди \"munch-list\"."
#. TRANSLATORS: These should all be formated to fit in 80 column or
#. less
-#: prog/aspell.cpp:2799
+#: prog/aspell.cpp:2804
msgid "Usage: aspell [options] <command>"
msgstr "Використання: aspell [параметри] <команда>"
-#: prog/aspell.cpp:2800
+#: prog/aspell.cpp:2805
msgid "<command> is one of:"
msgstr "<команда> одна з:"
-#: prog/aspell.cpp:2801
+#: prog/aspell.cpp:2806
msgid " -?|usage display a brief usage message"
msgstr " -?|usage вивести коротке повідомлення про використання"
-#: prog/aspell.cpp:2802
+#: prog/aspell.cpp:2807
msgid " help display a detailed help message"
msgstr " help вивести докладну довідку"
-#: prog/aspell.cpp:2803
+#: prog/aspell.cpp:2808
msgid " -c|check <file> to check a file"
msgstr " -c|check <файл> перевірка файлу"
-#: prog/aspell.cpp:2804
+#: prog/aspell.cpp:2809
msgid " -a|pipe \"ispell -a\" compatibility mode"
msgstr " -a|pipe режим сумісності \"ispell -a\""
-#: prog/aspell.cpp:2805
+#: prog/aspell.cpp:2810
msgid " [dump] config dumps the current configuration to stdout"
-msgstr ""
-" [dump] config вивід дампу поточної конфігурації у стандартний вивід"
+msgstr " [dump] config вивід дампу поточної конфігурації у стандартний вивід"
-#: prog/aspell.cpp:2806
+#: prog/aspell.cpp:2811
msgid " config <key> prints the current value of an option"
msgstr " config <ключ> вивід поточного значення параметра"
-#: prog/aspell.cpp:2807
+#: prog/aspell.cpp:2812
msgid " [dump] dicts | filters | modes"
msgstr " [dump] dicts | filters | modes"
-#: prog/aspell.cpp:2808
+#: prog/aspell.cpp:2813
msgid " lists available dictionaries / filters / filter modes"
msgstr " перелік доступних словників / фільтрів / режимів фільтрів"
-#: prog/aspell.cpp:2809
+#: prog/aspell.cpp:2814
msgid "[options] is any of the following:"
msgstr "[параметри] будь-які з наступних:"
-#: prog/aspell.cpp:2822
-msgid ""
-" list produce a list of misspelled words from standard input"
-msgstr ""
-" list створює перелік слів з помилками зі стандартного вводу"
+#: prog/aspell.cpp:2827
+msgid " list produce a list of misspelled words from standard input"
+msgstr " list створює перелік слів з помилками зі стандартного вводу"
-#: prog/aspell.cpp:2825
-msgid ""
-" soundslike returns the sounds like equivalent for each word entered"
-msgstr ""
-" soundslike повертає звуковий еквівалент для кожного виділеного слова"
+#: prog/aspell.cpp:2830
+msgid " soundslike returns the sounds like equivalent for each word entered"
+msgstr " soundslike повертає звуковий еквівалент для кожного виділеного слова"
-#: prog/aspell.cpp:2826
+#: prog/aspell.cpp:2831
msgid " munch generate possible root words and affixes"
msgstr " munch створює можливі корені слів та афіксів"
-#: prog/aspell.cpp:2827
+#: prog/aspell.cpp:2832
msgid " expand [1-4] expands affix flags"
msgstr " expand [1-4] розширює ознаки афіксів"
-#: prog/aspell.cpp:2828
-msgid ""
-" clean [strict] cleans a word list so that every line is a valid word"
-msgstr ""
-" clean [strict] очищує перелік слів, тобто кожний рядок - правильне слово"
+#: prog/aspell.cpp:2833
+msgid " clean [strict] cleans a word list so that every line is a valid word"
+msgstr " clean [strict] очищує перелік слів, тобто кожний рядок - правильне слово"
-#: prog/aspell.cpp:2830
+#: prog/aspell.cpp:2835
msgid " -v|version prints a version line"
msgstr " -v|version виводить номер версії"
-#: prog/aspell.cpp:2831
+#: prog/aspell.cpp:2836
msgid " munch-list [simple] [single|multi] [keep]"
msgstr " munch-list [simple] [single|multi] [keep]"
-#: prog/aspell.cpp:2832
+#: prog/aspell.cpp:2837
msgid " reduce the size of a word list via affix compression"
msgstr " зменшити розмір списку слів використовуючи affix-стиснення"
-#: prog/aspell.cpp:2833
+#: prog/aspell.cpp:2838
msgid " conv <from> <to> [<norm-form>]"
msgstr " conv <з> <у> [<норм-форма>]"
-#: prog/aspell.cpp:2834
+#: prog/aspell.cpp:2839
msgid " converts from one encoding to another"
msgstr " перетворює з одного кодування у інше"
-#: prog/aspell.cpp:2835
+#: prog/aspell.cpp:2840
msgid " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
msgstr " norm (<катра-норм> | <з> <карта-норм> <у>) [<форма-норм>]"
-#: prog/aspell.cpp:2836
+#: prog/aspell.cpp:2841
msgid " perform Unicode normalization"
msgstr " виконати нормалізацію Юнікоду"
-#: prog/aspell.cpp:2839
+#: prog/aspell.cpp:2844
msgid " dump|create|merge master|personal|repl [<name>]"
msgstr " dump|create|merge master|personal|repl [<назва>]"
-#: prog/aspell.cpp:2840
-msgid ""
-" dumps, creates or merges a master, personal, or replacement dictionary."
-msgstr ""
-" дамп, створення або об'єднання головного, особистого словників або "
-"словника замін."
+#: prog/aspell.cpp:2845
+msgid " dumps, creates or merges a master, personal, or replacement dictionary."
+msgstr " дамп, створення або об'єднання головного, особистого словників або словника замін."
#. TRANSLATORS: "none", "internal" and "strict" are literal values
#. and should not be translated.
-#: prog/aspell.cpp:2844
-msgid ""
-" <norm-form> normalization form to use, either none, internal, or "
-"strict"
-msgstr ""
-" <форма-норм> форма нормалізації, що вживається: none, internal, або "
-"strict"
+#: prog/aspell.cpp:2849
+msgid " <norm-form> normalization form to use, either none, internal, or strict"
+msgstr " <форма-норм> форма нормалізації, що вживається: none, internal, або strict"
-#: prog/aspell.cpp:2854
+#: prog/aspell.cpp:2859
#, c-format
msgid ""
"\n"
"\n"
msgstr ""
"\n"
-"Aspell %s. Copyright 2000-2011 by Kevin Atkinson.\n"
+"Aspell %s. ©Kevin Atkinson, 2000–2011.\n"
"\n"
-#: prog/aspell.cpp:2888
+#: prog/aspell.cpp:2893
msgid ""
"Available Dictionaries:\n"
" Dictionaries can be selected directly via the \"-d\" or \"master\"\n"
" Також вони вибираються непрямим способом, параметрами \"lang\",\n"
" \"variety\", та \"size\".\n"
-#: prog/aspell.cpp:2909
+#: prog/aspell.cpp:2914
msgid ""
"Available Filters (and associated options):\n"
" Filters can be added or removed via the \"filter\" option.\n"
"Наявні фільтри (та пов'язані з ними параметри):\n"
" Фільтри можна додавати та видаляти параметром \"filter\".\n"
-#: prog/aspell.cpp:2916
+#: prog/aspell.cpp:2921
#, c-format
msgid ""
"\n"
" %s фільтр: %s\n"
#. TRANSLATORS: This should be formated to fit in 80 column or less
-#: prog/aspell.cpp:2933
+#: prog/aspell.cpp:2938
msgid ""
"Available Filter Modes:\n"
" Filter Modes are reconfigured combinations of filters optimized for\n"
#: modules/speller/default/language.cpp:494
#: modules/speller/default/language.cpp:503
#, c-format
-msgid ""
-"The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgid "The character '%s' (U+%02X) must be followed by an alphabetic character."
msgstr "Після символу '%s' (U+%02X) повинен іти символ цифри чи букви."
#: modules/speller/default/language.cpp:496
msgstr "Символ '%s' (U+%02X) не може з'являтись у середині слова."
#: modules/speller/default/language.cpp:508
-msgid ""
-"The character '\\r' (U+0D) may not appear at the end of a word. This "
-"probably means means that the file is using MS-DOS EOL instead of Unix EOL."
-msgstr ""
-"Символ '\\r' (U+0D) не може з'являтись наприкінці слова. Можливо, це "
-"означає, що у файлі використовується символ кінця файлу MS-DOS, а не Unix."
+msgid "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgstr "Символ '\\r' (U+0D) не може з'являтись наприкінці слова. Можливо, це означає, що у файлі використовується символ кінця файлу MS-DOS, а не Unix."
#: modules/speller/default/language.cpp:511
#, c-format
msgid "Warning: Removing inapplicable affix '%s' from word %s.\n"
msgstr "Попередження: Видаляється непридатний афікс '%s' зі слова %s.\n"
-#: modules/speller/default/language.cpp:674
+#: modules/speller/default/language.cpp:675
#, c-format
msgid "Warning: %s Skipping string.\n"
msgstr "Попередження: %s Пропускається рядок.\n"
-#: modules/speller/default/language.cpp:732
+#: modules/speller/default/language.cpp:733
msgid "The total length is larger than 240 characters."
msgstr "Загальна довжина перевищує 240 символів."
-#: modules/speller/default/language.cpp:736
+#: modules/speller/default/language.cpp:737
#, c-format
msgid "Warning: %s Skipping word.\n"
msgstr "попередження: %s Пропускається слово.\n"
msgstr "Можливо, неправильний рахунок."
#: modules/speller/default/readonly_ws.cpp:362
+msgid "Incompatible hash function."
+msgstr "Несумісна функція хешування."
+
+#: modules/speller/default/readonly_ws.cpp:440
msgid "Wrong endian order."
msgstr "Неправильний порядок endian."
-#: modules/speller/default/readonly_ws.cpp:385
+#: modules/speller/default/readonly_ws.cpp:463
msgid "Wrong soundslike."
msgstr "Неправильний soundslike."
-#: modules/speller/default/readonly_ws.cpp:391
+#: modules/speller/default/readonly_ws.cpp:469
msgid "Wrong soundslike version."
msgstr "Неправильна версія soundslike."
-#: modules/speller/default/readonly_ws.cpp:853
+#: modules/speller/default/readonly_ws.cpp:934
msgid "Affix flags found in word but no affix file given."
msgstr "У слові знайдені ознаки афіксу, але файл афіксу не вказаний."
-#: modules/speller/default/readonly_ws.cpp:891
-msgid ""
-"The total word length, with soundslike data, is larger than 240 characters."
+#: modules/speller/default/readonly_ws.cpp:972
+msgid "The total word length, with soundslike data, is larger than 240 characters."
msgstr "Загальна довжина слів з даним soundslike перевищує 240 символів."
#: modules/speller/default/multi_ws.cpp:58
msgid "HTML tags to always skip the contents of"
msgstr "HTML теги, вміст яких завжди пропускається"
+#: modules/filter/markdown-filter.info:8
+#, fuzzy
+#| msgid "filter for dealing with Texinfo documents"
+msgid "filter for Markdown/CommonMark documents"
+msgstr "фільтр для роботи з документами Texinfo"
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
+msgstr ""
+
#: modules/filter/nroff-filter.info:7
msgid "filter for dealing with Nroff documents"
msgstr "фільтр для роботи з документами Nroff"
msgid "mode for checking HTML documents"
msgstr "режим для перевірки документів HTML"
+#: modules/filter/modes/markdown.amf:10
+#, fuzzy
+#| msgid "mode for checking Nroff documents"
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr "режим для перевірки документів Nroff"
+
#: modules/filter/modes/none.amf:5
msgid "mode to disable all filters"
msgstr "режим для відключення усіх фільтрів"
# Vietnamese translation of Aspell.
# Copyright © 2008 Kevin Atkinson
-# This file is distributed under the same license as the aspell-0.60.6 package.
+# Copyright © 2012 Free Software Foundation, Inc.
+# This file is distributed under the same license as the aspell package.
# Clytie Siddall <clytie@riverland.net.au>, 2006-2008.
-#
+# Trần Ngọc Quân <vnwildman@gmail.com>, 2012.
+#
msgid ""
msgstr ""
-"Project-Id-Version: aspell 0.60.6\n"
+"Project-Id-Version: aspell 0.60.7\n"
"Report-Msgid-Bugs-To: kevina@gnu.org\n"
-"POT-Creation-Date: 2011-07-04 03:25-0600\n"
-"PO-Revision-Date: 2008-05-02 16:43+0930\n"
-"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
+"POT-Creation-Date: 2019-07-29 02:38-0400\n"
+"PO-Revision-Date: 2012-03-13 14:59+0700\n"
+"Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
+"Language: vi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: LocFactoryEditor 1.7b3\n"
+"X-Poedit-Language: Vietnamese\n"
+"X-Poedit-Country: VIET NAM\n"
+"X-Poedit-SourceCharset: utf-8\n"
#: common/info.cpp:232
msgid "a number between 0 and 1"
msgid "ASPELL_CONF env var"
msgstr "ASPELL_CONF env var (biến môi trường cấu hình trình Aspell)"
-#. TRANSLATORS: The remaing strings in config.cpp should be kept
+#. TRANSLATORS: The remaining strings in config.cpp should be kept
#. under 50 characters, begin with a lower case character and not
#. include any trailing punctuation marks.
#: common/config.cpp:1360
msgid "time load time and suggest time in pipe mode"
msgstr "tính thời gian tải và thời gian góp ý khi trong chế độ ống dẫn"
-#: common/convert.cpp:303 common/convert.cpp:429
+#: common/convert.cpp:303 common/convert.cpp:497
#, c-format
-msgid ""
-"This could also mean that the file \"%s\" could not be opened for reading or "
-"does not exist."
-msgstr ""
-"Cũng có thể nghĩa là không thể mở tập tin « %s » để đọc, hoặc nó không tồn "
-"tại."
+msgid "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
+msgstr "Cũng có thể nghĩa là không thể mở tập tin « %s » để đọc, hoặc nó không tồn tại."
-#: common/convert.cpp:552 common/convert.cpp:659 common/convert.cpp:705
+#: common/convert.cpp:582 common/convert.cpp:689 common/convert.cpp:735
#, c-format
msgid "The Unicode code point U+%04X is unsupported."
msgstr "Điểm mã Unicode U+%04X không được hỗ trợ."
-#: common/convert.cpp:829
+#: common/convert.cpp:859
#, c-format
msgid "Invalid UTF-8 sequence at position %ld."
msgstr "Dãy UTF-8 không hợp lệ tại vị trí %ld."
msgstr "Khóa « %key:1 » không phải %accepted:2 thì không hợp lệ."
#: common/errors.cpp:147
-msgid ""
-"The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%"
-"key:1\"."
-msgstr ""
-"Giá trị « %value:2 » không phải %accepted:3 thì không hợp lệ đối với khóa « %"
-"key:1 »."
+msgid "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
+msgstr "Giá trị « %value:2 » không phải %accepted:3 thì không hợp lệ đối với khóa « %key:1 »."
#: common/errors.cpp:163
msgid "The key \"%key:1\" is not a string."
msgstr "Khóa « %key:1 » không phải là danh sách."
#: common/errors.cpp:195
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"reset-"
-"\"."
-msgstr ""
-"Khóa « %key:1 » không chấp nhận tham số khi có tiền tố « reset- » (lập lại)."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
+msgstr "Khóa « %key:1 » không chấp nhận tham số khi có tiền tố « reset- » (lập lại)."
#: common/errors.cpp:203
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by an \"enable-"
-"\"."
-msgstr ""
-"Khóa « %key:1 » không chấp nhận tham số nào khi có tiền tố « enable- » (hiệu "
-"lực)."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by an \"enable-\"."
+msgstr "Khóa « %key:1 » không chấp nhận tham số nào khi có tiền tố « enable- » (hiệu lực)."
#: common/errors.cpp:211
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" "
-"or \"disable-\"."
-msgstr ""
-"Khóa « %key:1 » không chấp nhận tham số khi có tiền tố « dont- » (đừng) hay "
-"« disable- » (tắt)."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
+msgstr "Khóa « %key:1 » không chấp nhận tham số khi có tiền tố « dont- » (đừng) hay « disable- » (tắt)."
#: common/errors.cpp:219
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"clear-"
-"\"."
-msgstr ""
-"Khóa « %key:1 » không chấp nhận tham số khi có tiền tố « clear- » (xóa)."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
+msgstr "Khóa « %key:1 » không chấp nhận tham số khi có tiền tố « clear- » (xóa)."
#: common/errors.cpp:235
#, c-format
#: common/errors.cpp:299
#, c-format
-msgid ""
-"The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be "
-"stripped."
-msgstr ""
-"Điều kiện « %cond:1 » không bảo đảm luôn luôn có thể tước « %strip:2 »."
+msgid "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
+msgstr "Điều kiện « %cond:1 » không bảo đảm luôn luôn có thể tước « %strip:2 »."
#: common/errors.cpp:307
#, c-format
-msgid ""
-"The file \"%file:1\" is not in the proper format. Expected the file to be in "
-"\"%exp:2\" not \"%got:3\"."
-msgstr ""
-"Tập tin « %file:1 » không co dạng thức đúng. Ngờ tập tin dạng « %exp:2 » "
-"không phải « %got:3 »."
+msgid "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
+msgstr "Tập tin « %file:1 » không co dạng thức đúng. Ngờ tập tin dạng « %exp:2 » không phải « %got:3 »."
#: common/errors.cpp:323
#, c-format
#: common/errors.cpp:651
#, c-format
msgid "\"%mode:1\": no start for magic search given for magic \"%magic:2\"."
-msgstr ""
-"« %mode:1 »: chưa đặt đầu tìm kiếm mã thuật đối với « %magic:2 » mã thuật."
+msgstr "« %mode:1 »: chưa đặt đầu tìm kiếm mã thuật đối với « %magic:2 » mã thuật."
#: common/errors.cpp:659
#, c-format
msgid "\"%mode:1\": no range for magic search given for magic \"%magic:2\"."
-msgstr ""
-"« %mode:1 »: chưa đặt phạm vị tìm kiếm mã thuật đối với « %magic:2 » mã "
-"thuật."
+msgstr "« %mode:1 »: chưa đặt phạm vị tìm kiếm mã thuật đối với « %magic:2 » mã thuật."
#: common/errors.cpp:667
#, c-format
msgid "\"%mode:1\": no magic expression available for magic \"%magic:2\"."
-msgstr ""
-"« %mode:1 »: không có biểu thức mã thuật sẵn sàng đối với « %magic:2 » mã "
-"thuật."
+msgstr "« %mode:1 »: không có biểu thức mã thuật sẵn sàng đối với « %magic:2 » mã thuật."
#: common/errors.cpp:675
-msgid ""
-"\"%mode:1\": Magic \"%magic:2\": bad regular expression after location "
-"specifier; regexp reports: \"%regerr:3\"."
-msgstr ""
-"« %mode:1 »: mã thuật « %magic:2 »: biểu thức chính quy sai nằm sau đồ ghi "
-"rõ địa điểm; regexp thông báo: « %regerr:3 »."
+msgid "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
+msgstr "« %mode:1 »: mã thuật « %magic:2 »: biểu thức chính quy sai nằm sau đồ ghi rõ địa điểm; regexp thông báo: « %regerr:3 »."
#: common/errors.cpp:691
#, c-format
msgid "Unhandled Error: "
msgstr "Lỗi không được quản lý: "
-#: prog/aspell.cpp:97
+#: prog/aspell.cpp:98
#, c-format
msgid "Error: %s\n"
msgstr "Lỗi: %s\n"
-#: prog/aspell.cpp:102
+#: prog/aspell.cpp:103
msgid "Error: "
msgstr "Lỗi: "
-#: prog/aspell.cpp:203
+#: prog/aspell.cpp:204
msgid "enter Email mode."
msgstr "vào chế độ thư điện tử."
-#: prog/aspell.cpp:204
+#: prog/aspell.cpp:205
msgid "enter HTML mode."
msgstr "vào chế độ HTML."
-#: prog/aspell.cpp:205
+#: prog/aspell.cpp:206
msgid "enter TeX mode."
msgstr "vào chế độ TeX."
-#: prog/aspell.cpp:206
+#: prog/aspell.cpp:207
msgid "enter Nroff mode."
msgstr "vào chế độ Nroff."
-#: prog/aspell.cpp:312
+#: prog/aspell.cpp:313
#, c-format
msgid "Invalid Option: %s"
msgstr "Tùy chọn không hợp lệ: %s"
-#: prog/aspell.cpp:319
+#: prog/aspell.cpp:320
msgid " does not take any parameters."
msgstr " không chấp nhận tham số."
-#: prog/aspell.cpp:332 prog/aspell.cpp:392
+#: prog/aspell.cpp:333 prog/aspell.cpp:393
#, c-format
msgid "You must specify a parameter for \"%s\"."
msgstr "Phải ghi rõ tham số đốí với « %s »."
-#: prog/aspell.cpp:381
+#: prog/aspell.cpp:382
msgid "You must specify an action"
msgstr "Phải ghi rõ hành động"
-#: prog/aspell.cpp:389 prog/aspell.cpp:452 prog/aspell.cpp:474
+#: prog/aspell.cpp:390 prog/aspell.cpp:453 prog/aspell.cpp:475
#, c-format
msgid "Unknown Action: %s"
msgstr "Không biết hành động: %s"
-#: prog/aspell.cpp:395
+#: prog/aspell.cpp:396
#, c-format
msgid "Error: You must specify at least %d parameters for \"%s\".\n"
msgstr "Lỗi: phải ghi rõ ít nhất %d tham số đối với « %s ».\n"
-#: prog/aspell.cpp:637
+#: prog/aspell.cpp:638
msgid "Invalid Input"
msgstr "Dữ liệu nhập không hợp lệ"
-#: prog/aspell.cpp:710
+#: prog/aspell.cpp:711
#, c-format
msgid "WARNING: Unable to enter Nroff mode: %s\n"
msgstr "CẢNH BÁO : không thể vào chế độ Nroff: %s\n"
-#: prog/aspell.cpp:731
+#: prog/aspell.cpp:732
msgid "Time to load word list: "
msgstr "Thòi gian tải danh sách từ: "
-#: prog/aspell.cpp:929
+#: prog/aspell.cpp:930
#, c-format
msgid "Suggestion Time: %f\n"
msgstr "Thời gian góp ý: %f\n"
-#: prog/aspell.cpp:972
+#: prog/aspell.cpp:973
msgid "You must specify a file name."
msgstr "Phải ghi rõ tên tập tin."
-#: prog/aspell.cpp:975
+#: prog/aspell.cpp:976
msgid "Only one file name may be specified."
msgstr "Có thể ghi rõ chỉ một tên tập tin thôi."
-#: prog/aspell.cpp:985
+#: prog/aspell.cpp:986
#, c-format
msgid "Could not open the file \"%s\" for reading"
msgstr "Không thể mở tập tin « %s » để đọc."
-#: prog/aspell.cpp:998
+#: prog/aspell.cpp:999
#, c-format
msgid "Invalid keymapping: %s"
msgstr "Ảnh xạ khóa không hợp lệ: %s"
-#: prog/aspell.cpp:1020
+#: prog/aspell.cpp:1014
+#, fuzzy, c-format
+#| msgid "\"%expression:1\" is not a valid regular expression."
+msgid "\"%s\" is not a regular file"
+msgstr "« %expression:1 » không phải là biểu thức chính quy hợp lệ."
+
+#: prog/aspell.cpp:1025
#, c-format
msgid "Could not open the file \"%s\" for writing. File not saved."
msgstr "Không thể mở tập tin « %s » để ghi nên chưa lưu tập tin."
-#: prog/aspell.cpp:1033
+#: prog/aspell.cpp:1038
msgid "Ignore"
msgstr "Bỏ qua"
-#: prog/aspell.cpp:1034
+#: prog/aspell.cpp:1039
msgid "Ignore all"
msgstr "Bỏ qua hết"
-#: prog/aspell.cpp:1035
+#: prog/aspell.cpp:1040
msgid "Replace"
msgstr "Thay thế"
-#: prog/aspell.cpp:1036
+#: prog/aspell.cpp:1041
msgid "Replace all"
msgstr "Thay thế hết"
-#: prog/aspell.cpp:1037
+#: prog/aspell.cpp:1042
msgid "Add"
msgstr "Thêm"
-#: prog/aspell.cpp:1038
+#: prog/aspell.cpp:1043
msgid "Add Lower"
msgstr "Thêm thấp hơn"
-#: prog/aspell.cpp:1039
+#: prog/aspell.cpp:1044
msgid "Abort"
msgstr "Hủy bỏ"
-#: prog/aspell.cpp:1040
+#: prog/aspell.cpp:1045
msgid "Exit"
msgstr "Thoát"
-#: prog/aspell.cpp:1116
+#: prog/aspell.cpp:1121
msgid "Are you sure you want to abort (y/n)? "
msgstr "Bạn có chắc muốn hủy bỏ không? (c/k) "
#. TRANSLATORS: The user may input any of these characters to say "yes".
#. MUST ONLY CONSIST OF ASCII CHARACTERS.
-#: prog/aspell.cpp:1120
+#: prog/aspell.cpp:1125
msgid "Yy"
msgstr "Cc"
-#: prog/aspell.cpp:1148
+#: prog/aspell.cpp:1153
msgid "With: "
msgstr "Với: "
-#: prog/aspell.cpp:1165
+#: prog/aspell.cpp:1170
msgid "Sorry that is an invalid choice!"
msgstr "Tiếc là lựa chọn đó không hợp lệ."
-#: prog/aspell.cpp:1386
+#: prog/aspell.cpp:1391
msgid "Sorry \"filter\" is currently unimplemented.\n"
msgstr "Tiếc là chưa thi hành khả năng « filter » (lọc).\n"
-#: prog/aspell.cpp:1520
+#: prog/aspell.cpp:1525
msgid "Can't merge a master word list yet. Sorry."
msgstr "Tiếc là chưa có thể phối danh sách từ chính."
-#: prog/aspell.cpp:1544
+#: prog/aspell.cpp:1549
msgid "Sorry \"create/merge personal\" is currently unimplemented.\n"
-msgstr ""
-"Tiếc là chưa thi hành khả năng « create/merge personal » (tạo/phối cá "
-"nhân).\n"
+msgstr "Tiếc là chưa thi hành khả năng « create/merge personal » (tạo/phối cá nhân).\n"
-#: prog/aspell.cpp:1553 prog/aspell.cpp:1609
+#: prog/aspell.cpp:1558 prog/aspell.cpp:1614
#, c-format
msgid "Sorry I won't overwrite \"%s\""
msgstr "Tiếc là không thể ghi đè « %s »"
-#: prog/aspell.cpp:1600
+#: prog/aspell.cpp:1605
msgid "Sorry \"create/merge repl\" is currently unimplemented.\n"
-msgstr ""
-"Tiếc là chưa thi hành khả năng « create/merge repl » (tạo/phối thay thế).\n"
+msgstr "Tiếc là chưa thi hành khả năng « create/merge repl » (tạo/phối thay thế).\n"
-#: prog/aspell.cpp:1872
+#: prog/aspell.cpp:1877
#, c-format
msgid "\"%s\" is not a valid flag for the \"munch-list\" command."
-msgstr ""
-"« %s » không phải là cờ hợp lệ đối với lệnh « munch-list » (nhai danh sách)."
+msgstr "« %s » không phải là cờ hợp lệ đối với lệnh « munch-list » (nhai danh sách)."
#. TRANSLATORS: These should all be formated to fit in 80 column or
#. less
-#: prog/aspell.cpp:2799
+#: prog/aspell.cpp:2804
msgid "Usage: aspell [options] <command>"
msgstr "Cách sử dụng: aspell [tùy_chọn ...] <lệnh>"
-#: prog/aspell.cpp:2800
+#: prog/aspell.cpp:2805
msgid "<command> is one of:"
msgstr "<lệnh> là một của :"
-#: prog/aspell.cpp:2801
+#: prog/aspell.cpp:2806
msgid " -?|usage display a brief usage message"
msgstr " -?|usage hiển thị thông điệp ngắn về _cách sử dụng_"
-#: prog/aspell.cpp:2802
+#: prog/aspell.cpp:2807
msgid " help display a detailed help message"
msgstr " help hiển thị thông điệp _trợ giup_ chi tiết"
-#: prog/aspell.cpp:2803
+#: prog/aspell.cpp:2808
msgid " -c|check <file> to check a file"
msgstr " -c|check <tập_tin> _kiểm tra_ tập tin này"
-#: prog/aspell.cpp:2804
+#: prog/aspell.cpp:2809
msgid " -a|pipe \"ispell -a\" compatibility mode"
msgstr " -a|pipe chế độ tương thích « ispell -a » (ống dẫn)"
-#: prog/aspell.cpp:2805
+#: prog/aspell.cpp:2810
msgid " [dump] config dumps the current configuration to stdout"
msgstr " [dump] config _đổ cấu hình_ hiện thời ra thiết bị xuất chuẩn"
-#: prog/aspell.cpp:2806
+#: prog/aspell.cpp:2811
msgid " config <key> prints the current value of an option"
-msgstr ""
-" config <khóa> in ra giá trị hiện thời của tùy chọn đó (_cấu hình_)"
+msgstr " config <khóa> in ra giá trị hiện thời của tùy chọn đó (_cấu hình_)"
-#: prog/aspell.cpp:2807
+#: prog/aspell.cpp:2812
msgid " [dump] dicts | filters | modes"
msgstr " [dump] dicts | filters | modes"
-#: prog/aspell.cpp:2808
+#: prog/aspell.cpp:2813
msgid " lists available dictionaries / filters / filter modes"
msgstr " liệt kê các từ điển / bộ lọc / chế độ lọc sẵn sàng"
-#: prog/aspell.cpp:2809
+#: prog/aspell.cpp:2814
msgid "[options] is any of the following:"
msgstr "[tùy_chọn ...] có thể:"
-#: prog/aspell.cpp:2822
-msgid ""
-" list produce a list of misspelled words from standard input"
-msgstr ""
-" list tạo _danh sách_ các từ sai chính tả từ thiết bị nhập chuẩn"
+#: prog/aspell.cpp:2827
+msgid " list produce a list of misspelled words from standard input"
+msgstr " list tạo _danh sách_ các từ sai chính tả từ thiết bị nhập chuẩn"
-#: prog/aspell.cpp:2825
-msgid ""
-" soundslike returns the sounds like equivalent for each word entered"
+#: prog/aspell.cpp:2830
+msgid " soundslike returns the sounds like equivalent for each word entered"
msgstr " soundslike trả lời điều _nghe như_ mỗi từ đã nhập"
-#: prog/aspell.cpp:2826
+#: prog/aspell.cpp:2831
msgid " munch generate possible root words and affixes"
msgstr " munch tạo ra từ gốc và affix (thêm vào) có thể (_nhai_)"
-#: prog/aspell.cpp:2827
+#: prog/aspell.cpp:2832
msgid " expand [1-4] expands affix flags"
msgstr " expand [1-4] _mở rộng_ cờ affix"
-#: prog/aspell.cpp:2828
-msgid ""
-" clean [strict] cleans a word list so that every line is a valid word"
+#: prog/aspell.cpp:2833
+msgid " clean [strict] cleans a word list so that every line is a valid word"
msgstr ""
" clean [strict] _xoá sạch_ danh sách từ để mỗi dòng là một từ hợp lệ\n"
"\t(_chính xác_)"
-#: prog/aspell.cpp:2830
+#: prog/aspell.cpp:2835
msgid " -v|version prints a version line"
msgstr " -v|version in ra dòng _phiên bản_"
-#: prog/aspell.cpp:2831
+#: prog/aspell.cpp:2836
msgid " munch-list [simple] [single|multi] [keep]"
msgstr ""
" munch-list [simple] [single|multi] [keep]\n"
"\t(nhai danh sách, đơn giản, đơn, đa, giữ)"
-#: prog/aspell.cpp:2832
+#: prog/aspell.cpp:2837
msgid " reduce the size of a word list via affix compression"
msgstr " giảm kích cỡ của danh sách từ bằng cách nén kiểu affix"
-#: prog/aspell.cpp:2833
+#: prog/aspell.cpp:2838
msgid " conv <from> <to> [<norm-form>]"
msgstr " conv <bảng mã này> <bảng mã khác> [<kiểu tiêu chuẩn>] (_chuyển đổi_)"
-#: prog/aspell.cpp:2834
+#: prog/aspell.cpp:2839
msgid " converts from one encoding to another"
msgstr " chuyển đổi từ bảng mã này sang bảng mã khác"
-#: prog/aspell.cpp:2835
+#: prog/aspell.cpp:2840
msgid " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
msgstr ""
" norm (<lược đồ tiêu chuẩn> | <điều này> <lược đồ tiêu chuẩn> <điều khác>)\n"
"\t[<kiểu tiêu chuẩn>]"
-#: prog/aspell.cpp:2836
+#: prog/aspell.cpp:2841
msgid " perform Unicode normalization"
msgstr " tiêu chuẩn hóa kiểu Unicode"
-#: prog/aspell.cpp:2839
+#: prog/aspell.cpp:2844
msgid " dump|create|merge master|personal|repl [<name>]"
msgstr " dump|create|merge master|personal|repl [<name>]"
-#: prog/aspell.cpp:2840
-msgid ""
-" dumps, creates or merges a master, personal, or replacement dictionary."
+#: prog/aspell.cpp:2845
+msgid " dumps, creates or merges a master, personal, or replacement dictionary."
msgstr " đổ, tạo hay hoà trộn từ điển kiểu chính, cá nhân hay thay thế"
#. TRANSLATORS: "none", "internal" and "strict" are literal values
#. and should not be translated.
-#: prog/aspell.cpp:2844
-msgid ""
-" <norm-form> normalization form to use, either none, internal, or "
-"strict"
+#: prog/aspell.cpp:2849
+msgid " <norm-form> normalization form to use, either none, internal, or strict"
msgstr ""
" <norm-form> _kiểu tiêu chuẩn hóa_ cần dùng, hoặc none (không có),\n"
"\tinternal (nội bộ), hay strict (chính xác)"
-#: prog/aspell.cpp:2854
+#: prog/aspell.cpp:2859
#, c-format
msgid ""
"\n"
"Aspell %s. Tác quyền © năm 2000-2011 của Kevin Atkinson.\n"
"\n"
-#: prog/aspell.cpp:2888
+#: prog/aspell.cpp:2893
msgid ""
"Available Dictionaries:\n"
" Dictionaries can be selected directly via the \"-d\" or \"master\"\n"
"hay « master » (chính). Cũng co thể chọn gián tiếp từ điển bằng\n"
"tùy chọn « lang » (ngôn ngữ), « variety » (loại), và « size » (kích cỡ).\n"
-#: prog/aspell.cpp:2909
+#: prog/aspell.cpp:2914
msgid ""
"Available Filters (and associated options):\n"
" Filters can be added or removed via the \"filter\" option.\n"
"Bộ lọc sẵn sàng (và tùy chọn tương ứng):\n"
" Có thể thêm hoặc gỡ bỏ bộ lọc bằng tùy chọn « filter » (lọc).\n"
-#: prog/aspell.cpp:2916
+#: prog/aspell.cpp:2921
#, c-format
msgid ""
"\n"
" %s lọc: %s\n"
#. TRANSLATORS: This should be formated to fit in 80 column or less
-#: prog/aspell.cpp:2933
+#: prog/aspell.cpp:2938
msgid ""
"Available Filter Modes:\n"
" Filter Modes are reconfigured combinations of filters optimized for\n"
#: modules/speller/default/language.cpp:494
#: modules/speller/default/language.cpp:503
#, c-format
-msgid ""
-"The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgid "The character '%s' (U+%02X) must be followed by an alphabetic character."
msgstr "Ký tự « %s » (U+%02X) phải có ký tự abc nằm sau nó."
#: modules/speller/default/language.cpp:496
msgstr "Không cho phép ký tự « %s » (U+%02X) nằm ở giữa trong từ."
#: modules/speller/default/language.cpp:508
-msgid ""
-"The character '\\r' (U+0D) may not appear at the end of a word. This "
-"probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgid "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
msgstr ""
"Không cho phép ký tự « \\r » (U+0D) kết thúc từ. Có thể nghĩa là tập tin\n"
"đó dùng ký tự kết thúc dòng kiểu MS-DOS thay thế kiểu Unix."
msgid "Warning: Removing inapplicable affix '%s' from word %s.\n"
msgstr "Cảnh báo : đang gỡ bỏ phụ tố không thể áp dụng « %s » ra từ %s.\n"
-#: modules/speller/default/language.cpp:674
+#: modules/speller/default/language.cpp:675
#, c-format
msgid "Warning: %s Skipping string.\n"
msgstr "Cảnh báo : %s đang bỏ qua chuỗi.\n"
-#: modules/speller/default/language.cpp:732
+#: modules/speller/default/language.cpp:733
msgid "The total length is larger than 240 characters."
msgstr "Tổng độ dài hơn 240 ký tự."
-#: modules/speller/default/language.cpp:736
+#: modules/speller/default/language.cpp:737
#, c-format
msgid "Warning: %s Skipping word.\n"
msgstr "Cảnh báo : %s đang bỏ qua từ.\n"
msgstr "Có lẽ số đếm không đúng."
#: modules/speller/default/readonly_ws.cpp:362
+msgid "Incompatible hash function."
+msgstr "Hàm băm không tương thích."
+
+#: modules/speller/default/readonly_ws.cpp:440
msgid "Wrong endian order."
msgstr "Thứ tự byte trong số đa byte không phải là đúng."
-#: modules/speller/default/readonly_ws.cpp:385
+#: modules/speller/default/readonly_ws.cpp:463
msgid "Wrong soundslike."
msgstr "Điều soundslike (nghe như) không đúng."
-#: modules/speller/default/readonly_ws.cpp:391
+#: modules/speller/default/readonly_ws.cpp:469
msgid "Wrong soundslike version."
msgstr "Phiên bản soundslike (nghe như) không đúng."
-#: modules/speller/default/readonly_ws.cpp:853
+#: modules/speller/default/readonly_ws.cpp:934
msgid "Affix flags found in word but no affix file given."
msgstr "Đã tìm cờ affix (phụ tố) trong từ nhưng không có tập tin affix đưa ra."
-#: modules/speller/default/readonly_ws.cpp:891
-msgid ""
-"The total word length, with soundslike data, is larger than 240 characters."
+#: modules/speller/default/readonly_ws.cpp:972
+msgid "The total word length, with soundslike data, is larger than 240 characters."
msgstr "Tổng độ dài từ, gồm dữ liệu soundslike (nghe như), hơn 240 ký tự."
#: modules/speller/default/multi_ws.cpp:58
msgid "HTML tags to always skip the contents of"
msgstr "thẻ HTML cần bỏ qua nội dung của chúng"
+#: modules/filter/markdown-filter.info:8
+#, fuzzy
+#| msgid "filter for dealing with Texinfo documents"
+msgid "filter for Markdown/CommonMark documents"
+msgstr "bộ lọc để xử lý tài liệu Texinfo"
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
+msgstr ""
+
#: modules/filter/nroff-filter.info:7
msgid "filter for dealing with Nroff documents"
msgstr "bộ lọc để xử lý tài liệu Nroff"
#: modules/filter/url-filter.info:7
msgid "filter to skip URL like constructs"
-msgstr "bá»\99 lá»\8dc Ä\91á»\83 bá»\8f qua các Ä\91á»\93 kiá»\83u Ä\91á»\8ba chá»\89 Mạng"
+msgstr "bá»\99 lá»\8dc Ä\91á»\83 bá»\8f qua các Ä\91á»\8ba chá»\89 Mạng URL nhÆ° là các cấu trúc"
#: modules/filter/modes/ccpp.amf:8
msgid "mode for checking C++ comments and string literals"
-msgstr "chế độ để kiểm tra chú thích C++ và đồ nghĩa chữ trong chuỗi"
+msgstr "chế độ để kiểm tra chú thích C++ và chuỗi văn bản"
#: modules/filter/modes/comment.amf:5
msgid "mode to check any lines starting with a #"
msgid "mode for checking HTML documents"
msgstr "chế độ để kiểm tra tài liệu HTML"
+#: modules/filter/modes/markdown.amf:10
+#, fuzzy
+#| msgid "mode for checking Nroff documents"
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr "chế độ để kiểm tra tài liệu Nroff"
+
#: modules/filter/modes/none.amf:5
msgid "mode to disable all filters"
msgstr "chế độ để tắt mọi bộ lọc"
msgstr ""
"Project-Id-Version: aspell 0.60.2-b20041203\n"
"Report-Msgid-Bugs-To: kevina@gnu.org\n"
-"POT-Creation-Date: 2011-07-04 03:25-0600\n"
+"POT-Creation-Date: 2019-07-29 02:38-0400\n"
"PO-Revision-Date: 2004-12-06 17:51+0100\n"
"Last-Translator: Pablo Saratxaga <pablo@walon.org>\n"
"Language-Team: Walloon <linux-wa@walon.org>\n"
+"Language: wa\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
#: common/info.cpp:232
msgid "a number between 0 and 1"
msgid "ASPELL_CONF env var"
msgstr "variåve d' evironmint ASPELL_CONF"
-#. TRANSLATORS: The remaing strings in config.cpp should be kept
+#. TRANSLATORS: The remaining strings in config.cpp should be kept
#. under 50 characters, begin with a lower case character and not
#. include any trailing punctuation marks.
#: common/config.cpp:1360
#. TRANSLATORS: It is OK if this is longer than 50 chars
#: common/config.cpp:1388
msgid "ignore accents when checking words -- CURRENTLY IGNORED"
-msgstr ""
-"èn nén tni conte des accints po verifyî les mots -- ÈN ROTE NÉN POL MOUMINT"
+msgstr "èn nén tni conte des accints po verifyî les mots -- ÈN ROTE NÉN POL MOUMINT"
#: common/config.cpp:1390
msgid "ignore case when checking words"
msgid "time load time and suggest time in pipe mode"
msgstr ""
-#: common/convert.cpp:303 common/convert.cpp:429
+#: common/convert.cpp:303 common/convert.cpp:497
#, c-format
-msgid ""
-"This could also mean that the file \"%s\" could not be opened for reading or "
-"does not exist."
+msgid "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
msgstr ""
-#: common/convert.cpp:552 common/convert.cpp:659 common/convert.cpp:705
+#: common/convert.cpp:582 common/convert.cpp:689 common/convert.cpp:735
#, c-format
msgid "The Unicode code point U+%04X is unsupported."
msgstr "Li caractere unicôde U+%04X n' est nén sopoirté."
-#: common/convert.cpp:829
-#, c-format
+#: common/convert.cpp:859
+#, fuzzy, c-format
+#| msgid "Invalid UTF-8 sequence at position %d."
msgid "Invalid UTF-8 sequence at position %ld."
-msgstr "Secwince UTF-8 nén valide al pôzucion %ld."
+msgstr "Secwince UTF-8 nén valide al pôzucion %d."
#: common/errors.cpp:27
msgid "Operation Not Supported: %what:1"
msgstr ""
#: common/errors.cpp:147
-msgid ""
-"The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%"
-"key:1\"."
+msgid "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
msgstr ""
#: common/errors.cpp:163
msgstr "Li clé «%key:1» n' est nén ene djivêye."
#: common/errors.cpp:195
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"reset-"
-"\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
msgstr ""
#: common/errors.cpp:203
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by an \"enable-"
-"\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by an \"enable-\"."
msgstr ""
#: common/errors.cpp:211
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" "
-"or \"disable-\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
msgstr ""
#: common/errors.cpp:219
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"clear-"
-"\"."
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
msgstr ""
#: common/errors.cpp:235
#: common/errors.cpp:299
#, c-format
-msgid ""
-"The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be "
-"stripped."
+msgid "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
msgstr ""
#: common/errors.cpp:307
#, c-format
-msgid ""
-"The file \"%file:1\" is not in the proper format. Expected the file to be in "
-"\"%exp:2\" not \"%got:3\"."
+msgid "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
msgstr ""
#: common/errors.cpp:323
msgstr ""
#: common/errors.cpp:675
-msgid ""
-"\"%mode:1\": Magic \"%magic:2\": bad regular expression after location "
-"specifier; regexp reports: \"%regerr:3\"."
+msgid "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
msgstr ""
#: common/errors.cpp:691
msgid "Unhandled Error: "
msgstr ""
-#: prog/aspell.cpp:97
+#: prog/aspell.cpp:98
#, c-format
msgid "Error: %s\n"
msgstr "Aroke: %s\n"
-#: prog/aspell.cpp:102
+#: prog/aspell.cpp:103
msgid "Error: "
msgstr "Aroke: "
-#: prog/aspell.cpp:203
+#: prog/aspell.cpp:204
msgid "enter Email mode."
msgstr ""
-#: prog/aspell.cpp:204
+#: prog/aspell.cpp:205
msgid "enter HTML mode."
msgstr ""
-#: prog/aspell.cpp:205
+#: prog/aspell.cpp:206
msgid "enter TeX mode."
msgstr ""
-#: prog/aspell.cpp:206
+#: prog/aspell.cpp:207
msgid "enter Nroff mode."
msgstr ""
-#: prog/aspell.cpp:312
+#: prog/aspell.cpp:313
#, c-format
msgid "Invalid Option: %s"
msgstr "Tchuze nén valide: %s"
-#: prog/aspell.cpp:319
+#: prog/aspell.cpp:320
msgid " does not take any parameters."
msgstr ""
-#: prog/aspell.cpp:332 prog/aspell.cpp:392
+#: prog/aspell.cpp:333 prog/aspell.cpp:393
#, c-format
msgid "You must specify a parameter for \"%s\"."
msgstr "Vos dvoz specifyî on paramete po «%s»."
-#: prog/aspell.cpp:381
+#: prog/aspell.cpp:382
msgid "You must specify an action"
msgstr "Vos dvoz specifyî ene accion"
-#: prog/aspell.cpp:389 prog/aspell.cpp:452 prog/aspell.cpp:474
+#: prog/aspell.cpp:390 prog/aspell.cpp:453 prog/aspell.cpp:475
#, c-format
msgid "Unknown Action: %s"
msgstr "Accion nén cnoxhowe: %s"
-#: prog/aspell.cpp:395
+#: prog/aspell.cpp:396
#, c-format
msgid "Error: You must specify at least %d parameters for \"%s\".\n"
msgstr ""
-#: prog/aspell.cpp:637
+#: prog/aspell.cpp:638
msgid "Invalid Input"
msgstr ""
-#: prog/aspell.cpp:710
+#: prog/aspell.cpp:711
#, c-format
msgid "WARNING: Unable to enter Nroff mode: %s\n"
msgstr ""
-#: prog/aspell.cpp:731
+#: prog/aspell.cpp:732
msgid "Time to load word list: "
msgstr ""
-#: prog/aspell.cpp:929
+#: prog/aspell.cpp:930
#, c-format
msgid "Suggestion Time: %f\n"
msgstr ""
-#: prog/aspell.cpp:972
+#: prog/aspell.cpp:973
msgid "You must specify a file name."
msgstr "Vos dvoz dner on no d' fitchî."
-#: prog/aspell.cpp:975
+#: prog/aspell.cpp:976
msgid "Only one file name may be specified."
msgstr ""
-#: prog/aspell.cpp:985
+#: prog/aspell.cpp:986
#, c-format
msgid "Could not open the file \"%s\" for reading"
msgstr ""
-#: prog/aspell.cpp:998
+#: prog/aspell.cpp:999
#, c-format
msgid "Invalid keymapping: %s"
msgstr ""
-#: prog/aspell.cpp:1020
+#: prog/aspell.cpp:1014
+#, c-format
+msgid "\"%s\" is not a regular file"
+msgstr ""
+
+#: prog/aspell.cpp:1025
#, c-format
msgid "Could not open the file \"%s\" for writing. File not saved."
msgstr ""
-#: prog/aspell.cpp:1033
+#: prog/aspell.cpp:1038
msgid "Ignore"
msgstr "Passer houte"
-#: prog/aspell.cpp:1034
+#: prog/aspell.cpp:1039
msgid "Ignore all"
msgstr "Passer houte totavå"
-#: prog/aspell.cpp:1035
+#: prog/aspell.cpp:1040
msgid "Replace"
msgstr "Replaecî"
-#: prog/aspell.cpp:1036
+#: prog/aspell.cpp:1041
msgid "Replace all"
msgstr "Replaecî totavå"
-#: prog/aspell.cpp:1037
+#: prog/aspell.cpp:1042
msgid "Add"
msgstr "Radjouter"
-#: prog/aspell.cpp:1038
+#: prog/aspell.cpp:1043
msgid "Add Lower"
msgstr "Radjouter e ptitès letes"
-#: prog/aspell.cpp:1039
+#: prog/aspell.cpp:1044
msgid "Abort"
msgstr "Rinoncî"
-#: prog/aspell.cpp:1040
+#: prog/aspell.cpp:1045
msgid "Exit"
msgstr "Moussî foû"
-#: prog/aspell.cpp:1116
+#: prog/aspell.cpp:1121
msgid "Are you sure you want to abort (y/n)? "
msgstr "Estoz vs seur di voleur rinoncî (o/n)? "
#. TRANSLATORS: The user may input any of these characters to say "yes".
#. MUST ONLY CONSIST OF ASCII CHARACTERS.
-#: prog/aspell.cpp:1120
+#: prog/aspell.cpp:1125
msgid "Yy"
msgstr "OoAaYyWw"
-#: prog/aspell.cpp:1148
+#: prog/aspell.cpp:1153
msgid "With: "
msgstr "Avou: "
-#: prog/aspell.cpp:1165
+#: prog/aspell.cpp:1170
msgid "Sorry that is an invalid choice!"
msgstr ""
-#: prog/aspell.cpp:1386
+#: prog/aspell.cpp:1391
msgid "Sorry \"filter\" is currently unimplemented.\n"
msgstr ""
-#: prog/aspell.cpp:1520
+#: prog/aspell.cpp:1525
msgid "Can't merge a master word list yet. Sorry."
msgstr ""
-#: prog/aspell.cpp:1544
+#: prog/aspell.cpp:1549
msgid "Sorry \"create/merge personal\" is currently unimplemented.\n"
msgstr ""
-#: prog/aspell.cpp:1553 prog/aspell.cpp:1609
+#: prog/aspell.cpp:1558 prog/aspell.cpp:1614
#, c-format
msgid "Sorry I won't overwrite \"%s\""
msgstr "Mande escuzes, mins dji n' sipotchrè nén «%s»"
-#: prog/aspell.cpp:1600
+#: prog/aspell.cpp:1605
msgid "Sorry \"create/merge repl\" is currently unimplemented.\n"
msgstr ""
-#: prog/aspell.cpp:1872
+#: prog/aspell.cpp:1877
#, c-format
msgid "\"%s\" is not a valid flag for the \"munch-list\" command."
msgstr ""
#. TRANSLATORS: These should all be formated to fit in 80 column or
#. less
-#: prog/aspell.cpp:2799
+#: prog/aspell.cpp:2804
msgid "Usage: aspell [options] <command>"
msgstr "Po s' è siervi: aspell [tchuzes] <comande>"
-#: prog/aspell.cpp:2800
+#: prog/aspell.cpp:2805
msgid "<command> is one of:"
msgstr "<comande> c' est ene di:"
-#: prog/aspell.cpp:2801
+#: prog/aspell.cpp:2806
msgid " -?|usage display a brief usage message"
msgstr " -?|usage håynêye on rascourti messaedje d' aidance"
-#: prog/aspell.cpp:2802
+#: prog/aspell.cpp:2807
msgid " help display a detailed help message"
msgstr " help håynêye on longou messaedje d' aidance"
-#: prog/aspell.cpp:2803
+#: prog/aspell.cpp:2808
msgid " -c|check <file> to check a file"
msgstr " -c|check <fitchî> po verifyî on fitchî"
-#: prog/aspell.cpp:2804
+#: prog/aspell.cpp:2809
msgid " -a|pipe \"ispell -a\" compatibility mode"
msgstr " -a|pipe môde copatibe avou «ispell -a»"
-#: prog/aspell.cpp:2805
+#: prog/aspell.cpp:2810
msgid " [dump] config dumps the current configuration to stdout"
msgstr ""
-#: prog/aspell.cpp:2806
+#: prog/aspell.cpp:2811
msgid " config <key> prints the current value of an option"
msgstr ""
-#: prog/aspell.cpp:2807
+#: prog/aspell.cpp:2812
msgid " [dump] dicts | filters | modes"
msgstr ""
-#: prog/aspell.cpp:2808
+#: prog/aspell.cpp:2813
msgid " lists available dictionaries / filters / filter modes"
msgstr ""
-#: prog/aspell.cpp:2809
+#: prog/aspell.cpp:2814
msgid "[options] is any of the following:"
msgstr "[tchuzes] c' est ene des tchuzes ki shuvèt:"
-#: prog/aspell.cpp:2822
-msgid ""
-" list produce a list of misspelled words from standard input"
-msgstr ""
-" list fwait-st ene djivêye di mots avou des flotches so "
-"l' intrêye standård"
+#: prog/aspell.cpp:2827
+msgid " list produce a list of misspelled words from standard input"
+msgstr " list fwait-st ene djivêye di mots avou des flotches so l' intrêye standård"
-#: prog/aspell.cpp:2825
-msgid ""
-" soundslike returns the sounds like equivalent for each word entered"
+#: prog/aspell.cpp:2830
+msgid " soundslike returns the sounds like equivalent for each word entered"
msgstr ""
-#: prog/aspell.cpp:2826
+#: prog/aspell.cpp:2831
msgid " munch generate possible root words and affixes"
msgstr ""
-#: prog/aspell.cpp:2827
+#: prog/aspell.cpp:2832
msgid " expand [1-4] expands affix flags"
msgstr ""
-#: prog/aspell.cpp:2828
-msgid ""
-" clean [strict] cleans a word list so that every line is a valid word"
+#: prog/aspell.cpp:2833
+msgid " clean [strict] cleans a word list so that every line is a valid word"
msgstr ""
-#: prog/aspell.cpp:2830
+#: prog/aspell.cpp:2835
msgid " -v|version prints a version line"
msgstr " -v|version mostere li modêye do programe"
-#: prog/aspell.cpp:2831
+#: prog/aspell.cpp:2836
msgid " munch-list [simple] [single|multi] [keep]"
msgstr ""
-#: prog/aspell.cpp:2832
+#: prog/aspell.cpp:2837
msgid " reduce the size of a word list via affix compression"
msgstr ""
-#: prog/aspell.cpp:2833
+#: prog/aspell.cpp:2838
msgid " conv <from> <to> [<norm-form>]"
msgstr ""
-#: prog/aspell.cpp:2834
+#: prog/aspell.cpp:2839
msgid " converts from one encoding to another"
msgstr ""
-#: prog/aspell.cpp:2835
+#: prog/aspell.cpp:2840
msgid " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
msgstr ""
-#: prog/aspell.cpp:2836
+#: prog/aspell.cpp:2841
msgid " perform Unicode normalization"
msgstr ""
-#: prog/aspell.cpp:2839
+#: prog/aspell.cpp:2844
msgid " dump|create|merge master|personal|repl [<name>]"
msgstr ""
-#: prog/aspell.cpp:2840
-msgid ""
-" dumps, creates or merges a master, personal, or replacement dictionary."
+#: prog/aspell.cpp:2845
+msgid " dumps, creates or merges a master, personal, or replacement dictionary."
msgstr ""
#. TRANSLATORS: "none", "internal" and "strict" are literal values
#. and should not be translated.
-#: prog/aspell.cpp:2844
-msgid ""
-" <norm-form> normalization form to use, either none, internal, or "
-"strict"
+#: prog/aspell.cpp:2849
+msgid " <norm-form> normalization form to use, either none, internal, or strict"
msgstr ""
-#: prog/aspell.cpp:2854
-#, c-format
+#: prog/aspell.cpp:2859
+#, fuzzy, c-format
+#| msgid ""
+#| "\n"
+#| "Aspell %s. Copyright 2000-2004 by Kevin Atkinson.\n"
+#| "\n"
msgid ""
"\n"
"Aspell %s. Copyright 2000-2011 by Kevin Atkinson.\n"
"\n"
msgstr ""
"\n"
-"Aspell %s. © 2000-2011 pa Kevin Atkinson.\n"
+"Aspell %s. © 2000-2004 pa Kevin Atkinson.\n"
"\n"
-#: prog/aspell.cpp:2888
+#: prog/aspell.cpp:2893
msgid ""
"Available Dictionaries:\n"
" Dictionaries can be selected directly via the \"-d\" or \"master\"\n"
" \"variety\", and \"size\" options.\n"
msgstr ""
"Motîs k' i gn a:\n"
-" Les motîs polèt esse tchoezi directumint avou l' tchuze «-d» ou "
-"«master».\n"
-" I polèt eto esse tchoezi indirectumint avou l' tchuze "
-"«lang» (lingaedje),\n"
+" Les motîs polèt esse tchoezi directumint avou l' tchuze «-d» ou «master».\n"
+" I polèt eto esse tchoezi indirectumint avou l' tchuze «lang» (lingaedje),\n"
" «variety» (variyante) ou co «size» (grandeu).\n"
-#: prog/aspell.cpp:2909
+#: prog/aspell.cpp:2914
msgid ""
"Available Filters (and associated options):\n"
" Filters can be added or removed via the \"filter\" option.\n"
msgstr ""
"Passetes k' i gn a (eyet leus tchuzes):\n"
-" Les passetes polèt esse radjoutêyes ou oistêyes avou l' tchuze "
-"«filter».\n"
+" Les passetes polèt esse radjoutêyes ou oistêyes avou l' tchuze «filter».\n"
-#: prog/aspell.cpp:2916
+#: prog/aspell.cpp:2921
#, c-format
msgid ""
"\n"
" %s passete: %s\n"
#. TRANSLATORS: This should be formated to fit in 80 column or less
-#: prog/aspell.cpp:2933
+#: prog/aspell.cpp:2938
msgid ""
"Available Filter Modes:\n"
" Filter Modes are reconfigured combinations of filters optimized for\n"
msgstr ""
"Môdes passet k' i gn a:\n"
" Les môdes passete sont des rarindjmints des passetes optimijhîs po\n"
-" des fitchîs d' en sôre dinêye. On môde est tchoezi avou l' tchuze "
-"«mode».\n"
+" des fitchîs d' en sôre dinêye. On môde est tchoezi avou l' tchuze «mode».\n"
" Aspell tchoezixh tot seu li bon môde s' il arive a ricnoxhe li sôre do\n"
" fitchî a pårti di s' cawete, ou di çou k' i gn a-st å dvins.\n"
#: modules/speller/default/language.cpp:494
#: modules/speller/default/language.cpp:503
#, c-format
-msgid ""
-"The character '%s' (U+%02X) must be followed by an alphabetic character."
-msgstr ""
-"Li caractere «%s» (U+%04X) doet esse shuvou d' on caractere alfabetike."
+msgid "The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgstr "Li caractere «%s» (U+%04X) doet esse shuvou d' on caractere alfabetike."
#: modules/speller/default/language.cpp:496
msgid "Does not contain any alphabetic characters."
msgstr "Li caractere «%s» (U+%04X) èn pout nén esse å mitan d' on mot."
#: modules/speller/default/language.cpp:508
-msgid ""
-"The character '\\r' (U+0D) may not appear at the end of a word. This "
-"probably means means that the file is using MS-DOS EOL instead of Unix EOL."
-msgstr ""
-"Li caractere «\\r» (U+000D) èn pout nén esse al fén d' on mot. Probåblumint "
-"ki c' est paski l' fitchî eploye des féns d' roye MS-DOS el plaece di féns "
-"d' roye Unix."
+msgid "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgstr "Li caractere «\\r» (U+000D) èn pout nén esse al fén d' on mot. Probåblumint ki c' est paski l' fitchî eploye des féns d' roye MS-DOS el plaece di féns d' roye Unix."
#: modules/speller/default/language.cpp:511
#, c-format
msgid "Warning: Removing inapplicable affix '%s' from word %s.\n"
msgstr ""
-#: modules/speller/default/language.cpp:674
+#: modules/speller/default/language.cpp:675
#, c-format
msgid "Warning: %s Skipping string.\n"
msgstr ""
-#: modules/speller/default/language.cpp:732
+#: modules/speller/default/language.cpp:733
msgid "The total length is larger than 240 characters."
msgstr "Li longueur totåle est di pus d' 240 caracteres."
-#: modules/speller/default/language.cpp:736
+#: modules/speller/default/language.cpp:737
#, c-format
msgid "Warning: %s Skipping word.\n"
msgstr ""
msgstr ""
#: modules/speller/default/readonly_ws.cpp:362
+msgid "Incompatible hash function."
+msgstr ""
+
+#: modules/speller/default/readonly_ws.cpp:440
msgid "Wrong endian order."
msgstr ""
-#: modules/speller/default/readonly_ws.cpp:385
+#: modules/speller/default/readonly_ws.cpp:463
msgid "Wrong soundslike."
msgstr "Mwais soundslike."
-#: modules/speller/default/readonly_ws.cpp:391
+#: modules/speller/default/readonly_ws.cpp:469
msgid "Wrong soundslike version."
msgstr "Mwaijhe modêye des dnêyes fonetikes (soundslike)."
-#: modules/speller/default/readonly_ws.cpp:853
+#: modules/speller/default/readonly_ws.cpp:934
msgid "Affix flags found in word but no affix file given."
-msgstr ""
-"Des drapeas trovés dins l' djivêye di mots, mins pont d' fitchî d' definixha "
-"des drapeas."
+msgstr "Des drapeas trovés dins l' djivêye di mots, mins pont d' fitchî d' definixha des drapeas."
-#: modules/speller/default/readonly_ws.cpp:891
-msgid ""
-"The total word length, with soundslike data, is larger than 240 characters."
-msgstr ""
-"Li longueur totåle doi mot, avou les dnêyes fonetikes, est di pus d' 240 "
-"caracteres."
+#: modules/speller/default/readonly_ws.cpp:972
+msgid "The total word length, with soundslike data, is larger than 240 characters."
+msgstr "Li longueur totåle doi mot, avou les dnêyes fonetikes, est di pus d' 240 caracteres."
#: modules/speller/default/multi_ws.cpp:58
msgid "There must be at least one \"add\" line."
msgid "HTML tags to always skip the contents of"
msgstr "etiketes HTML a tofer passer houte leu contnou"
+#: modules/filter/markdown-filter.info:8
+#, fuzzy
+#| msgid "filter for dealing with Texinfo documents"
+msgid "filter for Markdown/CommonMark documents"
+msgstr "passete po les documints Texinfo"
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
+msgstr ""
+
#: modules/filter/nroff-filter.info:7
msgid "filter for dealing with Nroff documents"
msgstr "passete po les documints Nroff"
#: modules/filter/modes/ccpp.amf:8
msgid "mode for checking C++ comments and string literals"
-msgstr ""
-"môde pol verifiaedje des comintaires eyet tchinnes di tecse des fitchîs C++"
+msgstr "môde pol verifiaedje des comintaires eyet tchinnes di tecse des fitchîs C++"
#: modules/filter/modes/comment.amf:5
msgid "mode to check any lines starting with a #"
msgid "mode for checking HTML documents"
msgstr "môde pol verifiaedje des documints HTML"
+#: modules/filter/modes/markdown.amf:10
+#, fuzzy
+#| msgid "mode for checking Nroff documents"
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr "môde pol verifiaedje des documints Nroff"
+
#: modules/filter/modes/none.amf:5
msgid "mode to disable all filters"
msgstr "môde po dismete totes les passetes"
#: modules/filter/modes/perl.amf:8
msgid "mode for checking Perl comments and string literals"
-msgstr ""
-"môde pol verifiaedje des comintaires eyet tchinnes di tecse dins des fitchîs "
-"perl"
+msgstr "môde pol verifiaedje des comintaires eyet tchinnes di tecse dins des fitchîs perl"
#: modules/filter/modes/sgml.amf:8
msgid "mode for checking generic SGML/XML documents"
# Chinese simplified translation for aspell.
# Copyright (C) 2011 Kevin Atkinson
# This file is distributed under the same license as the aspell package.
-# Wylmer Wang <wantinghard@gmail.com>, 2011.
+# Boyuan Yang <073plan@gmail.com>, 2017.
+# Wylmer Wang <wantinghard@gmail.com>, 2011, 2013.
+# lite <litekok@gmail.com>, 2013.
#
msgid ""
msgstr ""
-"Project-Id-Version: aspell-0.60.6\n"
+"Project-Id-Version: aspell-0.60.7\n"
"Report-Msgid-Bugs-To: kevina@gnu.org\n"
-"POT-Creation-Date: 2011-07-04 03:25-0600\n"
-"PO-Revision-Date: 2011-06-23 10:30+0800\n"
-"Last-Translator: Wylmer Wang <wantinghard@gmail.com>\n"
+"POT-Creation-Date: 2019-07-29 02:38-0400\n"
+"PO-Revision-Date: 2017-11-15 10:44+0800\n"
+"Last-Translator: Boyuan Yang <073plan@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
+"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: zh_CN\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"X-Generator: Poedit 2.0.4\n"
#: common/info.cpp:232
msgid "a number between 0 and 1"
#: common/config.cpp:74
msgid "list"
-msgstr ""
+msgstr "列表"
#. TRANSLATORS: "true" and "false" are literal
#. * values and should not be translated.
"# configured as follows:\n"
"\n"
msgstr ""
+"\n"
+"#######################################################################\n"
+"#\n"
+"# 过滤器: %s\n"
+"# %s\n"
+"#\n"
+"# 配置如下:\n"
+"\n"
#: common/config.cpp:1286
msgid "ASPELL_CONF env var"
msgstr "ASPELL_CONF 环境变量"
-#. TRANSLATORS: The remaing strings in config.cpp should be kept
+#. TRANSLATORS: The remaining strings in config.cpp should be kept
#. under 50 characters, begin with a lower case character and not
#. include any trailing punctuation marks.
#: common/config.cpp:1360
#: common/config.cpp:1369
msgid "location of the main word list"
-msgstr ""
+msgstr "主单词表的位置"
#: common/config.cpp:1371
msgid "encoding to expect data to be in"
-msgstr ""
+msgstr "数据应使用的编码"
#: common/config.cpp:1373
msgid "add or removes a filter"
-msgstr ""
+msgstr "添加或移除一个过滤器"
#: common/config.cpp:1375
msgid "path(s) aspell looks for filters"
-msgstr ""
+msgstr "aspell 查找过滤器的路径"
#: common/config.cpp:1379
msgid "filter mode"
-msgstr ""
+msgstr "过滤器模式"
#: common/config.cpp:1381
msgid "extra dictionaries to use"
#. TRANSLATORS: It is OK if this is longer than 50 chars
#: common/config.cpp:1388
msgid "ignore accents when checking words -- CURRENTLY IGNORED"
-msgstr ""
+msgstr "单词检查时忽略声调 - 当前已忽略"
#: common/config.cpp:1390
msgid "ignore case when checking words"
#: common/config.cpp:1392
msgid "ignore commands to store replacement pairs"
-msgstr ""
+msgstr "忽略保存替换配对的命令"
#: common/config.cpp:1394 common/config.cpp:1461
msgid "extra information for the word list"
-msgstr ""
+msgstr "单词表的额外信息"
#: common/config.cpp:1396
msgid "keyboard definition to use for typo analysis"
-msgstr ""
+msgstr "用于错字分析的键盘定义"
#: common/config.cpp:1398
msgid "language code"
#: common/config.cpp:1400
msgid "deprecated, use lang instead"
-msgstr ""
+msgstr "已弃用,请改用 lang"
#: common/config.cpp:1402
msgid "location of local language data files"
-msgstr ""
+msgstr "本地语言数据文件的位置"
#: common/config.cpp:1404
msgid "base name of the main dictionary to use"
#: common/config.cpp:1412
msgid "enable Unicode normalization"
-msgstr ""
+msgstr "启用 Unicode 规范化"
#: common/config.cpp:1414
msgid "Unicode normalization required for current lang"
-msgstr ""
+msgstr "当前语言所需的 Unicode 规范化"
#. TRANSLATORS: the values after the ':' are literal
#. values and should not be translated.
#: common/config.cpp:1418
msgid "Unicode normalization form: none, nfd, nfc, comp"
-msgstr ""
+msgstr "Unicode 规范化形式: none, nfd, nfc, comp"
#: common/config.cpp:1420
msgid "avoid lossy conversions when normalization"
-msgstr ""
+msgstr "规范化时避免有损转换"
#: common/config.cpp:1422
msgid "personal configuration file"
#: common/config.cpp:1430
msgid "replacements list file name"
-msgstr ""
+msgstr "替换列表文件名"
#: common/config.cpp:1433
msgid "consider run-together words legal"
-msgstr ""
+msgstr "考虑同时出现单词的语法正确性"
#: common/config.cpp:1435
msgid "maximum number that can be strung together"
-msgstr ""
+msgstr "可以串在一起的最大数目"
#: common/config.cpp:1437
msgid "minimal length of interior words"
-msgstr ""
+msgstr "内部单词的最小长度"
#: common/config.cpp:1439
msgid "save replacement pairs on save all"
-msgstr ""
+msgstr "保存所有同时保存替换配对"
#: common/config.cpp:1441
msgid "set the prefix based on executable location"
#: common/config.cpp:1443
msgid "size of the word list"
-msgstr ""
+msgstr "单词表的大小"
#: common/config.cpp:1445
msgid "no longer used"
#. translated.
#: common/config.cpp:1451
msgid "edit distance to use, override sug-mode default"
-msgstr ""
+msgstr "编辑要使用的距离,覆盖 sug-mode 默认值"
#: common/config.cpp:1453
msgid "use typo analysis, override sug-mode default"
-msgstr ""
+msgstr "使用错字分析,覆盖 sug-mode 默认值"
#: common/config.cpp:1455
msgid "use replacement tables, override sug-mode default"
-msgstr ""
+msgstr "使用替换表,覆盖 sug-mode 默认值"
#: common/config.cpp:1457
msgid "characters to insert when a word is split"
-msgstr ""
+msgstr "当一个单词被分割时插入的字符"
#: common/config.cpp:1459
msgid "use personal, replacement & session dictionaries"
-msgstr ""
+msgstr "使用个人,替换和会话词典"
#: common/config.cpp:1463
msgid "search path for word list information files"
-msgstr ""
+msgstr "单词表信息文件的搜索路径"
#: common/config.cpp:1465
msgid "enable warnings"
#. TRANSLATORS: It is OK if this is longer than 50 chars
#: common/config.cpp:1475
msgid "indicator for affix flags in word lists -- CURRENTLY IGNORED"
-msgstr ""
+msgstr "在单词表中词缀标志的指示 - 目前已忽略"
#: common/config.cpp:1477
msgid "use affix compression when creating dictionaries"
-msgstr ""
+msgstr "创建字典时使用词缀压缩"
#: common/config.cpp:1479
msgid "remove invalid affix flags"
-msgstr ""
+msgstr "移除不合法的词缀标志"
#: common/config.cpp:1481
msgid "attempts to clean words so that they are valid"
-msgstr ""
+msgstr "尝试清理单词以确保它们有效"
#: common/config.cpp:1483
msgid "compute soundslike on demand rather than storing"
-msgstr ""
+msgstr "需要时计算 soundslike,而不是存储"
#: common/config.cpp:1485
msgid "partially expand affixes for better suggestions"
-msgstr ""
+msgstr "部分扩展词缀以得到更好的建议"
#: common/config.cpp:1487
msgid "skip invalid words"
#: common/config.cpp:1489
msgid "check if affix flags are valid"
-msgstr ""
+msgstr "检查词缀标志是否有效"
#: common/config.cpp:1491
msgid "check if words are valid"
#: common/config.cpp:1502
msgid "create missing root/affix combinations"
-msgstr ""
+msgstr "创建丢失的根/词缀组合"
#: common/config.cpp:1504
msgid "keymapping for check mode: \"aspell\" or \"ispell\""
-msgstr ""
+msgstr "检查模式的键盘映射:“aspell”或“ispell”"
#: common/config.cpp:1506
msgid "reverse the order of the suggest list"
-msgstr ""
+msgstr "反向排序建议列表"
#: common/config.cpp:1508
msgid "suggest possible replacements"
-msgstr ""
+msgstr "建议可能的替换"
#: common/config.cpp:1510
msgid "time load time and suggest time in pipe mode"
-msgstr ""
+msgstr "计算管道模式下的加载时间和建议时间"
-#: common/convert.cpp:303 common/convert.cpp:429
+#: common/convert.cpp:303 common/convert.cpp:497
#, c-format
-msgid ""
-"This could also mean that the file \"%s\" could not be opened for reading or "
-"does not exist."
-msgstr ""
+msgid "This could also mean that the file \"%s\" could not be opened for reading or does not exist."
+msgstr "这也可能意味着文件“%s”无法打开读取或不存在。"
-#: common/convert.cpp:552 common/convert.cpp:659 common/convert.cpp:705
+#: common/convert.cpp:582 common/convert.cpp:689 common/convert.cpp:735
#, c-format
msgid "The Unicode code point U+%04X is unsupported."
-msgstr ""
+msgstr "不支持的 Unicode 码点 U+%04X 。"
-#: common/convert.cpp:829
+#: common/convert.cpp:859
#, c-format
msgid "Invalid UTF-8 sequence at position %ld."
-msgstr "位置 %ld 处的 UTF-8 序列无效。"
+msgstr "位置 %ld 处的 UTF-8 序列无效。"
#: common/errors.cpp:27
msgid "Operation Not Supported: %what:1"
#: common/errors.cpp:59
#, c-format
msgid "The file \"%file:1\" can not be opened"
-msgstr "æ\89\93ä¸\8d开文件“%file:1”"
+msgstr "æ\97 æ³\95æ\89\93开文件“%file:1”"
#: common/errors.cpp:67
#, c-format
#: common/errors.cpp:123
msgid "The key \"%key:1\" is unknown."
-msgstr ""
+msgstr "键“%key:1”是未知的。"
#: common/errors.cpp:131
msgid "The value for option \"%key:1\" can not be changed."
-msgstr ""
+msgstr "选项“%key:1”的值不能改变。"
#: common/errors.cpp:139
msgid "The key \"%key:1\" is not %accepted:2 and is thus invalid."
-msgstr ""
+msgstr "键“%key:1”不能 %accepted:2 所以不合法。"
#: common/errors.cpp:147
-msgid ""
-"The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%"
-"key:1\"."
-msgstr ""
+msgid "The value \"%value:2\" is not %accepted:3 and is thus invalid for the key \"%key:1\"."
+msgstr "值“%value:2”不能 %accepted:3 所以“%key:1”不合法。"
#: common/errors.cpp:163
msgid "The key \"%key:1\" is not a string."
-msgstr ""
+msgstr "键“%key:1”不是一个字符串。"
#: common/errors.cpp:171
msgid "The key \"%key:1\" is not an integer."
-msgstr ""
+msgstr "键“%key:1”不是一个整数。"
#: common/errors.cpp:179
msgid "The key \"%key:1\" is not a boolean."
-msgstr ""
+msgstr "键“%key:1”不是一个布尔值。"
#: common/errors.cpp:187
msgid "The key \"%key:1\" is not a list."
-msgstr ""
+msgstr "键“%key:1”不是一个列表。"
#: common/errors.cpp:195
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"reset-"
-"\"."
-msgstr ""
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"reset-\"."
+msgstr "当键“%key:1”前缀为“reset-”时不带任何参数。"
#: common/errors.cpp:203
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by an \"enable-"
-"\"."
-msgstr ""
+msgid "The key \"%key:1\" does not take any parameters when prefixed by an \"enable-\"."
+msgstr "当键“%key:1”前缀为“enable-”时不带任何参数。"
#: common/errors.cpp:211
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" "
-"or \"disable-\"."
-msgstr ""
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"dont-\" or \"disable-\"."
+msgstr "当键“%key:1”前缀为“dont-”或“disable-”时不带任何参数。"
#: common/errors.cpp:219
-msgid ""
-"The key \"%key:1\" does not take any parameters when prefixed by a \"clear-"
-"\"."
-msgstr ""
+msgid "The key \"%key:1\" does not take any parameters when prefixed by a \"clear-\"."
+msgstr "当键“%key:1”前缀为“clear-”时不带任何参数。"
#: common/errors.cpp:235
#, c-format
#: common/errors.cpp:243
#, c-format
msgid "The soundslike \"%sl:2\" is not known."
-msgstr ""
+msgstr "soundslike “%sl:2”未知。"
#: common/errors.cpp:251
#, c-format
#: common/errors.cpp:259
#, c-format
msgid "No word lists can be found for the language \"%lang:1\"."
-msgstr ""
+msgstr "没有找到语言“%lang:1”的单词表。"
#: common/errors.cpp:267
#, c-format
msgid "Expected language \"%lang:1\" but got \"%prev:2\"."
-msgstr ""
+msgstr "语言应为“%lang:1”但实际是“%prev:2”。"
#: common/errors.cpp:283
#, c-format
msgid "Affix '%aff:1' is corrupt."
-msgstr ""
+msgstr "词缀 '%aff:1' 被损坏。"
#: common/errors.cpp:291
#, c-format
#: common/errors.cpp:299
#, c-format
-msgid ""
-"The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be "
-"stripped."
-msgstr ""
+msgid "The condition \"%cond:1\" does not guarantee that \"%strip:2\" can always be stripped."
+msgstr "条件“%cond:1”不能保证“%strip:2“总能被截取。"
#: common/errors.cpp:307
#, c-format
-msgid ""
-"The file \"%file:1\" is not in the proper format. Expected the file to be in "
-"\"%exp:2\" not \"%got:3\"."
-msgstr ""
+msgid "The file \"%file:1\" is not in the proper format. Expected the file to be in \"%exp:2\" not \"%got:3\"."
+msgstr "文件“%file:1”格式不正确。文件应在“%exp:2”中,而不是“%got:3”。"
#: common/errors.cpp:323
#, c-format
#: common/errors.cpp:395
msgid "The affix flag '%aff:1' is invalid for word \"%word:2\"."
-msgstr ""
+msgstr "词缀标志‘%aff:1’对单词“%word:2”无效。"
#: common/errors.cpp:403
msgid "The affix flag '%aff:1' can not be applied to word \"%word:2\"."
-msgstr ""
+msgstr "词缀标志‘%aff:1’不能应用于单词“%word:2”。"
#: common/errors.cpp:451
msgid "not a version number"
#: common/errors.cpp:475
#, c-format
msgid "The file \"%filter:1\" does not contain any filters."
-msgstr ""
+msgstr "文件“%filter:1”不包含任何过滤器。"
#: common/errors.cpp:483
#, c-format
msgid "The filter \"%filter:1\" does not exist."
-msgstr ""
+msgstr "过滤器“%filter:1”不存在。"
#: common/errors.cpp:491 common/errors.cpp:587
msgid "Confused by version control."
-msgstr ""
+msgstr "版本控制混乱。"
#: common/errors.cpp:499
msgid "Aspell version does not match filter's requirement."
-msgstr ""
+msgstr "Aspell 版本不匹配过滤器的需求。"
#: common/errors.cpp:507
msgid "Filter option already exists."
-msgstr ""
+msgstr "过滤器选项已经存在。"
#: common/errors.cpp:515
msgid "Use option modifiers only within named option."
-msgstr ""
+msgstr "仅在命名选项使用选项修正器。"
#: common/errors.cpp:523
msgid "Option modifier unknown."
-msgstr ""
+msgstr "未知选项修正器。"
#: common/errors.cpp:531
msgid "Error setting filter description."
-msgstr ""
+msgstr "设置过滤器描述出错。"
#: common/errors.cpp:547
msgid "Empty option specifier."
-msgstr ""
+msgstr "空白选项说明符。"
#: common/errors.cpp:555
#, c-format
msgid "Option \"%option:1\" possibly specified prior to filter."
-msgstr ""
+msgstr "选项“%option:1”可能在过滤器前指定。"
#: common/errors.cpp:563
msgid "Unknown mode description key \"%key:1\"."
-msgstr ""
+msgstr "未知的模式描述键“%key:1”。"
#: common/errors.cpp:571
#, c-format
msgid "Expecting \"%modekey:1\" key."
-msgstr ""
+msgstr "应为“%modekey:1”键。"
#: common/errors.cpp:579
msgid "Version specifier missing key: \"aspell\"."
-msgstr ""
+msgstr "版本说明缺少键值:“aspell”。"
#: common/errors.cpp:595
msgid "Aspell version does not match mode's requirement."
#: common/errors.cpp:603
msgid "Missing magic mode expression."
-msgstr ""
+msgstr "缺少魔法模式表达式。"
#: common/errors.cpp:611
#, c-format
msgid "Empty extension at char %char:1."
-msgstr ""
+msgstr "在字符 %char:1 处的扩展为空。"
#: common/errors.cpp:619
#, c-format
#: common/errors.cpp:635
#, c-format
msgid "\"%mode:1\" error while extend Aspell modes. (out of memory?)"
-msgstr ""
+msgstr "扩展 Aspell 模式时“%mode:1”出错。(内存不足?)"
#: common/errors.cpp:651
#, c-format
msgid "\"%mode:1\": no start for magic search given for magic \"%magic:2\"."
-msgstr ""
+msgstr "“%mode:1”: 用于魔法“%magic:2”的魔法搜索没有开始。 "
#: common/errors.cpp:659
#, c-format
msgid "\"%mode:1\": no range for magic search given for magic \"%magic:2\"."
-msgstr ""
+msgstr "“%mode:1”: 用于魔法“%magic:2”的魔法搜索没有指定范围。"
#: common/errors.cpp:667
#, c-format
msgid "\"%mode:1\": no magic expression available for magic \"%magic:2\"."
-msgstr ""
+msgstr "“%mode:1”: 没有可用的魔法“%magic:2”的魔法表达式。"
#: common/errors.cpp:675
-msgid ""
-"\"%mode:1\": Magic \"%magic:2\": bad regular expression after location "
-"specifier; regexp reports: \"%regerr:3\"."
-msgstr ""
+msgid "\"%mode:1\": Magic \"%magic:2\": bad regular expression after location specifier; regexp reports: \"%regerr:3\"."
+msgstr "“%mode:1”: 魔法“%magic:2”: 在位置说明符后出现错误的正则表达式; 正则表达式输出:“%regerr:3”。"
#: common/errors.cpp:691
#, c-format
msgid "\"%expression:1\" is not a valid regular expression."
-msgstr ""
+msgstr "“%expression:1”不是一个合法的正则表达式。"
#: common/posib_err.cpp:100
msgid "Unhandled Error: "
msgstr "无法处理的错误:"
-#: prog/aspell.cpp:97
+#: prog/aspell.cpp:98
#, c-format
msgid "Error: %s\n"
msgstr "错误:%s\n"
-#: prog/aspell.cpp:102
+#: prog/aspell.cpp:103
msgid "Error: "
msgstr "错误:"
-#: prog/aspell.cpp:203
+#: prog/aspell.cpp:204
msgid "enter Email mode."
msgstr "进入邮件模式。"
-#: prog/aspell.cpp:204
+#: prog/aspell.cpp:205
msgid "enter HTML mode."
msgstr "进入 HTML 模式。"
-#: prog/aspell.cpp:205
+#: prog/aspell.cpp:206
msgid "enter TeX mode."
msgstr "进入 TeX 模式。"
-#: prog/aspell.cpp:206
+#: prog/aspell.cpp:207
msgid "enter Nroff mode."
msgstr "进入 Nroff 模式。"
-#: prog/aspell.cpp:312
+#: prog/aspell.cpp:313
#, c-format
msgid "Invalid Option: %s"
msgstr "无效选项:%s"
-#: prog/aspell.cpp:319
+#: prog/aspell.cpp:320
msgid " does not take any parameters."
msgstr "不带任何参数。"
-#: prog/aspell.cpp:332 prog/aspell.cpp:392
+#: prog/aspell.cpp:333 prog/aspell.cpp:393
#, c-format
msgid "You must specify a parameter for \"%s\"."
msgstr "您必须为“%s”指定一个参数。"
-#: prog/aspell.cpp:381
+#: prog/aspell.cpp:382
msgid "You must specify an action"
msgstr "您必须指定一项操作"
-#: prog/aspell.cpp:389 prog/aspell.cpp:452 prog/aspell.cpp:474
+#: prog/aspell.cpp:390 prog/aspell.cpp:453 prog/aspell.cpp:475
#, c-format
msgid "Unknown Action: %s"
msgstr "未知操作:%s"
-#: prog/aspell.cpp:395
+#: prog/aspell.cpp:396
#, c-format
msgid "Error: You must specify at least %d parameters for \"%s\".\n"
msgstr "错误:您必须为“%2$s”提供至少“%1$d”个参数。\n"
-#: prog/aspell.cpp:637
+#: prog/aspell.cpp:638
msgid "Invalid Input"
msgstr "无效输入"
-#: prog/aspell.cpp:710
+#: prog/aspell.cpp:711
#, c-format
msgid "WARNING: Unable to enter Nroff mode: %s\n"
msgstr "警告:无法进入 Nroff 模式:%s\n"
-#: prog/aspell.cpp:731
+#: prog/aspell.cpp:732
msgid "Time to load word list: "
-msgstr ""
+msgstr "加载单词表的时间:"
-#: prog/aspell.cpp:929
+#: prog/aspell.cpp:930
#, c-format
msgid "Suggestion Time: %f\n"
msgstr "建议时间:%f\n"
-#: prog/aspell.cpp:972
+#: prog/aspell.cpp:973
msgid "You must specify a file name."
msgstr "您必须指定一个文件名。"
-#: prog/aspell.cpp:975
+#: prog/aspell.cpp:976
msgid "Only one file name may be specified."
msgstr "只可指定一个文件名。"
-#: prog/aspell.cpp:985
+#: prog/aspell.cpp:986
#, c-format
msgid "Could not open the file \"%s\" for reading"
msgstr "无法打开文件“%s”进行读取"
-#: prog/aspell.cpp:998
+#: prog/aspell.cpp:999
#, c-format
msgid "Invalid keymapping: %s"
-msgstr ""
+msgstr "无效的键盘映射: %s"
-#: prog/aspell.cpp:1020
+#: prog/aspell.cpp:1014
+#, fuzzy, c-format
+#| msgid "\"%expression:1\" is not a valid regular expression."
+msgid "\"%s\" is not a regular file"
+msgstr "“%expression:1”不是一个合法的正则表达式。"
+
+#: prog/aspell.cpp:1025
#, c-format
msgid "Could not open the file \"%s\" for writing. File not saved."
msgstr "无法打开文件“%s”进行写入。文件未保存。"
-#: prog/aspell.cpp:1033
+#: prog/aspell.cpp:1038
msgid "Ignore"
msgstr "忽略"
-#: prog/aspell.cpp:1034
+#: prog/aspell.cpp:1039
msgid "Ignore all"
msgstr "全部忽略"
-#: prog/aspell.cpp:1035
+#: prog/aspell.cpp:1040
msgid "Replace"
msgstr "替换"
-#: prog/aspell.cpp:1036
+#: prog/aspell.cpp:1041
msgid "Replace all"
msgstr "全部替换"
-#: prog/aspell.cpp:1037
+#: prog/aspell.cpp:1042
msgid "Add"
msgstr "添加"
-#: prog/aspell.cpp:1038
+#: prog/aspell.cpp:1043
msgid "Add Lower"
-msgstr ""
+msgstr "添加更少"
-#: prog/aspell.cpp:1039
+#: prog/aspell.cpp:1044
msgid "Abort"
msgstr "中止"
-#: prog/aspell.cpp:1040
+#: prog/aspell.cpp:1045
msgid "Exit"
msgstr "退出"
-#: prog/aspell.cpp:1116
+#: prog/aspell.cpp:1121
msgid "Are you sure you want to abort (y/n)? "
msgstr "您确定要中止吗(y/n)?"
#. TRANSLATORS: The user may input any of these characters to say "yes".
#. MUST ONLY CONSIST OF ASCII CHARACTERS.
-#: prog/aspell.cpp:1120
+#: prog/aspell.cpp:1125
msgid "Yy"
msgstr "Yy"
-#: prog/aspell.cpp:1148
+#: prog/aspell.cpp:1153
msgid "With: "
-msgstr ""
+msgstr "使用:"
-#: prog/aspell.cpp:1165
+#: prog/aspell.cpp:1170
msgid "Sorry that is an invalid choice!"
msgstr "抱歉,此选择无效!"
-#: prog/aspell.cpp:1386
+#: prog/aspell.cpp:1391
msgid "Sorry \"filter\" is currently unimplemented.\n"
-msgstr ""
+msgstr "抱歉,当前没有实现“过滤器”。\n"
-#: prog/aspell.cpp:1520
+#: prog/aspell.cpp:1525
msgid "Can't merge a master word list yet. Sorry."
-msgstr ""
+msgstr "抱歉,当前无法合并一个主单词表。"
-#: prog/aspell.cpp:1544
+#: prog/aspell.cpp:1549
msgid "Sorry \"create/merge personal\" is currently unimplemented.\n"
-msgstr ""
+msgstr "抱歉,当前没有实现“创建/合并个人”。\n"
-#: prog/aspell.cpp:1553 prog/aspell.cpp:1609
+#: prog/aspell.cpp:1558 prog/aspell.cpp:1614
#, c-format
msgid "Sorry I won't overwrite \"%s\""
-msgstr ""
+msgstr "抱歉,程序不能覆盖“%s”"
-#: prog/aspell.cpp:1600
+#: prog/aspell.cpp:1605
msgid "Sorry \"create/merge repl\" is currently unimplemented.\n"
-msgstr ""
+msgstr "抱歉,当前没有实现“创建/合并 repl”。\n"
-#: prog/aspell.cpp:1872
+#: prog/aspell.cpp:1877
#, c-format
msgid "\"%s\" is not a valid flag for the \"munch-list\" command."
-msgstr ""
+msgstr "“%s”不是一个合法的“munch-list”命令标志。"
#. TRANSLATORS: These should all be formated to fit in 80 column or
#. less
-#: prog/aspell.cpp:2799
+#: prog/aspell.cpp:2804
msgid "Usage: aspell [options] <command>"
msgstr "用法:aspell [选项] <命令>"
-#: prog/aspell.cpp:2800
+#: prog/aspell.cpp:2805
msgid "<command> is one of:"
msgstr "<命令>是以下之一:"
-#: prog/aspell.cpp:2801
+#: prog/aspell.cpp:2806
msgid " -?|usage display a brief usage message"
msgstr " -?|usage 显示简明用法消息"
-#: prog/aspell.cpp:2802
+#: prog/aspell.cpp:2807
msgid " help display a detailed help message"
msgstr " help 显示详尽帮助消息"
-#: prog/aspell.cpp:2803
+#: prog/aspell.cpp:2808
msgid " -c|check <file> to check a file"
msgstr " -c|check <文件> 检查一个文件"
-#: prog/aspell.cpp:2804
+#: prog/aspell.cpp:2809
msgid " -a|pipe \"ispell -a\" compatibility mode"
msgstr " -a|pipe “ispell -a”兼容模式"
-#: prog/aspell.cpp:2805
+#: prog/aspell.cpp:2810
msgid " [dump] config dumps the current configuration to stdout"
-msgstr ""
+msgstr " [dump] config 转储当前配置到标准输出"
-#: prog/aspell.cpp:2806
+#: prog/aspell.cpp:2811
msgid " config <key> prints the current value of an option"
msgstr " config <key> 打印某个选项的当前值"
-#: prog/aspell.cpp:2807
+#: prog/aspell.cpp:2812
msgid " [dump] dicts | filters | modes"
msgstr " [dump] dicts | filters | modes"
-#: prog/aspell.cpp:2808
+#: prog/aspell.cpp:2813
msgid " lists available dictionaries / filters / filter modes"
-msgstr ""
+msgstr " 列出可用的字典/过滤器/过滤器模式"
-#: prog/aspell.cpp:2809
+#: prog/aspell.cpp:2814
msgid "[options] is any of the following:"
msgstr "[选项]是以下之一:"
-#: prog/aspell.cpp:2822
-msgid ""
-" list produce a list of misspelled words from standard input"
-msgstr ""
+#: prog/aspell.cpp:2827
+msgid " list produce a list of misspelled words from standard input"
+msgstr " list 从标准输入产生一个拼写错误的单词表"
-#: prog/aspell.cpp:2825
-msgid ""
-" soundslike returns the sounds like equivalent for each word entered"
-msgstr ""
+#: prog/aspell.cpp:2830
+msgid " soundslike returns the sounds like equivalent for each word entered"
+msgstr " soundslike 返回每个输入单词近似的声音"
-#: prog/aspell.cpp:2826
+#: prog/aspell.cpp:2831
msgid " munch generate possible root words and affixes"
-msgstr ""
+msgstr " munch 产生可能的词根和词缀"
-#: prog/aspell.cpp:2827
+#: prog/aspell.cpp:2832
msgid " expand [1-4] expands affix flags"
-msgstr ""
+msgstr " expand [1-4] 扩展词缀标志"
-#: prog/aspell.cpp:2828
-msgid ""
-" clean [strict] cleans a word list so that every line is a valid word"
-msgstr ""
+#: prog/aspell.cpp:2833
+msgid " clean [strict] cleans a word list so that every line is a valid word"
+msgstr " clean [strict] 清除一个单词表,使每行都是一个合法单词"
-#: prog/aspell.cpp:2830
+#: prog/aspell.cpp:2835
msgid " -v|version prints a version line"
msgstr " -v|version 打印一行版本信息"
-#: prog/aspell.cpp:2831
+#: prog/aspell.cpp:2836
msgid " munch-list [simple] [single|multi] [keep]"
-msgstr ""
+msgstr " munch-list [simple] [single|multi] [keep]"
-#: prog/aspell.cpp:2832
+#: prog/aspell.cpp:2837
msgid " reduce the size of a word list via affix compression"
-msgstr ""
+msgstr " 通过词缀压缩减少一个单词表的大小"
-#: prog/aspell.cpp:2833
+#: prog/aspell.cpp:2838
msgid " conv <from> <to> [<norm-form>]"
msgstr " conv <from> <to> [<norm-form>]"
-#: prog/aspell.cpp:2834
+#: prog/aspell.cpp:2839
msgid " converts from one encoding to another"
-msgstr ""
+msgstr " 从一种编码转换到另一个"
-#: prog/aspell.cpp:2835
+#: prog/aspell.cpp:2840
msgid " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
msgstr " norm (<norm-map> | <from> <norm-map> <to>) [<norm-form>]"
-#: prog/aspell.cpp:2836
+#: prog/aspell.cpp:2841
msgid " perform Unicode normalization"
-msgstr ""
+msgstr " 执行Unicode正规化"
-#: prog/aspell.cpp:2839
+#: prog/aspell.cpp:2844
msgid " dump|create|merge master|personal|repl [<name>]"
-msgstr ""
+msgstr " dump|create|merge master|personal|repl [<name>]"
-#: prog/aspell.cpp:2840
-msgid ""
-" dumps, creates or merges a master, personal, or replacement dictionary."
-msgstr ""
+#: prog/aspell.cpp:2845
+msgid " dumps, creates or merges a master, personal, or replacement dictionary."
+msgstr " 转储,创建或合并主字典,个人字典,或置换字典。"
#. TRANSLATORS: "none", "internal" and "strict" are literal values
#. and should not be translated.
-#: prog/aspell.cpp:2844
-msgid ""
-" <norm-form> normalization form to use, either none, internal, or "
-"strict"
-msgstr ""
+#: prog/aspell.cpp:2849
+msgid " <norm-form> normalization form to use, either none, internal, or strict"
+msgstr " <norm-form> 要使用的规范化形式,可以为none,internal,或 strict"
-#: prog/aspell.cpp:2854
+#: prog/aspell.cpp:2859
#, c-format
msgid ""
"\n"
"Aspell %s. Copyright 2000-2011 by Kevin Atkinson.\n"
"\n"
msgstr ""
+"\n"
+"Aspell %s. 版权所有 2000-2011 Kevin Atkinson。\n"
+"\n"
-#: prog/aspell.cpp:2888
+#: prog/aspell.cpp:2893
msgid ""
"Available Dictionaries:\n"
" Dictionaries can be selected directly via the \"-d\" or \"master\"\n"
" option. They can also be selected indirectly via the \"lang\",\n"
" \"variety\", and \"size\" options.\n"
msgstr ""
+"可用字典:\n"
+" 可以直接通过“-d”或“master”选项选择字典。\n"
+" 也可以间接通过“lang”,“variety”, 和“size”选项来选择它们。\n"
-#: prog/aspell.cpp:2909
+#: prog/aspell.cpp:2914
msgid ""
"Available Filters (and associated options):\n"
" Filters can be added or removed via the \"filter\" option.\n"
msgstr ""
+"可用过滤器(以及相关的选项):\n"
+" 可以通过“过滤器”选项添加或删除过滤器。\n"
-#: prog/aspell.cpp:2916
+#: prog/aspell.cpp:2921
#, c-format
msgid ""
"\n"
" %s filter: %s\n"
msgstr ""
+"\n"
+"%s 过滤器: %s\n"
#. TRANSLATORS: This should be formated to fit in 80 column or less
-#: prog/aspell.cpp:2933
+#: prog/aspell.cpp:2938
msgid ""
"Available Filter Modes:\n"
" Filter Modes are reconfigured combinations of filters optimized for\n"
" This will happen implicitly if Aspell is able to identify the file\n"
" type from the extension, and possibility the contents, of the file.\n"
msgstr ""
+"可用的过滤模式:\n"
+" 过滤模式是某一特定类型的文件做组合优化的重新配置的组合。\n"
+" 通过“模式”选项来选择一个模式。如果 Aspell 能够通过\n"
+" 扩展名或文件可能的内容来识别该文件,会自动进行。\n"
#: prog/check_funs.cpp:287
msgid "Error: Stdin not a terminal."
-msgstr ""
+msgstr "错误:标准输入不是一个终端。"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:774
msgid "Enter"
-msgstr ""
+msgstr "回车键"
#: prog/check_funs.cpp:776
msgid "Accept Changes"
-msgstr ""
+msgstr "接受改变"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:779
msgid "Backspace"
-msgstr ""
+msgstr "退格键"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:781
msgid "Control-H"
-msgstr ""
+msgstr "Ctrl-H"
#: prog/check_funs.cpp:782
msgid "Delete the previous character"
-msgstr ""
+msgstr "删除前一个字符"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:785
msgid "Left"
-msgstr ""
+msgstr "左"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:787
msgid "Control-B"
-msgstr ""
+msgstr "Ctrl-B"
#: prog/check_funs.cpp:788
msgid "Move Back one space"
-msgstr ""
+msgstr "向后移动一个空格"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:791
msgid "Right"
-msgstr ""
+msgstr "右"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:793
msgid "Control-F"
-msgstr ""
+msgstr "Ctrl-F"
#: prog/check_funs.cpp:794
msgid "Move Forward one space"
-msgstr ""
+msgstr "向前移动一个空格"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:797
msgid "Home"
-msgstr ""
+msgstr "行首"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:799
msgid "Control-A"
-msgstr ""
+msgstr "Ctrl-A"
#: prog/check_funs.cpp:800
msgid "Move to the beginning of the line"
-msgstr ""
+msgstr "移动到行的开头"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:803
msgid "End"
-msgstr ""
+msgstr "行末"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:805
msgid "Control-E"
-msgstr ""
+msgstr "Ctrl-E"
#: prog/check_funs.cpp:806
msgid "Move to the end of the line"
-msgstr ""
+msgstr "移动到行的结束"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:809
msgid "Delete"
-msgstr ""
+msgstr "删除"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:811
msgid "Control-D"
-msgstr ""
+msgstr "Ctrl-D"
#: prog/check_funs.cpp:812
msgid "Delete the next character"
-msgstr ""
+msgstr "删除下一个字符"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:816
msgid "Control-K"
-msgstr ""
+msgstr "Ctrl-K"
#: prog/check_funs.cpp:817
msgid "Kill all characters to the EOL"
-msgstr ""
+msgstr "去掉到行末的所有字符"
#. TRANSLATORS: This is a literal Key.
#: prog/check_funs.cpp:821
msgid "Control-C"
-msgstr ""
+msgstr "Ctrl-C"
#: prog/check_funs.cpp:822
msgid "Abort This Operation"
-msgstr ""
+msgstr "取消本次操作"
#: modules/speller/default/language.cpp:103
msgid "This is probably because: "
-msgstr ""
+msgstr "这可能是因为:"
#: modules/speller/default/language.cpp:110
msgid "The required field \"name\" is missing."
-msgstr ""
+msgstr "缺少所需的字段“名称”。"
#: modules/speller/default/language.cpp:488
msgid "Empty string."
-msgstr ""
+msgstr "空白字符串。"
#: modules/speller/default/language.cpp:492
#, c-format
msgid "The character '%s' (U+%02X) may not appear at the beginning of a word."
-msgstr ""
+msgstr "字符 '%s' (U+%02X) 不会出现在单词的开始。"
#: modules/speller/default/language.cpp:494
#: modules/speller/default/language.cpp:503
#, c-format
-msgid ""
-"The character '%s' (U+%02X) must be followed by an alphabetic character."
-msgstr ""
+msgid "The character '%s' (U+%02X) must be followed by an alphabetic character."
+msgstr "字符 '%s' (U+%02X) 后必须是一个字母字符。"
#: modules/speller/default/language.cpp:496
msgid "Does not contain any alphabetic characters."
-msgstr ""
+msgstr "不包含任何字母字符。"
#: modules/speller/default/language.cpp:501
#, c-format
msgid "The character '%s' (U+%02X) may not appear in the middle of a word."
-msgstr ""
+msgstr "字符 '%s' (U+%02X) 不能出现在单词的中间。"
#: modules/speller/default/language.cpp:508
-msgid ""
-"The character '\\r' (U+0D) may not appear at the end of a word. This "
-"probably means means that the file is using MS-DOS EOL instead of Unix EOL."
-msgstr ""
+msgid "The character '\\r' (U+0D) may not appear at the end of a word. This probably means means that the file is using MS-DOS EOL instead of Unix EOL."
+msgstr "字符 '\r' (U+0D) 不能出现在单词的结束。也许是使用了MS-DOS结束符,而不是Unix结束符。"
#: modules/speller/default/language.cpp:511
#, c-format
msgid "The character '%s' (U+%02X) may not appear at the end of a word."
-msgstr ""
+msgstr "字符 '%s' (U+%02X) 不能出现在单词的结束。"
#: modules/speller/default/language.cpp:543
#, c-format
msgid "Warning: Removing invalid affix '%s' from word %s.\n"
-msgstr ""
+msgstr "警告:将要从单词 %2$s 中删除非法的词缀 '%1$s'。\n"
#: modules/speller/default/language.cpp:544
#, c-format
msgid "Warning: Removing inapplicable affix '%s' from word %s.\n"
-msgstr ""
+msgstr "警告:将要删除单词 %2$s中不可用的词缀 '%1$s'。\n"
-#: modules/speller/default/language.cpp:674
+#: modules/speller/default/language.cpp:675
#, c-format
msgid "Warning: %s Skipping string.\n"
-msgstr ""
+msgstr "警告:%s 将跳过字符串。\n"
-#: modules/speller/default/language.cpp:732
+#: modules/speller/default/language.cpp:733
msgid "The total length is larger than 240 characters."
-msgstr ""
+msgstr "总长度超过了 240 个字符。"
-#: modules/speller/default/language.cpp:736
+#: modules/speller/default/language.cpp:737
#, c-format
msgid "Warning: %s Skipping word.\n"
-msgstr ""
+msgstr "警告:%s 将跳过单词。\n"
#: modules/speller/default/affix.cpp:426
msgid "Possibly incorrect count."
-msgstr ""
+msgstr "可能计数不正确。"
#: modules/speller/default/readonly_ws.cpp:362
+msgid "Incompatible hash function."
+msgstr "不兼容的散列(hash)函数。"
+
+#: modules/speller/default/readonly_ws.cpp:440
msgid "Wrong endian order."
-msgstr ""
+msgstr "错误的字节序。"
-#: modules/speller/default/readonly_ws.cpp:385
+#: modules/speller/default/readonly_ws.cpp:463
msgid "Wrong soundslike."
-msgstr ""
+msgstr "错误的 soundslike。"
-#: modules/speller/default/readonly_ws.cpp:391
+#: modules/speller/default/readonly_ws.cpp:469
msgid "Wrong soundslike version."
-msgstr ""
+msgstr "错误的 soundslike 版本。"
-#: modules/speller/default/readonly_ws.cpp:853
+#: modules/speller/default/readonly_ws.cpp:934
msgid "Affix flags found in word but no affix file given."
-msgstr ""
+msgstr "在单词中发现词缀标志,但没有给出词缀文件。"
-#: modules/speller/default/readonly_ws.cpp:891
-msgid ""
-"The total word length, with soundslike data, is larger than 240 characters."
-msgstr ""
+#: modules/speller/default/readonly_ws.cpp:972
+msgid "The total word length, with soundslike data, is larger than 240 characters."
+msgstr "带 soundslike 数据的总单词长度大于 240 个字符。"
#: modules/speller/default/multi_ws.cpp:58
msgid "There must be at least one \"add\" line."
-msgstr ""
+msgstr "必须有至少一行“添加”行。"
#: modules/speller/default/suggest.cpp:1403
msgid "one of ultra, fast, normal, slow, or bad-spellers"
-msgstr ""
+msgstr "ultra、fast、normal、slow 或 bad-spellers 其中之一"
#: modules/speller/default/data.cpp:404
msgid "is not one of the allowed types"
-msgstr ""
+msgstr "不是允许的类型之一。"
#: modules/speller/default/speller_impl.cpp:241
msgid "The personal word list is unavailable."
-msgstr ""
+msgstr "个人词汇表不可用。"
#: modules/speller/default/speller_impl.cpp:248
msgid "The session word list is unavailable."
-msgstr ""
+msgstr "会话词汇表不可用。"
#: modules/speller/default/speller_impl.cpp:255
msgid "The main word list is unavailable."
-msgstr ""
+msgstr "主词汇表是不可用的。"
#: modules/filter/tex.cpp:255 modules/filter/tex.cpp:262
msgid "a string of 'o','O','p',or 'P'"
-msgstr ""
+msgstr "'o','O','p',或 'P' 组成的一个字符串"
#. TRANSLATORS: Like the strings in config.cpp, all strings in *-filter.opt
#. should be under 50 characters, begin with a lower case character and
#. not include any trailing punctuation marks.
#: modules/filter/context-filter.info:7
msgid "experimental filter for hiding delimited contexts"
-msgstr ""
+msgstr "隐藏分隔的上下文的实验性过滤器"
#: modules/filter/context-filter.info:13
msgid "context delimiters (separated by spaces)"
-msgstr ""
+msgstr "上下文分隔符(由空格分隔)"
#: modules/filter/context-filter.info:21
msgid "swaps visible and invisible text"
-msgstr ""
+msgstr "交换可见和不可见的文本"
#: modules/filter/email-filter.info:7
msgid "filter for skipping quoted text in email messages"
-msgstr ""
+msgstr "电子邮件消息中跳过引用文字的过滤器"
#: modules/filter/email-filter.info:13
msgid "email quote characters"
-msgstr ""
+msgstr "电子邮件引号字符"
#: modules/filter/email-filter.info:21
msgid "num chars that can appear before the quote char"
-msgstr ""
+msgstr "可以出现在引号字符前的数字字符"
#: modules/filter/html-filter.info:9
msgid "filter for dealing with HTML documents"
-msgstr ""
+msgstr "处理 HTML 文档的过滤器"
#: modules/filter/html-filter.info:15
msgid "HTML attributes to always check"
-msgstr ""
+msgstr "总是检查的 HTML 属性"
#: modules/filter/html-filter.info:21
msgid "HTML tags to always skip the contents of"
+msgstr "总是忽略其内容的 HTML 标签"
+
+#: modules/filter/markdown-filter.info:8
+#, fuzzy
+#| msgid "filter for dealing with Texinfo documents"
+msgid "filter for Markdown/CommonMark documents"
+msgstr "用于处理 Texinfo 文档的过滤器"
+
+#: modules/filter/markdown-filter.info:14
+msgid "skip link labels in link reference definitions"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:20
+msgid "support tags that span multiple lines outside of HTML blocks"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:26
+msgid "html tags that start a HTML block that allows blank lines"
+msgstr ""
+
+#: modules/filter/markdown-filter.info:34
+msgid "html tags that start a HTML block that end with a blank line"
msgstr ""
#: modules/filter/nroff-filter.info:7
msgid "filter for dealing with Nroff documents"
-msgstr ""
+msgstr "用于处理 Nroff 文档的过滤器"
#: modules/filter/sgml-filter.info:9
msgid "filter for dealing with generic SGML/XML documents"
-msgstr ""
+msgstr "用于处理通用 SGML/XML 文档的过滤器"
#: modules/filter/sgml-filter.info:15
msgid "SGML attributes to always check"
-msgstr ""
+msgstr "总是检查的 SGML 属性"
#: modules/filter/sgml-filter.info:20
msgid "SGML tags to always skip the contents of"
-msgstr ""
+msgstr "总是忽略其内容的 SGML 标签"
#: modules/filter/tex-filter.info:7
msgid "filter for dealing with TeX/LaTeX documents"
-msgstr ""
+msgstr "用于处理 TeX/LaTeX 文档的过滤器"
#: modules/filter/tex-filter.info:15
msgid "check TeX comments"
-msgstr ""
+msgstr "检查 TeX 注释"
#: modules/filter/tex-filter.info:21
msgid "TeX commands"
-msgstr ""
+msgstr "TeX 命令"
#: modules/filter/texinfo-filter.info:7
msgid "filter for dealing with Texinfo documents"
-msgstr ""
+msgstr "用于处理 Texinfo 文档的过滤器"
#: modules/filter/texinfo-filter.info:13
msgid "Texinfo commands to ignore the parameters of"
-msgstr ""
+msgstr "要忽略参数的 Texinfo 命令"
#: modules/filter/texinfo-filter.info:41
msgid "Texinfo environments to ignore"
-msgstr ""
+msgstr "要忽略的 Texinfo 环境"
#: modules/filter/url-filter.info:7
msgid "filter to skip URL like constructs"
-msgstr ""
+msgstr "跳过类似 URL 结构的过滤器"
#: modules/filter/modes/ccpp.amf:8
msgid "mode for checking C++ comments and string literals"
-msgstr ""
+msgstr "用于检查 C++ 注释和字符串字面值的模式"
#: modules/filter/modes/comment.amf:5
msgid "mode to check any lines starting with a #"
-msgstr ""
+msgstr "检查任何以 # 开头的行的模式"
#: modules/filter/modes/email.amf:5
msgid "mode for skipping quoted text in email messages"
-msgstr ""
+msgstr "在电子邮件中跳过引用文字的模式"
#: modules/filter/modes/html.amf:10
msgid "mode for checking HTML documents"
-msgstr ""
+msgstr "查看 HTML 文档的模式"
+
+#: modules/filter/modes/markdown.amf:10
+#, fuzzy
+#| msgid "mode for checking Nroff documents"
+msgid "mode for checking Markdown/CommonMark documents"
+msgstr "检查 Nroff 文档的模式"
#: modules/filter/modes/none.amf:5
msgid "mode to disable all filters"
-msgstr ""
+msgstr "禁用所有过滤器的模式"
#: modules/filter/modes/nroff.amf:7
msgid "mode for checking Nroff documents"
-msgstr ""
+msgstr "检查 Nroff 文档的模式"
#: modules/filter/modes/perl.amf:8
msgid "mode for checking Perl comments and string literals"
-msgstr ""
+msgstr "检查 Perl 注释和字符串字面值的模式"
#: modules/filter/modes/sgml.amf:8
msgid "mode for checking generic SGML/XML documents"
-msgstr ""
+msgstr "检查通用 SGML/XML 文档的模式"
#: modules/filter/modes/tex.amf:7
msgid "mode for checking TeX/LaTeX documents"
-msgstr ""
+msgstr "检查 TeX/LaTeX 文档的模式"
#: modules/filter/modes/texinfo.amf:7
msgid "mode for checking Texinfo documents"
-msgstr ""
+msgstr "检查 Texinfo 文档的模式"
#: modules/filter/modes/url.amf:5
msgid "mode to skip URL like constructs (default mode)"
-msgstr ""
+msgstr "跳过类似 URL 结构的模式(缺省模式)"
// This file is part of The New Aspell Copyright (C)
-// 2002,2003,2004,2011 by Kevin Atkinson under the GNU LGPL license
+// 2002,2003,2004,2011,2019 by Kevin Atkinson under the GNU LGPL license
// version 2.0 or 2.1. You should have received a copy of the LGPL
// license along with this library if you did not you can find it at
// http://www.gnu.org/.
#include "aspell.h"
+#include <sys/types.h>
+#include <sys/stat.h>
+
#ifdef USE_FILE_INO
-# include <sys/types.h>
-# include <sys/stat.h>
# include <unistd.h>
# include <fcntl.h>
#endif
static const PossibleOption * find_option(const char * str) {
const PossibleOption * i = possible_options;
while (i != possible_options_end
- && !strcmp(str, i->name) == 0)
+ && strcmp(str, i->name) != 0)
++i;
return i;
}
int main (int argc, const char *argv[])
{
- options = new_config(); // this needs to be here becuase of a bug
+ options = new_config(); // this needs to be here because of a bug
// with static initlizers on Darwin.
#ifdef USE_LOCALE
setlocale (LC_ALL, "");
exit(1);
}
-#ifdef USE_FILE_INO
{
struct stat st;
fstat(fileno(in), &st);
+ if (!S_ISREG(st.st_mode)) {
+ print_error(_("\"%s\" is not a regular file"), file_name);
+ exit(-1);
+ }
+#ifdef USE_FILE_INO
int fd = open(new_name.c_str(), O_WRONLY | O_CREAT | O_TRUNC, st.st_mode);
if (fd >= 0) out = fdopen(fd, "w");
- }
#else
- out = fopen(new_name.c_str(), "w");
+ out = fopen(new_name.c_str(), "w");
#endif
+ }
if (!out) {
print_error(_("Could not open the file \"%s\" for writing. File not saved."), file_name);
exit(-1);
}
abort_loop:
{
- state.del(); // to close the file handles
+ state->abort(); // to close the file handles
delete_aspell_speller(speller);
remove_file(new_name);
//
void print_ver () {
- COUT.put("@(#) International Ispell Version 3.1.20 "
- "(but really Aspell " VERSION ")\n");
+ printf("@(#) International Ispell Version 3.1.20 "
+ "(but really Aspell %s)\n", aspell_version_string());
}
///////////////////////////////////////////////////////////////////////
Config * config = options;
Dictionary * per = new_default_writable_dict();
- per->load(config->retrieve("personal-path"), *config);
+ EXIT_ON_ERR(per->load(config->retrieve("personal-path"), *config));
StackPtr<WordEntryEnumeration> els(per->detailed_elements());
StackPtr<Convert> conv(setup_conv(per->lang(), config));
ci = ci->next;
}
// now add the base to the keep list if one exists
- // otherwise just keep the orignal word
+ // otherwise just keep the original word
if (best) {
SML_Table::iterator b = table.find(best->word);
assert(b != table.end());
if (working.size() > 0 && working.size() == prev_working_size)
{
to_keep.push_back(working[0]);
- //CERR.printf("Making greedy choice! Chosing %s/%s.\n",
+ //CERR.printf("Making greedy choice! Choosing %s/%s.\n",
// working[0]->word, working[0]->aff);
merge(to_keep_exp, working[0]->exp);
working.erase(working.begin(), working.begin() + 1);
if (verbose) {
printf(_("\n"
"Aspell %s. Copyright 2000-2011 by Kevin Atkinson.\n"
- "\n"), VERSION);
+ "\n"), aspell_version_string());
for (unsigned i = 0; i < help_text_size; ++i)
puts(gt_(help_text[i]));
} else {
}
}
if (i == width-1) {
- if (word == '\0')
+ if (*word == '\0')
put(out,' ');
else if (word[len] == '\0')
put(out, word, len);
has_repl_ = false;
checker_.reset(new_document_checker(reinterpret_cast<Speller *>(speller)));
- if (cur_line_->real.size()) {
- checker_->process(cur_line_->real.data(), cur_line_->real.size());
+ checker_->process(cur_line_->real.data(), cur_line_->real.size());
+}
+
+void CheckerString::abort() {
+ fclose(in_);
+ in_ = 0;
+ if (out_) {
+ fclose(out_);
+ out_ = 0;
}
}
CheckerString::~CheckerString()
{
+ if (!in_ && !out_)
+ return;
if (out_)
for (cur_line_ = first_line(); !off_end(cur_line_); next_line(cur_line_))
{
bool next_misspelling();
void replace(ParmString repl); // encoded in "real" encoding
+ void abort();
+
char * get_real_word(String & w) {
w.clear();
w.insert(w.end(), real_word_begin_, real_word_begin_ + real_word_size_);
-h --help display help
-d --decompress force decompression
- -z --compress dorce compression
+ -z --compress force compression
-L --license display software license
-V --version display version
-h --help display help
-d --decompress force decompression
- -z --compress dorce compression
+ -z --compress force compression
-L --license display software license
-V --version display version
-h --help display help
-d --decompress force decompression
- -z --compress dorce compression
+ -z --compress force compression
-L --license display software license
-V --version display version
#!/bin/sh
-# aspell list mimicks the standard unix spell program, roughly.
+# aspell list mimics the standard unix spell program, roughly.
cat "$@" | aspell list --mode=none | sort -u